David PHAM-VAN

Move files to the pdf sub-folder

Showing 39 changed files with 70 additions and 55 deletions
@@ -11,3 +11,4 @@ pubspec.lock @@ -11,3 +11,4 @@ pubspec.lock
11 doc/api/ 11 doc/api/
12 12
13 *.pdf 13 *.pdf
  14 +*.ttf
1 -# Pdf creation library for dart / flutter 1 +# Pdf for Dart and Flutter
2 2
3 -This is a low-level Pdf creation library.  
4 -It can create a full multi-pages document with graphics,  
5 -images and text using TrueType fonts. 3 +This set of plugin allows Flutter apps to generate and print pdf files to device printer.
  4 +This plugin works for iOS and Android.
6 5
7 -The coordinate system is using the internal Pdf system:  
8 - * (0.0, 0.0) is bottom-left  
9 - * 1.0 is defined as 1 / 72.0 inch  
10 - * you can use the constants for centimeters, milimeters and inch defined in PDFPageFormat  
11 -  
12 -Example:  
13 -```dart  
14 -final pdf = new PDFDocument();  
15 -final page = new PDFPage(pdf, pageFormat: PDFPageFormat.LETTER);  
16 -final g = page.getGraphics();  
17 -final font = new PDFFont(pdf);  
18 -  
19 -g.setColor(new PDFColor(0.0, 1.0, 1.0));  
20 -g.drawRect(50.0, 30.0, 100.0, 50.0);  
21 -g.fillPath();  
22 -  
23 -g.setColor(new PDFColor(0.3, 0.3, 0.3));  
24 -g.drawString(font, 12.0, "Hello World!", 5.0 * PDFPageFormat.MM, 300.0);  
25 -  
26 -var file = new File('file.pdf');  
27 -file.writeAsBytesSync(pdf.save());  
28 -```  
29 -  
30 -To load an image it is possible to use the dart library `image`  
31 -  
32 -```dart  
33 -Image image = decodeImage(new Io.File('test.webp').readAsBytesSync());  
34 -PDFImage image = new PDFImage(  
35 - pdf,  
36 - image: img.data.buffer.asUint8List(),  
37 - width: img.width,  
38 - height: img.height);  
39 -g.drawImage(image, 100.0, 100.0, 80.0);  
40 -```  
41 -  
42 -To use a TrueType font:  
43 -  
44 -```dart  
45 -PDFTTFFont ttf = new PDFTTFFont(  
46 - pdf,  
47 - (new File("open-sans.ttf").readAsBytesSync() as Uint8List).buffer.asByteData());  
48 -g.setColor(new PDFColor(0.3, 0.3, 0.3));  
49 -g.drawString(ttf, 20.0, "Dart is awesome", 50.0, 30.0);  
50 -```  
  1 +# Pdf creation library for dart / flutter
  2 +
  3 +This is a low-level Pdf creation library.
  4 +It can create a full multi-pages document with graphics,
  5 +images and text using TrueType fonts.
  6 +
  7 +The coordinate system is using the internal Pdf system:
  8 + * (0.0, 0.0) is bottom-left
  9 + * 1.0 is defined as 1 / 72.0 inch
  10 + * you can use the constants for centimeters, milimeters and inch defined in PDFPageFormat
  11 +
  12 +Example:
  13 +```dart
  14 +final pdf = new PDFDocument();
  15 +final page = new PDFPage(pdf, pageFormat: PDFPageFormat.LETTER);
  16 +final g = page.getGraphics();
  17 +final font = new PDFFont(pdf);
  18 +
  19 +g.setColor(new PDFColor(0.0, 1.0, 1.0));
  20 +g.drawRect(50.0, 30.0, 100.0, 50.0);
  21 +g.fillPath();
  22 +
  23 +g.setColor(new PDFColor(0.3, 0.3, 0.3));
  24 +g.drawString(font, 12.0, "Hello World!", 5.0 * PDFPageFormat.MM, 300.0);
  25 +
  26 +var file = new File('file.pdf');
  27 +file.writeAsBytesSync(pdf.save());
  28 +```
  29 +
  30 +To load an image it is possible to use the dart library `image`
  31 +
  32 +```dart
  33 +Image image = decodeImage(new Io.File('test.webp').readAsBytesSync());
  34 +PDFImage image = new PDFImage(
  35 + pdf,
  36 + image: img.data.buffer.asUint8List(),
  37 + width: img.width,
  38 + height: img.height);
  39 +g.drawImage(image, 100.0, 100.0, 80.0);
  40 +```
  41 +
  42 +To use a TrueType font:
  43 +
  44 +```dart
  45 +PDFTTFFont ttf = new PDFTTFFont(
  46 + pdf,
  47 + (new File("open-sans.ttf").readAsBytesSync() as Uint8List).buffer.asByteData());
  48 +g.setColor(new PDFColor(0.3, 0.3, 0.3));
  49 +g.drawString(ttf, 20.0, "Dart is awesome", 50.0, 30.0);
  50 +```
@@ -7,14 +7,17 @@ void main() { @@ -7,14 +7,17 @@ void main() {
7 final page = new PDFPage(pdf, pageFormat: PDFPageFormat.LETTER); 7 final page = new PDFPage(pdf, pageFormat: PDFPageFormat.LETTER);
8 final g = page.getGraphics(); 8 final g = page.getGraphics();
9 final font = new PDFFont(pdf); 9 final font = new PDFFont(pdf);
  10 + final top = page.pageFormat.height;
10 11
11 g.setColor(new PDFColor(0.0, 1.0, 1.0)); 12 g.setColor(new PDFColor(0.0, 1.0, 1.0));
12 - g.drawRect(50.0, 30.0, 100.0, 50.0); 13 + g.drawRect(50.0 * PDFPageFormat.MM, top - 80.0 * PDFPageFormat.MM, 100.0 * PDFPageFormat.MM,
  14 + 50.0 * PDFPageFormat.MM);
13 g.fillPath(); 15 g.fillPath();
14 16
15 g.setColor(new PDFColor(0.3, 0.3, 0.3)); 17 g.setColor(new PDFColor(0.3, 0.3, 0.3));
16 - g.drawString(font, 12.0, "Hello World!", 50.0, 300.0); 18 + g.drawString(
  19 + font, 12.0, "Hello World!", 10.0 * PDFPageFormat.MM, top - 10.0 * PDFPageFormat.MM);
17 20
18 - var file = new File('file.pdf'); 21 + var file = new File('example.pdf');
19 file.writeAsBytesSync(pdf.save()); 22 file.writeAsBytesSync(pdf.save());
20 } 23 }
@@ -68,12 +68,16 @@ class PDFPage extends PDFObject { @@ -68,12 +68,16 @@ class PDFPage extends PDFObject {
68 68
69 /// Returns the page's PageFormat. 69 /// Returns the page's PageFormat.
70 /// @return PageFormat describing the page size in device units (72dpi) 70 /// @return PageFormat describing the page size in device units (72dpi)
  71 + /// use pageFormat
  72 + @deprecated
71 PDFPageFormat getPageFormat() { 73 PDFPageFormat getPageFormat() {
72 return pageFormat; 74 return pageFormat;
73 } 75 }
74 76
75 /// Gets the dimensions of the page. 77 /// Gets the dimensions of the page.
76 /// @return a Dimension object containing the width and height of the page. 78 /// @return a Dimension object containing the width and height of the page.
  79 + /// use pageFormat.dimension
  80 + @deprecated
77 PDFPoint getDimension() => new PDFPoint(pageFormat.width, pageFormat.height); 81 PDFPoint getDimension() => new PDFPoint(pageFormat.width, pageFormat.height);
78 82
79 /// This adds an Annotation to the page. 83 /// This adds an Annotation to the page.
@@ -34,4 +34,6 @@ class PDFPageFormat { @@ -34,4 +34,6 @@ class PDFPageFormat {
34 final double height; 34 final double height;
35 35
36 const PDFPageFormat(this.width, this.height); 36 const PDFPageFormat(this.width, this.height);
  37 +
  38 + PDFPoint get dimension => new PDFPoint(width, height);
37 } 39 }
1 name: pdf 1 name: pdf
2 author: David PHAM-VAN <dev.nfet.net@gmail.com> 2 author: David PHAM-VAN <dev.nfet.net@gmail.com>
3 description: A pdf producer for Dart. It can create pdf files for both web or flutter. 3 description: A pdf producer for Dart. It can create pdf files for both web or flutter.
4 -homepage: https://github.com/davbfr/dart_pdf 4 +homepage: https://github.com/davbfr/dart_pdf/pdf
5 version: 1.0.3 5 version: 1.0.3
6 6
7 environment: 7 environment:
@@ -30,7 +30,7 @@ void main() { @@ -30,7 +30,7 @@ void main() {
30 30
31 var font2 = new PDFTTFFont( 31 var font2 = new PDFTTFFont(
32 pdf, 32 pdf,
33 - (new File("../assets/Nunito-Regular.ttf").readAsBytesSync() as Uint8List) 33 + (new File("open-sans.ttf").readAsBytesSync() as Uint8List)
34 .buffer 34 .buffer
35 .asByteData()); 35 .asByteData());
36 var s = "Hello World!"; 36 var s = "Hello World!";
@@ -17,7 +17,7 @@ void main() { @@ -17,7 +17,7 @@ void main() {
17 var g = page.getGraphics(); 17 var g = page.getGraphics();
18 var ttf = new PDFTTFFont( 18 var ttf = new PDFTTFFont(
19 pdf, 19 pdf,
20 - (new File("../assets/Nunito-Regular.ttf").readAsBytesSync() as Uint8List) 20 + (new File("open-sans.ttf").readAsBytesSync() as Uint8List)
21 .buffer 21 .buffer
22 .asByteData()); 22 .asByteData());
23 var s = "Hello World!"; 23 var s = "Hello World!";
@@ -30,7 +30,7 @@ void main() { @@ -30,7 +30,7 @@ void main() {
30 g.setColor(new PDFColor(0.3, 0.3, 0.3)); 30 g.setColor(new PDFColor(0.3, 0.3, 0.3));
31 g.drawString(ttf, FS, s, 50.0, 30.0); 31 g.drawString(ttf, FS, s, 50.0, 30.0);
32 32
33 - var file = new File('file.pdf'); 33 + var file = new File('file2.pdf');
34 file.writeAsBytesSync(pdf.save()); 34 file.writeAsBytesSync(pdf.save());
35 }); 35 });
36 } 36 }