Showing
13 changed files
with
162 additions
and
137 deletions
| @@ -14,6 +14,7 @@ | @@ -14,6 +14,7 @@ | ||
| 14 | - Reorganize data types | 14 | - Reorganize data types |
| 15 | - Improve Documents conformity | 15 | - Improve Documents conformity |
| 16 | - Make PdfXref a PdfIndirect descendent | 16 | - Make PdfXref a PdfIndirect descendent |
| 17 | +- Move Pdf generation settings to PdfSettings | ||
| 17 | 18 | ||
| 18 | ## 3.9.0 | 19 | ## 3.9.0 |
| 19 | 20 |
| @@ -71,11 +71,17 @@ class PdfDocument { | @@ -71,11 +71,17 @@ class PdfDocument { | ||
| 71 | PdfPageMode pageMode = PdfPageMode.none, | 71 | PdfPageMode pageMode = PdfPageMode.none, |
| 72 | DeflateCallback? deflate, | 72 | DeflateCallback? deflate, |
| 73 | bool compress = true, | 73 | bool compress = true, |
| 74 | - this.verbose = false, | ||
| 75 | - this.version = PdfVersion.pdf_1_5, | ||
| 76 | - }) : deflate = compress ? (deflate ?? defaultDeflate) : null, | ||
| 77 | - prev = null, | 74 | + bool verbose = false, |
| 75 | + PdfVersion version = PdfVersion.pdf_1_5, | ||
| 76 | + }) : prev = null, | ||
| 78 | _objser = 1 { | 77 | _objser = 1 { |
| 78 | + settings = PdfSettings( | ||
| 79 | + deflate: compress ? (deflate ?? defaultDeflate) : null, | ||
| 80 | + verbose: verbose, | ||
| 81 | + version: version, | ||
| 82 | + encryptCallback: (input, object) => | ||
| 83 | + encryption?.encrypt(input, object) ?? input, | ||
| 84 | + ); | ||
| 79 | // create the catalog | 85 | // create the catalog |
| 80 | catalog = PdfCatalog(this, PdfPageList(this), pageMode: pageMode); | 86 | catalog = PdfCatalog(this, PdfPageList(this), pageMode: pageMode); |
| 81 | } | 87 | } |
| @@ -84,10 +90,16 @@ class PdfDocument { | @@ -84,10 +90,16 @@ class PdfDocument { | ||
| 84 | this.prev, { | 90 | this.prev, { |
| 85 | DeflateCallback? deflate, | 91 | DeflateCallback? deflate, |
| 86 | bool compress = true, | 92 | bool compress = true, |
| 87 | - this.verbose = false, | ||
| 88 | - }) : deflate = compress ? (deflate ?? defaultDeflate) : null, | ||
| 89 | - _objser = prev!.size, | ||
| 90 | - version = prev.version { | 93 | + bool verbose = false, |
| 94 | + }) : _objser = prev!.size { | ||
| 95 | + settings = PdfSettings( | ||
| 96 | + deflate: compress ? (deflate ?? defaultDeflate) : null, | ||
| 97 | + verbose: verbose, | ||
| 98 | + version: prev!.version, | ||
| 99 | + encryptCallback: (input, object) => | ||
| 100 | + encryption?.encrypt(input, object) ?? input, | ||
| 101 | + ); | ||
| 102 | + | ||
| 91 | // Import the existing document | 103 | // Import the existing document |
| 92 | prev!.mergeDocument(this); | 104 | prev!.mergeDocument(this); |
| 93 | } | 105 | } |
| @@ -105,8 +117,12 @@ class PdfDocument { | @@ -105,8 +117,12 @@ class PdfDocument { | ||
| 105 | /// This is the Catalog object, which is required by each Pdf Document | 117 | /// This is the Catalog object, which is required by each Pdf Document |
| 106 | late final PdfCatalog catalog; | 118 | late final PdfCatalog catalog; |
| 107 | 119 | ||
| 120 | + /// PDF generation settings | ||
| 121 | + late final PdfSettings settings; | ||
| 122 | + | ||
| 108 | /// PDF version to generate | 123 | /// PDF version to generate |
| 109 | - final PdfVersion version; | 124 | + @Deprecated('Use settings.version') |
| 125 | + PdfVersion get version => settings.version; | ||
| 110 | 126 | ||
| 111 | /// This is the info object. Although this is an optional object, we | 127 | /// This is the info object. Although this is an optional object, we |
| 112 | /// include it. | 128 | /// include it. |
| @@ -129,7 +145,8 @@ class PdfDocument { | @@ -129,7 +145,8 @@ class PdfDocument { | ||
| 129 | /// Callback to compress the stream in the pdf file. | 145 | /// Callback to compress the stream in the pdf file. |
| 130 | /// Use `deflate: zlib.encode` if using dart:io | 146 | /// Use `deflate: zlib.encode` if using dart:io |
| 131 | /// No compression by default | 147 | /// No compression by default |
| 132 | - final DeflateCallback? deflate; | 148 | + @Deprecated('Use settings.deflate') |
| 149 | + DeflateCallback? get deflate => settings.deflate; | ||
| 133 | 150 | ||
| 134 | /// Object used to encrypt the document | 151 | /// Object used to encrypt the document |
| 135 | PdfEncryption? encryption; | 152 | PdfEncryption? encryption; |
| @@ -148,10 +165,12 @@ class PdfDocument { | @@ -148,10 +165,12 @@ class PdfDocument { | ||
| 148 | 165 | ||
| 149 | Uint8List? _documentID; | 166 | Uint8List? _documentID; |
| 150 | 167 | ||
| 151 | - bool get compress => deflate != null; | 168 | + @Deprecated('Use settings.compress') |
| 169 | + bool get compress => settings.deflate != null; | ||
| 152 | 170 | ||
| 153 | /// Output a PDF document with comments and formatted data | 171 | /// Output a PDF document with comments and formatted data |
| 154 | - final bool verbose; | 172 | + @Deprecated('Use settings.verbose') |
| 173 | + bool get verbose => settings.verbose; | ||
| 155 | 174 | ||
| 156 | /// Generates the document ID | 175 | /// Generates the document ID |
| 157 | Uint8List get documentID { | 176 | Uint8List get documentID { |
| @@ -30,7 +30,13 @@ abstract class PdfDataType { | @@ -30,7 +30,13 @@ abstract class PdfDataType { | ||
| 30 | 30 | ||
| 31 | PdfStream _toStream() { | 31 | PdfStream _toStream() { |
| 32 | final s = PdfStream(); | 32 | final s = PdfStream(); |
| 33 | - output(PdfObjectBase(objser: 0, params: this), s); | 33 | + output( |
| 34 | + PdfObjectBase( | ||
| 35 | + objser: 0, | ||
| 36 | + params: this, | ||
| 37 | + settings: const PdfSettings(), | ||
| 38 | + ), | ||
| 39 | + s); | ||
| 34 | return s; | 40 | return s; |
| 35 | } | 41 | } |
| 36 | 42 |
| @@ -66,9 +66,9 @@ class PdfDictStream extends PdfDict<PdfDataType> { | @@ -66,9 +66,9 @@ class PdfDictStream extends PdfDict<PdfDataType> { | ||
| 66 | if (_values.containsKey('/Filter')) { | 66 | if (_values.containsKey('/Filter')) { |
| 67 | // The data is already in the right format | 67 | // The data is already in the right format |
| 68 | _data = data; | 68 | _data = data; |
| 69 | - } else if (compress && o.deflate != null) { | 69 | + } else if (compress && o.settings.deflate != null) { |
| 70 | // Compress the data | 70 | // Compress the data |
| 71 | - final newData = Uint8List.fromList(o.deflate!(data)); | 71 | + final newData = Uint8List.fromList(o.settings.deflate!(data)); |
| 72 | if (newData.lengthInBytes < data.lengthInBytes) { | 72 | if (newData.lengthInBytes < data.lengthInBytes) { |
| 73 | _values['/Filter'] = const PdfName('/FlateDecode'); | 73 | _values['/Filter'] = const PdfName('/FlateDecode'); |
| 74 | _data = newData; | 74 | _data = newData; |
| @@ -87,8 +87,8 @@ class PdfDictStream extends PdfDict<PdfDataType> { | @@ -87,8 +87,8 @@ class PdfDictStream extends PdfDict<PdfDataType> { | ||
| 87 | } | 87 | } |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | - if (encrypt && o.encryptCallback != null) { | ||
| 91 | - _data = o.encryptCallback!(_data, o); | 90 | + if (encrypt && o.settings.encryptCallback != null) { |
| 91 | + _data = o.settings.encryptCallback!(_data, o); | ||
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | _values['/Length'] = PdfNum(_data.length); | 94 | _values['/Length'] = PdfNum(_data.length); |
| @@ -37,26 +37,17 @@ enum PdfVersion { | @@ -37,26 +37,17 @@ enum PdfVersion { | ||
| 37 | pdf_1_5, | 37 | pdf_1_5, |
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | -class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | ||
| 41 | - PdfObjectBase({ | ||
| 42 | - required this.objser, | ||
| 43 | - this.objgen = 0, | ||
| 44 | - required this.params, | 40 | +class PdfSettings { |
| 41 | + const PdfSettings({ | ||
| 45 | this.deflate, | 42 | this.deflate, |
| 46 | this.encryptCallback, | 43 | this.encryptCallback, |
| 47 | this.verbose = false, | 44 | this.verbose = false, |
| 48 | this.version = PdfVersion.pdf_1_5, | 45 | this.version = PdfVersion.pdf_1_5, |
| 49 | }); | 46 | }); |
| 50 | 47 | ||
| 51 | - /// This is the unique serial number for this object. | ||
| 52 | - final int objser; | ||
| 53 | - | ||
| 54 | - /// This is the generation number for this object. | ||
| 55 | - final int objgen; | ||
| 56 | - | ||
| 57 | - final T params; | ||
| 58 | - | ||
| 59 | - /// Callback used to compress the data | 48 | + /// Callback to compress the streams in the pdf file. |
| 49 | + /// Use `deflate: zlib.encode` if using dart:io | ||
| 50 | + /// No compression by default | ||
| 60 | final DeflateCallback? deflate; | 51 | final DeflateCallback? deflate; |
| 61 | 52 | ||
| 62 | /// Callback used to encrypt the value of a [PdfDictStream] or a [PdfEncStream] | 53 | /// Callback used to encrypt the value of a [PdfDictStream] or a [PdfEncStream] |
| @@ -68,12 +59,34 @@ class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | @@ -68,12 +59,34 @@ class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | ||
| 68 | /// PDF version to generate | 59 | /// PDF version to generate |
| 69 | final PdfVersion version; | 60 | final PdfVersion version; |
| 70 | 61 | ||
| 62 | + /// Compress the document | ||
| 63 | + bool get compress => deflate != null; | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | +class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | ||
| 67 | + PdfObjectBase({ | ||
| 68 | + required this.objser, | ||
| 69 | + this.objgen = 0, | ||
| 70 | + required this.params, | ||
| 71 | + required this.settings, | ||
| 72 | + }); | ||
| 73 | + | ||
| 74 | + /// This is the unique serial number for this object. | ||
| 75 | + final int objser; | ||
| 76 | + | ||
| 77 | + /// This is the generation number for this object. | ||
| 78 | + final int objgen; | ||
| 79 | + | ||
| 80 | + final T params; | ||
| 81 | + | ||
| 82 | + final PdfSettings settings; | ||
| 83 | + | ||
| 71 | /// Returns the unique serial number in Pdf format | 84 | /// Returns the unique serial number in Pdf format |
| 72 | PdfIndirect ref() => PdfIndirect(objser, objgen); | 85 | PdfIndirect ref() => PdfIndirect(objser, objgen); |
| 73 | 86 | ||
| 74 | int output(PdfStream s) { | 87 | int output(PdfStream s) { |
| 75 | assert(() { | 88 | assert(() { |
| 76 | - if (verbose) { | 89 | + if (settings.verbose) { |
| 77 | setInsertion(s, 160); | 90 | setInsertion(s, 160); |
| 78 | startStopwatch(); | 91 | startStopwatch(); |
| 79 | } | 92 | } |
| @@ -86,7 +99,7 @@ class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | @@ -86,7 +99,7 @@ class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | ||
| 86 | s.putString('endobj\n'); | 99 | s.putString('endobj\n'); |
| 87 | 100 | ||
| 88 | assert(() { | 101 | assert(() { |
| 89 | - if (verbose) { | 102 | + if (settings.verbose) { |
| 90 | stopStopwatch(); | 103 | stopStopwatch(); |
| 91 | debugFill( | 104 | debugFill( |
| 92 | 'Creation time: ${elapsedStopwatch / Duration.microsecondsPerSecond} seconds'); | 105 | 'Creation time: ${elapsedStopwatch / Duration.microsecondsPerSecond} seconds'); |
| @@ -98,7 +111,7 @@ class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | @@ -98,7 +111,7 @@ class PdfObjectBase<T extends PdfDataType> with PdfDiagnostic { | ||
| 98 | } | 111 | } |
| 99 | 112 | ||
| 100 | void writeContent(PdfStream s) { | 113 | void writeContent(PdfStream s) { |
| 101 | - params.output(this, s, verbose ? 0 : null); | 114 | + params.output(this, s, settings.verbose ? 0 : null); |
| 102 | s.putByte(0x0a); | 115 | s.putByte(0x0a); |
| 103 | } | 116 | } |
| 104 | } | 117 | } |
| @@ -184,11 +184,11 @@ class PdfString extends PdfDataType { | @@ -184,11 +184,11 @@ class PdfString extends PdfDataType { | ||
| 184 | 184 | ||
| 185 | @override | 185 | @override |
| 186 | void output(PdfObjectBase o, PdfStream s, [int? indent]) { | 186 | void output(PdfObjectBase o, PdfStream s, [int? indent]) { |
| 187 | - if (!encrypted || o.encryptCallback == null) { | 187 | + if (!encrypted || o.settings.encryptCallback == null) { |
| 188 | return _output(s, value); | 188 | return _output(s, value); |
| 189 | } | 189 | } |
| 190 | 190 | ||
| 191 | - final enc = o.encryptCallback!(value, o); | 191 | + final enc = o.settings.encryptCallback!(value, o); |
| 192 | _output(s, enc); | 192 | _output(s, enc); |
| 193 | } | 193 | } |
| 194 | 194 |
| @@ -115,7 +115,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -115,7 +115,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 115 | @override | 115 | @override |
| 116 | void output(PdfObjectBase o, PdfStream s, [int? indent]) { | 116 | void output(PdfObjectBase o, PdfStream s, [int? indent]) { |
| 117 | String v; | 117 | String v; |
| 118 | - switch (o.version) { | 118 | + switch (o.settings.version) { |
| 119 | case PdfVersion.pdf_1_4: | 119 | case PdfVersion.pdf_1_4: |
| 120 | v = '1.4'; | 120 | v = '1.4'; |
| 121 | break; | 121 | break; |
| @@ -127,7 +127,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -127,7 +127,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 127 | s.putString('%PDF-$v\n'); | 127 | s.putString('%PDF-$v\n'); |
| 128 | s.putBytes(const <int>[0x25, 0xC2, 0xA5, 0xC2, 0xB1, 0xC3, 0xAB, 0x0A]); | 128 | s.putBytes(const <int>[0x25, 0xC2, 0xA5, 0xC2, 0xB1, 0xC3, 0xAB, 0x0A]); |
| 129 | assert(() { | 129 | assert(() { |
| 130 | - if (o.verbose) { | 130 | + if (o.settings.verbose) { |
| 131 | setInsertion(s); | 131 | setInsertion(s); |
| 132 | startStopwatch(); | 132 | startStopwatch(); |
| 133 | debugFill('Verbose dart_pdf'); | 133 | debugFill('Verbose dart_pdf'); |
| @@ -146,7 +146,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -146,7 +146,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 146 | 146 | ||
| 147 | params['/Root'] = o.ref(); | 147 | params['/Root'] = o.ref(); |
| 148 | 148 | ||
| 149 | - switch (o.version) { | 149 | + switch (o.settings.version) { |
| 150 | case PdfVersion.pdf_1_4: | 150 | case PdfVersion.pdf_1_4: |
| 151 | xrefOffset = outputLegacy(o, s); | 151 | xrefOffset = outputLegacy(o, s); |
| 152 | break; | 152 | break; |
| @@ -156,7 +156,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -156,7 +156,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | assert(() { | 158 | assert(() { |
| 159 | - if (o.verbose) { | 159 | + if (o.settings.verbose) { |
| 160 | s.putComment(''); | 160 | s.putComment(''); |
| 161 | s.putComment('-' * 78); | 161 | s.putComment('-' * 78); |
| 162 | s.putComment('$runtimeType'); | 162 | s.putComment('$runtimeType'); |
| @@ -168,7 +168,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -168,7 +168,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 168 | s.putString('startxref\n$xrefOffset\n%%EOF\n'); | 168 | s.putString('startxref\n$xrefOffset\n%%EOF\n'); |
| 169 | 169 | ||
| 170 | assert(() { | 170 | assert(() { |
| 171 | - if (o.verbose) { | 171 | + if (o.settings.verbose) { |
| 172 | stopStopwatch(); | 172 | stopStopwatch(); |
| 173 | debugFill( | 173 | debugFill( |
| 174 | 'Creation time: ${elapsedStopwatch / Duration.microsecondsPerSecond} seconds'); | 174 | 'Creation time: ${elapsedStopwatch / Duration.microsecondsPerSecond} seconds'); |
| @@ -195,10 +195,10 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -195,10 +195,10 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 195 | final size = _offsets.last.ser + 1; | 195 | final size = _offsets.last.ser + 1; |
| 196 | 196 | ||
| 197 | assert(() { | 197 | assert(() { |
| 198 | - if (o.verbose) { | 198 | + if (o.settings.verbose) { |
| 199 | s.putComment(''); | 199 | s.putComment(''); |
| 200 | s.putComment('-' * 78); | 200 | s.putComment('-' * 78); |
| 201 | - s.putComment('$runtimeType ${o.version.name}\n$this'); | 201 | + s.putComment('$runtimeType ${o.settings.version.name}\n$this'); |
| 202 | } | 202 | } |
| 203 | return true; | 203 | return true; |
| 204 | }()); | 204 | }()); |
| @@ -237,14 +237,14 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -237,14 +237,14 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 237 | 237 | ||
| 238 | // the trailer object | 238 | // the trailer object |
| 239 | assert(() { | 239 | assert(() { |
| 240 | - if (o.verbose) { | 240 | + if (o.settings.verbose) { |
| 241 | s.putComment(''); | 241 | s.putComment(''); |
| 242 | } | 242 | } |
| 243 | return true; | 243 | return true; |
| 244 | }()); | 244 | }()); |
| 245 | s.putString('trailer\n'); | 245 | s.putString('trailer\n'); |
| 246 | params['/Size'] = PdfNum(size); | 246 | params['/Size'] = PdfNum(size); |
| 247 | - params.output(o, s, o.verbose ? 0 : null); | 247 | + params.output(o, s, o.settings.verbose ? 0 : null); |
| 248 | s.putByte(0x0a); | 248 | s.putByte(0x0a); |
| 249 | 249 | ||
| 250 | return objOffset; | 250 | return objOffset; |
| @@ -304,10 +304,10 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -304,10 +304,10 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 304 | 304 | ||
| 305 | // Write the object | 305 | // Write the object |
| 306 | assert(() { | 306 | assert(() { |
| 307 | - if (o.verbose) { | 307 | + if (o.settings.verbose) { |
| 308 | s.putComment(''); | 308 | s.putComment(''); |
| 309 | s.putComment('-' * 78); | 309 | s.putComment('-' * 78); |
| 310 | - s.putComment('$runtimeType ${o.version.name}\n$this'); | 310 | + s.putComment('$runtimeType ${o.settings.version.name}\n$this'); |
| 311 | } | 311 | } |
| 312 | return true; | 312 | return true; |
| 313 | }()); | 313 | }()); |
| @@ -322,9 +322,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | @@ -322,9 +322,7 @@ class PdfXrefTable extends PdfDataType with PdfDiagnostic { | ||
| 322 | encrypt: false, | 322 | encrypt: false, |
| 323 | values: params.values, | 323 | values: params.values, |
| 324 | ), | 324 | ), |
| 325 | - deflate: o.deflate, | ||
| 326 | - verbose: o.verbose, | ||
| 327 | - version: o.version, | 325 | + settings: o.settings, |
| 328 | ).output(s); | 326 | ).output(s); |
| 329 | 327 | ||
| 330 | return objOffset; | 328 | return objOffset; |
| @@ -132,7 +132,7 @@ class PdfGraphics { | @@ -132,7 +132,7 @@ class PdfGraphics { | ||
| 132 | void fillPath({bool evenOdd = false}) { | 132 | void fillPath({bool evenOdd = false}) { |
| 133 | var o = 0; | 133 | var o = 0; |
| 134 | assert(() { | 134 | assert(() { |
| 135 | - if (_page.pdfDocument.verbose) { | 135 | + if (_page.pdfDocument.settings.verbose) { |
| 136 | o = _buf.offset; | 136 | o = _buf.offset; |
| 137 | _buf.putString(' ' * (_indent)); | 137 | _buf.putString(' ' * (_indent)); |
| 138 | } | 138 | } |
| @@ -143,7 +143,7 @@ class PdfGraphics { | @@ -143,7 +143,7 @@ class PdfGraphics { | ||
| 143 | _page.altered = true; | 143 | _page.altered = true; |
| 144 | 144 | ||
| 145 | assert(() { | 145 | assert(() { |
| 146 | - if (_page.pdfDocument.verbose) { | 146 | + if (_page.pdfDocument.settings.verbose) { |
| 147 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 147 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 148 | _buf.putComment('fillPath(evenOdd: $evenOdd)'); | 148 | _buf.putComment('fillPath(evenOdd: $evenOdd)'); |
| 149 | } | 149 | } |
| @@ -155,7 +155,7 @@ class PdfGraphics { | @@ -155,7 +155,7 @@ class PdfGraphics { | ||
| 155 | void strokePath({bool close = false}) { | 155 | void strokePath({bool close = false}) { |
| 156 | var o = 0; | 156 | var o = 0; |
| 157 | assert(() { | 157 | assert(() { |
| 158 | - if (_page.pdfDocument.verbose) { | 158 | + if (_page.pdfDocument.settings.verbose) { |
| 159 | o = _buf.offset; | 159 | o = _buf.offset; |
| 160 | _buf.putString(' ' * (_indent)); | 160 | _buf.putString(' ' * (_indent)); |
| 161 | } | 161 | } |
| @@ -166,7 +166,7 @@ class PdfGraphics { | @@ -166,7 +166,7 @@ class PdfGraphics { | ||
| 166 | _page.altered = true; | 166 | _page.altered = true; |
| 167 | 167 | ||
| 168 | assert(() { | 168 | assert(() { |
| 169 | - if (_page.pdfDocument.verbose) { | 169 | + if (_page.pdfDocument.settings.verbose) { |
| 170 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 170 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 171 | _buf.putComment('strokePath(close: $close)'); | 171 | _buf.putComment('strokePath(close: $close)'); |
| 172 | } | 172 | } |
| @@ -177,7 +177,7 @@ class PdfGraphics { | @@ -177,7 +177,7 @@ class PdfGraphics { | ||
| 177 | /// Close the path with a line | 177 | /// Close the path with a line |
| 178 | void closePath() { | 178 | void closePath() { |
| 179 | assert(() { | 179 | assert(() { |
| 180 | - if (_page.pdfDocument.verbose) { | 180 | + if (_page.pdfDocument.settings.verbose) { |
| 181 | _buf.putString(' ' * (_indent)); | 181 | _buf.putString(' ' * (_indent)); |
| 182 | } | 182 | } |
| 183 | return true; | 183 | return true; |
| @@ -187,7 +187,7 @@ class PdfGraphics { | @@ -187,7 +187,7 @@ class PdfGraphics { | ||
| 187 | _page.altered = true; | 187 | _page.altered = true; |
| 188 | 188 | ||
| 189 | assert(() { | 189 | assert(() { |
| 190 | - if (_page.pdfDocument.verbose) { | 190 | + if (_page.pdfDocument.settings.verbose) { |
| 191 | _buf.putString(' ' * (_commentIndent - 2 - _indent)); | 191 | _buf.putString(' ' * (_commentIndent - 2 - _indent)); |
| 192 | _buf.putComment('closePath()'); | 192 | _buf.putComment('closePath()'); |
| 193 | } | 193 | } |
| @@ -200,7 +200,7 @@ class PdfGraphics { | @@ -200,7 +200,7 @@ class PdfGraphics { | ||
| 200 | void clipPath({bool evenOdd = false, bool end = true}) { | 200 | void clipPath({bool evenOdd = false, bool end = true}) { |
| 201 | var o = 0; | 201 | var o = 0; |
| 202 | assert(() { | 202 | assert(() { |
| 203 | - if (_page.pdfDocument.verbose) { | 203 | + if (_page.pdfDocument.settings.verbose) { |
| 204 | o = _buf.offset; | 204 | o = _buf.offset; |
| 205 | _buf.putString(' ' * (_indent)); | 205 | _buf.putString(' ' * (_indent)); |
| 206 | } | 206 | } |
| @@ -210,7 +210,7 @@ class PdfGraphics { | @@ -210,7 +210,7 @@ class PdfGraphics { | ||
| 210 | _buf.putString('W${evenOdd ? '*' : ''}${end ? ' n' : ''} '); | 210 | _buf.putString('W${evenOdd ? '*' : ''}${end ? ' n' : ''} '); |
| 211 | 211 | ||
| 212 | assert(() { | 212 | assert(() { |
| 213 | - if (_page.pdfDocument.verbose) { | 213 | + if (_page.pdfDocument.settings.verbose) { |
| 214 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 214 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 215 | _buf.putComment('clipPath(evenOdd: $evenOdd, end: $end)'); | 215 | _buf.putComment('clipPath(evenOdd: $evenOdd, end: $end)'); |
| 216 | } | 216 | } |
| @@ -223,7 +223,7 @@ class PdfGraphics { | @@ -223,7 +223,7 @@ class PdfGraphics { | ||
| 223 | void fillAndStrokePath({bool evenOdd = false, bool close = false}) { | 223 | void fillAndStrokePath({bool evenOdd = false, bool close = false}) { |
| 224 | var o = 0; | 224 | var o = 0; |
| 225 | assert(() { | 225 | assert(() { |
| 226 | - if (_page.pdfDocument.verbose) { | 226 | + if (_page.pdfDocument.settings.verbose) { |
| 227 | o = _buf.offset; | 227 | o = _buf.offset; |
| 228 | _buf.putString(' ' * (_indent)); | 228 | _buf.putString(' ' * (_indent)); |
| 229 | } | 229 | } |
| @@ -234,7 +234,7 @@ class PdfGraphics { | @@ -234,7 +234,7 @@ class PdfGraphics { | ||
| 234 | _page.altered = true; | 234 | _page.altered = true; |
| 235 | 235 | ||
| 236 | assert(() { | 236 | assert(() { |
| 237 | - if (_page.pdfDocument.verbose) { | 237 | + if (_page.pdfDocument.settings.verbose) { |
| 238 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 238 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 239 | _buf.putComment('fillAndStrokePath(evenOdd:$evenOdd, close:$close)'); | 239 | _buf.putComment('fillAndStrokePath(evenOdd:$evenOdd, close:$close)'); |
| 240 | } | 240 | } |
| @@ -246,7 +246,7 @@ class PdfGraphics { | @@ -246,7 +246,7 @@ class PdfGraphics { | ||
| 246 | void applyShader(PdfShading shader) { | 246 | void applyShader(PdfShading shader) { |
| 247 | var o = 0; | 247 | var o = 0; |
| 248 | assert(() { | 248 | assert(() { |
| 249 | - if (_page.pdfDocument.verbose) { | 249 | + if (_page.pdfDocument.settings.verbose) { |
| 250 | o = _buf.offset; | 250 | o = _buf.offset; |
| 251 | _buf.putString(' ' * (_indent)); | 251 | _buf.putString(' ' * (_indent)); |
| 252 | } | 252 | } |
| @@ -259,7 +259,7 @@ class PdfGraphics { | @@ -259,7 +259,7 @@ class PdfGraphics { | ||
| 259 | _page.altered = true; | 259 | _page.altered = true; |
| 260 | 260 | ||
| 261 | assert(() { | 261 | assert(() { |
| 262 | - if (_page.pdfDocument.verbose) { | 262 | + if (_page.pdfDocument.settings.verbose) { |
| 263 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 263 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 264 | _buf.putComment('applyShader(${shader.ref()})'); | 264 | _buf.putComment('applyShader(${shader.ref()})'); |
| 265 | } | 265 | } |
| @@ -276,7 +276,7 @@ class PdfGraphics { | @@ -276,7 +276,7 @@ class PdfGraphics { | ||
| 276 | if (_contextQueue.isNotEmpty) { | 276 | if (_contextQueue.isNotEmpty) { |
| 277 | assert(() { | 277 | assert(() { |
| 278 | _indent -= _indentAmount; | 278 | _indent -= _indentAmount; |
| 279 | - if (_page.pdfDocument.verbose) { | 279 | + if (_page.pdfDocument.settings.verbose) { |
| 280 | _buf.putString(' ' * (_indent)); | 280 | _buf.putString(' ' * (_indent)); |
| 281 | } | 281 | } |
| 282 | return true; | 282 | return true; |
| @@ -287,7 +287,7 @@ class PdfGraphics { | @@ -287,7 +287,7 @@ class PdfGraphics { | ||
| 287 | _context = _contextQueue.removeLast(); | 287 | _context = _contextQueue.removeLast(); |
| 288 | 288 | ||
| 289 | assert(() { | 289 | assert(() { |
| 290 | - if (_page.pdfDocument.verbose) { | 290 | + if (_page.pdfDocument.settings.verbose) { |
| 291 | _buf.putString(' ' * (_commentIndent - 2 - _indent)); | 291 | _buf.putString(' ' * (_commentIndent - 2 - _indent)); |
| 292 | _buf.putComment('restoreContext()'); | 292 | _buf.putComment('restoreContext()'); |
| 293 | } | 293 | } |
| @@ -299,7 +299,7 @@ class PdfGraphics { | @@ -299,7 +299,7 @@ class PdfGraphics { | ||
| 299 | /// Save the graphic context | 299 | /// Save the graphic context |
| 300 | void saveContext() { | 300 | void saveContext() { |
| 301 | assert(() { | 301 | assert(() { |
| 302 | - if (_page.pdfDocument.verbose) { | 302 | + if (_page.pdfDocument.settings.verbose) { |
| 303 | _buf.putString(' ' * (_indent)); | 303 | _buf.putString(' ' * (_indent)); |
| 304 | } | 304 | } |
| 305 | return true; | 305 | return true; |
| @@ -307,7 +307,7 @@ class PdfGraphics { | @@ -307,7 +307,7 @@ class PdfGraphics { | ||
| 307 | _buf.putString('q '); | 307 | _buf.putString('q '); |
| 308 | _contextQueue.addLast(_context.copy()); | 308 | _contextQueue.addLast(_context.copy()); |
| 309 | assert(() { | 309 | assert(() { |
| 310 | - if (_page.pdfDocument.verbose) { | 310 | + if (_page.pdfDocument.settings.verbose) { |
| 311 | _buf.putString(' ' * (_commentIndent - 2 - _indent)); | 311 | _buf.putString(' ' * (_commentIndent - 2 - _indent)); |
| 312 | _buf.putComment('saveContext()'); | 312 | _buf.putComment('saveContext()'); |
| 313 | } | 313 | } |
| @@ -320,7 +320,7 @@ class PdfGraphics { | @@ -320,7 +320,7 @@ class PdfGraphics { | ||
| 320 | void drawImage(PdfImage img, double x, double y, [double? w, double? h]) { | 320 | void drawImage(PdfImage img, double x, double y, [double? w, double? h]) { |
| 321 | var o = 0; | 321 | var o = 0; |
| 322 | assert(() { | 322 | assert(() { |
| 323 | - if (_page.pdfDocument.verbose) { | 323 | + if (_page.pdfDocument.settings.verbose) { |
| 324 | o = _buf.offset; | 324 | o = _buf.offset; |
| 325 | _buf.putString(' ' * (_indent)); | 325 | _buf.putString(' ' * (_indent)); |
| 326 | } | 326 | } |
| @@ -366,7 +366,7 @@ class PdfGraphics { | @@ -366,7 +366,7 @@ class PdfGraphics { | ||
| 366 | _page.altered = true; | 366 | _page.altered = true; |
| 367 | 367 | ||
| 368 | assert(() { | 368 | assert(() { |
| 369 | - if (_page.pdfDocument.verbose) { | 369 | + if (_page.pdfDocument.settings.verbose) { |
| 370 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 370 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 371 | _buf.putComment('drawImage(${img.ref()}, x: $x, y: $y, w: $w, h: $h)'); | 371 | _buf.putComment('drawImage(${img.ref()}, x: $x, y: $y, w: $w, h: $h)'); |
| 372 | } | 372 | } |
| @@ -403,7 +403,7 @@ class PdfGraphics { | @@ -403,7 +403,7 @@ class PdfGraphics { | ||
| 403 | void drawRect(double x, double y, double w, double h) { | 403 | void drawRect(double x, double y, double w, double h) { |
| 404 | var o = 0; | 404 | var o = 0; |
| 405 | assert(() { | 405 | assert(() { |
| 406 | - if (_page.pdfDocument.verbose) { | 406 | + if (_page.pdfDocument.settings.verbose) { |
| 407 | o = _buf.offset; | 407 | o = _buf.offset; |
| 408 | _buf.putString(' ' * (_indent)); | 408 | _buf.putString(' ' * (_indent)); |
| 409 | } | 409 | } |
| @@ -414,7 +414,7 @@ class PdfGraphics { | @@ -414,7 +414,7 @@ class PdfGraphics { | ||
| 414 | _buf.putString(' re '); | 414 | _buf.putString(' re '); |
| 415 | 415 | ||
| 416 | assert(() { | 416 | assert(() { |
| 417 | - if (_page.pdfDocument.verbose) { | 417 | + if (_page.pdfDocument.settings.verbose) { |
| 418 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 418 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 419 | _buf.putComment('drawRect(x: $x, y: $y, w: $w, h: $h)'); | 419 | _buf.putComment('drawRect(x: $x, y: $y, w: $w, h: $h)'); |
| 420 | } | 420 | } |
| @@ -453,7 +453,7 @@ class PdfGraphics { | @@ -453,7 +453,7 @@ class PdfGraphics { | ||
| 453 | }) { | 453 | }) { |
| 454 | var o = 0; | 454 | var o = 0; |
| 455 | assert(() { | 455 | assert(() { |
| 456 | - if (_page.pdfDocument.verbose) { | 456 | + if (_page.pdfDocument.settings.verbose) { |
| 457 | o = _buf.offset; | 457 | o = _buf.offset; |
| 458 | _buf.putString(' ' * (_indent)); | 458 | _buf.putString(' ' * (_indent)); |
| 459 | } | 459 | } |
| @@ -486,7 +486,7 @@ class PdfGraphics { | @@ -486,7 +486,7 @@ class PdfGraphics { | ||
| 486 | } | 486 | } |
| 487 | 487 | ||
| 488 | assert(() { | 488 | assert(() { |
| 489 | - if (_page.pdfDocument.verbose) { | 489 | + if (_page.pdfDocument.settings.verbose) { |
| 490 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 490 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 491 | _buf.putComment( | 491 | _buf.putComment( |
| 492 | 'setFont(${font.ref()}, size: $size, charSpace: $charSpace, wordSpace: $wordSpace, scale: $scale, mode: ${mode.name}, rise: $rise)'); | 492 | 'setFont(${font.ref()}, size: $size, charSpace: $charSpace, wordSpace: $wordSpace, scale: $scale, mode: ${mode.name}, rise: $rise)'); |
| @@ -509,7 +509,7 @@ class PdfGraphics { | @@ -509,7 +509,7 @@ class PdfGraphics { | ||
| 509 | double? rise, | 509 | double? rise, |
| 510 | }) { | 510 | }) { |
| 511 | assert(() { | 511 | assert(() { |
| 512 | - if (_page.pdfDocument.verbose) { | 512 | + if (_page.pdfDocument.settings.verbose) { |
| 513 | _buf.putString(' ' * (_indent)); | 513 | _buf.putString(' ' * (_indent)); |
| 514 | } | 514 | } |
| 515 | return true; | 515 | return true; |
| @@ -518,7 +518,7 @@ class PdfGraphics { | @@ -518,7 +518,7 @@ class PdfGraphics { | ||
| 518 | _buf.putString('BT '); | 518 | _buf.putString('BT '); |
| 519 | 519 | ||
| 520 | assert(() { | 520 | assert(() { |
| 521 | - if (_page.pdfDocument.verbose) { | 521 | + if (_page.pdfDocument.settings.verbose) { |
| 522 | _buf.putString(' ' * (_commentIndent - 3 - _indent)); | 522 | _buf.putString(' ' * (_commentIndent - 3 - _indent)); |
| 523 | _buf.putComment('beginText()'); | 523 | _buf.putComment('beginText()'); |
| 524 | _indent += _indentAmount; | 524 | _indent += _indentAmount; |
| @@ -535,7 +535,7 @@ class PdfGraphics { | @@ -535,7 +535,7 @@ class PdfGraphics { | ||
| 535 | 535 | ||
| 536 | var o = 0; | 536 | var o = 0; |
| 537 | assert(() { | 537 | assert(() { |
| 538 | - if (_page.pdfDocument.verbose) { | 538 | + if (_page.pdfDocument.settings.verbose) { |
| 539 | o = _buf.offset; | 539 | o = _buf.offset; |
| 540 | _buf.putString(' ' * (_indent)); | 540 | _buf.putString(' ' * (_indent)); |
| 541 | } | 541 | } |
| @@ -546,7 +546,7 @@ class PdfGraphics { | @@ -546,7 +546,7 @@ class PdfGraphics { | ||
| 546 | _buf.putString(' Td '); | 546 | _buf.putString(' Td '); |
| 547 | 547 | ||
| 548 | assert(() { | 548 | assert(() { |
| 549 | - if (_page.pdfDocument.verbose) { | 549 | + if (_page.pdfDocument.settings.verbose) { |
| 550 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 550 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 551 | _buf.putComment('moveCursor($x, $y)'); | 551 | _buf.putComment('moveCursor($x, $y)'); |
| 552 | o = _buf.offset; | 552 | o = _buf.offset; |
| @@ -560,7 +560,7 @@ class PdfGraphics { | @@ -560,7 +560,7 @@ class PdfGraphics { | ||
| 560 | _buf.putString(']TJ '); | 560 | _buf.putString(']TJ '); |
| 561 | 561 | ||
| 562 | assert(() { | 562 | assert(() { |
| 563 | - if (_page.pdfDocument.verbose) { | 563 | + if (_page.pdfDocument.settings.verbose) { |
| 564 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 564 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 565 | _buf.putComment('drawString("$s")'); | 565 | _buf.putComment('drawString("$s")'); |
| 566 | o = _buf.offset; | 566 | o = _buf.offset; |
| @@ -573,7 +573,7 @@ class PdfGraphics { | @@ -573,7 +573,7 @@ class PdfGraphics { | ||
| 573 | _buf.putString('ET '); | 573 | _buf.putString('ET '); |
| 574 | 574 | ||
| 575 | assert(() { | 575 | assert(() { |
| 576 | - if (_page.pdfDocument.verbose) { | 576 | + if (_page.pdfDocument.settings.verbose) { |
| 577 | _buf.putString(' ' * (_commentIndent - 3 - _indent)); | 577 | _buf.putString(' ' * (_commentIndent - 3 - _indent)); |
| 578 | _buf.putComment('endText()'); | 578 | _buf.putComment('endText()'); |
| 579 | } | 579 | } |
| @@ -585,7 +585,7 @@ class PdfGraphics { | @@ -585,7 +585,7 @@ class PdfGraphics { | ||
| 585 | 585 | ||
| 586 | void reset() { | 586 | void reset() { |
| 587 | assert(() { | 587 | assert(() { |
| 588 | - if (_page.pdfDocument.verbose) { | 588 | + if (_page.pdfDocument.settings.verbose) { |
| 589 | _buf.putString(' ' * (_indent)); | 589 | _buf.putString(' ' * (_indent)); |
| 590 | } | 590 | } |
| 591 | return true; | 591 | return true; |
| @@ -594,7 +594,7 @@ class PdfGraphics { | @@ -594,7 +594,7 @@ class PdfGraphics { | ||
| 594 | _buf.putString('0 Tr '); | 594 | _buf.putString('0 Tr '); |
| 595 | 595 | ||
| 596 | assert(() { | 596 | assert(() { |
| 597 | - if (_page.pdfDocument.verbose) { | 597 | + if (_page.pdfDocument.settings.verbose) { |
| 598 | _buf.putString(' ' * (_commentIndent - 5 - _indent)); | 598 | _buf.putString(' ' * (_commentIndent - 5 - _indent)); |
| 599 | _buf.putComment('reset()'); | 599 | _buf.putComment('reset()'); |
| 600 | } | 600 | } |
| @@ -612,7 +612,7 @@ class PdfGraphics { | @@ -612,7 +612,7 @@ class PdfGraphics { | ||
| 612 | void setFillColor(PdfColor? color) { | 612 | void setFillColor(PdfColor? color) { |
| 613 | var o = 0; | 613 | var o = 0; |
| 614 | assert(() { | 614 | assert(() { |
| 615 | - if (_page.pdfDocument.verbose) { | 615 | + if (_page.pdfDocument.settings.verbose) { |
| 616 | o = _buf.offset; | 616 | o = _buf.offset; |
| 617 | _buf.putString(' ' * (_indent)); | 617 | _buf.putString(' ' * (_indent)); |
| 618 | } | 618 | } |
| @@ -630,7 +630,7 @@ class PdfGraphics { | @@ -630,7 +630,7 @@ class PdfGraphics { | ||
| 630 | } | 630 | } |
| 631 | 631 | ||
| 632 | assert(() { | 632 | assert(() { |
| 633 | - if (_page.pdfDocument.verbose) { | 633 | + if (_page.pdfDocument.settings.verbose) { |
| 634 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 634 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 635 | _buf.putComment('setFillColor(${color?.toHex()})'); | 635 | _buf.putComment('setFillColor(${color?.toHex()})'); |
| 636 | } | 636 | } |
| @@ -642,7 +642,7 @@ class PdfGraphics { | @@ -642,7 +642,7 @@ class PdfGraphics { | ||
| 642 | void setStrokeColor(PdfColor? color) { | 642 | void setStrokeColor(PdfColor? color) { |
| 643 | var o = 0; | 643 | var o = 0; |
| 644 | assert(() { | 644 | assert(() { |
| 645 | - if (_page.pdfDocument.verbose) { | 645 | + if (_page.pdfDocument.settings.verbose) { |
| 646 | o = _buf.offset; | 646 | o = _buf.offset; |
| 647 | _buf.putString(' ' * (_indent)); | 647 | _buf.putString(' ' * (_indent)); |
| 648 | } | 648 | } |
| @@ -660,7 +660,7 @@ class PdfGraphics { | @@ -660,7 +660,7 @@ class PdfGraphics { | ||
| 660 | } | 660 | } |
| 661 | 661 | ||
| 662 | assert(() { | 662 | assert(() { |
| 663 | - if (_page.pdfDocument.verbose) { | 663 | + if (_page.pdfDocument.settings.verbose) { |
| 664 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 664 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 665 | _buf.putComment('setStrokeColor(${color?.toHex()})'); | 665 | _buf.putComment('setStrokeColor(${color?.toHex()})'); |
| 666 | } | 666 | } |
| @@ -672,7 +672,7 @@ class PdfGraphics { | @@ -672,7 +672,7 @@ class PdfGraphics { | ||
| 672 | void setFillPattern(PdfPattern pattern) { | 672 | void setFillPattern(PdfPattern pattern) { |
| 673 | var o = 0; | 673 | var o = 0; |
| 674 | assert(() { | 674 | assert(() { |
| 675 | - if (_page.pdfDocument.verbose) { | 675 | + if (_page.pdfDocument.settings.verbose) { |
| 676 | o = _buf.offset; | 676 | o = _buf.offset; |
| 677 | _buf.putString(' ' * (_indent)); | 677 | _buf.putString(' ' * (_indent)); |
| 678 | } | 678 | } |
| @@ -684,7 +684,7 @@ class PdfGraphics { | @@ -684,7 +684,7 @@ class PdfGraphics { | ||
| 684 | _buf.putString('/Pattern cs${pattern.name} scn '); | 684 | _buf.putString('/Pattern cs${pattern.name} scn '); |
| 685 | 685 | ||
| 686 | assert(() { | 686 | assert(() { |
| 687 | - if (_page.pdfDocument.verbose) { | 687 | + if (_page.pdfDocument.settings.verbose) { |
| 688 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 688 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 689 | _buf.putComment('setFillPattern(${pattern.ref()})'); | 689 | _buf.putComment('setFillPattern(${pattern.ref()})'); |
| 690 | } | 690 | } |
| @@ -696,7 +696,7 @@ class PdfGraphics { | @@ -696,7 +696,7 @@ class PdfGraphics { | ||
| 696 | void setStrokePattern(PdfPattern pattern) { | 696 | void setStrokePattern(PdfPattern pattern) { |
| 697 | var o = 0; | 697 | var o = 0; |
| 698 | assert(() { | 698 | assert(() { |
| 699 | - if (_page.pdfDocument.verbose) { | 699 | + if (_page.pdfDocument.settings.verbose) { |
| 700 | o = _buf.offset; | 700 | o = _buf.offset; |
| 701 | _buf.putString(' ' * (_indent)); | 701 | _buf.putString(' ' * (_indent)); |
| 702 | } | 702 | } |
| @@ -708,7 +708,7 @@ class PdfGraphics { | @@ -708,7 +708,7 @@ class PdfGraphics { | ||
| 708 | _buf.putString('/Pattern CS${pattern.name} SCN '); | 708 | _buf.putString('/Pattern CS${pattern.name} SCN '); |
| 709 | 709 | ||
| 710 | assert(() { | 710 | assert(() { |
| 711 | - if (_page.pdfDocument.verbose) { | 711 | + if (_page.pdfDocument.settings.verbose) { |
| 712 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 712 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 713 | _buf.putComment('setStrokePattern(${pattern.ref()})'); | 713 | _buf.putComment('setStrokePattern(${pattern.ref()})'); |
| 714 | } | 714 | } |
| @@ -720,7 +720,7 @@ class PdfGraphics { | @@ -720,7 +720,7 @@ class PdfGraphics { | ||
| 720 | void setGraphicState(PdfGraphicState state) { | 720 | void setGraphicState(PdfGraphicState state) { |
| 721 | var o = 0; | 721 | var o = 0; |
| 722 | assert(() { | 722 | assert(() { |
| 723 | - if (_page.pdfDocument.verbose) { | 723 | + if (_page.pdfDocument.settings.verbose) { |
| 724 | o = _buf.offset; | 724 | o = _buf.offset; |
| 725 | _buf.putString(' ' * (_indent)); | 725 | _buf.putString(' ' * (_indent)); |
| 726 | } | 726 | } |
| @@ -731,7 +731,7 @@ class PdfGraphics { | @@ -731,7 +731,7 @@ class PdfGraphics { | ||
| 731 | _buf.putString('$name gs '); | 731 | _buf.putString('$name gs '); |
| 732 | 732 | ||
| 733 | assert(() { | 733 | assert(() { |
| 734 | - if (_page.pdfDocument.verbose) { | 734 | + if (_page.pdfDocument.settings.verbose) { |
| 735 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 735 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 736 | _buf.putComment('setGraphicState($state)'); | 736 | _buf.putComment('setGraphicState($state)'); |
| 737 | } | 737 | } |
| @@ -743,7 +743,7 @@ class PdfGraphics { | @@ -743,7 +743,7 @@ class PdfGraphics { | ||
| 743 | void setTransform(Matrix4 t) { | 743 | void setTransform(Matrix4 t) { |
| 744 | var o = 0; | 744 | var o = 0; |
| 745 | assert(() { | 745 | assert(() { |
| 746 | - if (_page.pdfDocument.verbose) { | 746 | + if (_page.pdfDocument.settings.verbose) { |
| 747 | o = _buf.offset; | 747 | o = _buf.offset; |
| 748 | _buf.putString(' ' * (_indent)); | 748 | _buf.putString(' ' * (_indent)); |
| 749 | } | 749 | } |
| @@ -757,7 +757,7 @@ class PdfGraphics { | @@ -757,7 +757,7 @@ class PdfGraphics { | ||
| 757 | _context.ctm.multiply(t); | 757 | _context.ctm.multiply(t); |
| 758 | 758 | ||
| 759 | assert(() { | 759 | assert(() { |
| 760 | - if (_page.pdfDocument.verbose) { | 760 | + if (_page.pdfDocument.settings.verbose) { |
| 761 | final n = math.max(0, _commentIndent - _buf.offset + o); | 761 | final n = math.max(0, _commentIndent - _buf.offset + o); |
| 762 | _buf.putString(' ' * n); | 762 | _buf.putString(' ' * n); |
| 763 | _buf.putComment('setTransform($s)'); | 763 | _buf.putComment('setTransform($s)'); |
| @@ -775,7 +775,7 @@ class PdfGraphics { | @@ -775,7 +775,7 @@ class PdfGraphics { | ||
| 775 | void lineTo(double x, double y) { | 775 | void lineTo(double x, double y) { |
| 776 | var o = 0; | 776 | var o = 0; |
| 777 | assert(() { | 777 | assert(() { |
| 778 | - if (_page.pdfDocument.verbose) { | 778 | + if (_page.pdfDocument.settings.verbose) { |
| 779 | o = _buf.offset; | 779 | o = _buf.offset; |
| 780 | _buf.putString(' ' * (_indent)); | 780 | _buf.putString(' ' * (_indent)); |
| 781 | } | 781 | } |
| @@ -786,7 +786,7 @@ class PdfGraphics { | @@ -786,7 +786,7 @@ class PdfGraphics { | ||
| 786 | _buf.putString(' l '); | 786 | _buf.putString(' l '); |
| 787 | 787 | ||
| 788 | assert(() { | 788 | assert(() { |
| 789 | - if (_page.pdfDocument.verbose) { | 789 | + if (_page.pdfDocument.settings.verbose) { |
| 790 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 790 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 791 | _buf.putComment('lineTo($x, $y)'); | 791 | _buf.putComment('lineTo($x, $y)'); |
| 792 | } | 792 | } |
| @@ -798,7 +798,7 @@ class PdfGraphics { | @@ -798,7 +798,7 @@ class PdfGraphics { | ||
| 798 | void moveTo(double x, double y) { | 798 | void moveTo(double x, double y) { |
| 799 | var o = 0; | 799 | var o = 0; |
| 800 | assert(() { | 800 | assert(() { |
| 801 | - if (_page.pdfDocument.verbose) { | 801 | + if (_page.pdfDocument.settings.verbose) { |
| 802 | o = _buf.offset; | 802 | o = _buf.offset; |
| 803 | _buf.putString(' ' * (_indent)); | 803 | _buf.putString(' ' * (_indent)); |
| 804 | } | 804 | } |
| @@ -809,7 +809,7 @@ class PdfGraphics { | @@ -809,7 +809,7 @@ class PdfGraphics { | ||
| 809 | _buf.putString(' m '); | 809 | _buf.putString(' m '); |
| 810 | 810 | ||
| 811 | assert(() { | 811 | assert(() { |
| 812 | - if (_page.pdfDocument.verbose) { | 812 | + if (_page.pdfDocument.settings.verbose) { |
| 813 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 813 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 814 | _buf.putComment('moveTo($x, $y)'); | 814 | _buf.putComment('moveTo($x, $y)'); |
| 815 | } | 815 | } |
| @@ -824,7 +824,7 @@ class PdfGraphics { | @@ -824,7 +824,7 @@ class PdfGraphics { | ||
| 824 | double x1, double y1, double x2, double y2, double x3, double y3) { | 824 | double x1, double y1, double x2, double y2, double x3, double y3) { |
| 825 | var o = 0; | 825 | var o = 0; |
| 826 | assert(() { | 826 | assert(() { |
| 827 | - if (_page.pdfDocument.verbose) { | 827 | + if (_page.pdfDocument.settings.verbose) { |
| 828 | o = _buf.offset; | 828 | o = _buf.offset; |
| 829 | _buf.putString(' ' * (_indent)); | 829 | _buf.putString(' ' * (_indent)); |
| 830 | } | 830 | } |
| @@ -835,7 +835,7 @@ class PdfGraphics { | @@ -835,7 +835,7 @@ class PdfGraphics { | ||
| 835 | _buf.putString(' c '); | 835 | _buf.putString(' c '); |
| 836 | 836 | ||
| 837 | assert(() { | 837 | assert(() { |
| 838 | - if (_page.pdfDocument.verbose) { | 838 | + if (_page.pdfDocument.settings.verbose) { |
| 839 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 839 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 840 | _buf.putComment('curveTo($x1, $y1, $x2, $y2, $x3, $y3)'); | 840 | _buf.putComment('curveTo($x1, $y1, $x2, $y2, $x3, $y3)'); |
| 841 | } | 841 | } |
| @@ -1001,7 +1001,7 @@ class PdfGraphics { | @@ -1001,7 +1001,7 @@ class PdfGraphics { | ||
| 1001 | /// Set line starting and ending cap type | 1001 | /// Set line starting and ending cap type |
| 1002 | void setLineCap(PdfLineCap cap) { | 1002 | void setLineCap(PdfLineCap cap) { |
| 1003 | assert(() { | 1003 | assert(() { |
| 1004 | - if (_page.pdfDocument.verbose) { | 1004 | + if (_page.pdfDocument.settings.verbose) { |
| 1005 | _buf.putString(' ' * (_indent)); | 1005 | _buf.putString(' ' * (_indent)); |
| 1006 | } | 1006 | } |
| 1007 | return true; | 1007 | return true; |
| @@ -1010,7 +1010,7 @@ class PdfGraphics { | @@ -1010,7 +1010,7 @@ class PdfGraphics { | ||
| 1010 | _buf.putString('${cap.index} J '); | 1010 | _buf.putString('${cap.index} J '); |
| 1011 | 1011 | ||
| 1012 | assert(() { | 1012 | assert(() { |
| 1013 | - if (_page.pdfDocument.verbose) { | 1013 | + if (_page.pdfDocument.settings.verbose) { |
| 1014 | _buf.putString(' ' * (_commentIndent - 4 - _indent)); | 1014 | _buf.putString(' ' * (_commentIndent - 4 - _indent)); |
| 1015 | _buf.putComment('setLineCap(${cap.name})'); | 1015 | _buf.putComment('setLineCap(${cap.name})'); |
| 1016 | } | 1016 | } |
| @@ -1021,7 +1021,7 @@ class PdfGraphics { | @@ -1021,7 +1021,7 @@ class PdfGraphics { | ||
| 1021 | /// Set line join type | 1021 | /// Set line join type |
| 1022 | void setLineJoin(PdfLineJoin join) { | 1022 | void setLineJoin(PdfLineJoin join) { |
| 1023 | assert(() { | 1023 | assert(() { |
| 1024 | - if (_page.pdfDocument.verbose) { | 1024 | + if (_page.pdfDocument.settings.verbose) { |
| 1025 | _buf.putString(' ' * (_indent)); | 1025 | _buf.putString(' ' * (_indent)); |
| 1026 | } | 1026 | } |
| 1027 | return true; | 1027 | return true; |
| @@ -1030,7 +1030,7 @@ class PdfGraphics { | @@ -1030,7 +1030,7 @@ class PdfGraphics { | ||
| 1030 | _buf.putString('${join.index} j '); | 1030 | _buf.putString('${join.index} j '); |
| 1031 | 1031 | ||
| 1032 | assert(() { | 1032 | assert(() { |
| 1033 | - if (_page.pdfDocument.verbose) { | 1033 | + if (_page.pdfDocument.settings.verbose) { |
| 1034 | _buf.putString(' ' * (_commentIndent - 4 - _indent)); | 1034 | _buf.putString(' ' * (_commentIndent - 4 - _indent)); |
| 1035 | _buf.putComment('setLineJoin(${join.name})'); | 1035 | _buf.putComment('setLineJoin(${join.name})'); |
| 1036 | } | 1036 | } |
| @@ -1042,7 +1042,7 @@ class PdfGraphics { | @@ -1042,7 +1042,7 @@ class PdfGraphics { | ||
| 1042 | void setLineWidth(double width) { | 1042 | void setLineWidth(double width) { |
| 1043 | var o = 0; | 1043 | var o = 0; |
| 1044 | assert(() { | 1044 | assert(() { |
| 1045 | - if (_page.pdfDocument.verbose) { | 1045 | + if (_page.pdfDocument.settings.verbose) { |
| 1046 | o = _buf.offset; | 1046 | o = _buf.offset; |
| 1047 | _buf.putString(' ' * (_indent)); | 1047 | _buf.putString(' ' * (_indent)); |
| 1048 | } | 1048 | } |
| @@ -1053,7 +1053,7 @@ class PdfGraphics { | @@ -1053,7 +1053,7 @@ class PdfGraphics { | ||
| 1053 | _buf.putString(' w '); | 1053 | _buf.putString(' w '); |
| 1054 | 1054 | ||
| 1055 | assert(() { | 1055 | assert(() { |
| 1056 | - if (_page.pdfDocument.verbose) { | 1056 | + if (_page.pdfDocument.settings.verbose) { |
| 1057 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 1057 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 1058 | _buf.putComment('setLineWidth($width)'); | 1058 | _buf.putComment('setLineWidth($width)'); |
| 1059 | } | 1059 | } |
| @@ -1065,7 +1065,7 @@ class PdfGraphics { | @@ -1065,7 +1065,7 @@ class PdfGraphics { | ||
| 1065 | void setMiterLimit(double limit) { | 1065 | void setMiterLimit(double limit) { |
| 1066 | var o = 0; | 1066 | var o = 0; |
| 1067 | assert(() { | 1067 | assert(() { |
| 1068 | - if (_page.pdfDocument.verbose) { | 1068 | + if (_page.pdfDocument.settings.verbose) { |
| 1069 | o = _buf.offset; | 1069 | o = _buf.offset; |
| 1070 | _buf.putString(' ' * (_indent)); | 1070 | _buf.putString(' ' * (_indent)); |
| 1071 | } | 1071 | } |
| @@ -1077,7 +1077,7 @@ class PdfGraphics { | @@ -1077,7 +1077,7 @@ class PdfGraphics { | ||
| 1077 | _buf.putString(' M '); | 1077 | _buf.putString(' M '); |
| 1078 | 1078 | ||
| 1079 | assert(() { | 1079 | assert(() { |
| 1080 | - if (_page.pdfDocument.verbose) { | 1080 | + if (_page.pdfDocument.settings.verbose) { |
| 1081 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 1081 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 1082 | _buf.putComment('setMiterLimit($limit)'); | 1082 | _buf.putComment('setMiterLimit($limit)'); |
| 1083 | } | 1083 | } |
| @@ -1092,7 +1092,7 @@ class PdfGraphics { | @@ -1092,7 +1092,7 @@ class PdfGraphics { | ||
| 1092 | void setLineDashPattern([List<num> array = const <num>[], int phase = 0]) { | 1092 | void setLineDashPattern([List<num> array = const <num>[], int phase = 0]) { |
| 1093 | var o = 0; | 1093 | var o = 0; |
| 1094 | assert(() { | 1094 | assert(() { |
| 1095 | - if (_page.pdfDocument.verbose) { | 1095 | + if (_page.pdfDocument.settings.verbose) { |
| 1096 | o = _buf.offset; | 1096 | o = _buf.offset; |
| 1097 | _buf.putString(' ' * (_indent)); | 1097 | _buf.putString(' ' * (_indent)); |
| 1098 | } | 1098 | } |
| @@ -1103,7 +1103,7 @@ class PdfGraphics { | @@ -1103,7 +1103,7 @@ class PdfGraphics { | ||
| 1103 | _buf.putString(' $phase d '); | 1103 | _buf.putString(' $phase d '); |
| 1104 | 1104 | ||
| 1105 | assert(() { | 1105 | assert(() { |
| 1106 | - if (_page.pdfDocument.verbose) { | 1106 | + if (_page.pdfDocument.settings.verbose) { |
| 1107 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 1107 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 1108 | _buf.putComment('setLineDashPattern($array, $phase)'); | 1108 | _buf.putComment('setLineDashPattern($array, $phase)'); |
| 1109 | } | 1109 | } |
| @@ -1114,7 +1114,7 @@ class PdfGraphics { | @@ -1114,7 +1114,7 @@ class PdfGraphics { | ||
| 1114 | void markContentBegin(PdfName tag) { | 1114 | void markContentBegin(PdfName tag) { |
| 1115 | var o = 0; | 1115 | var o = 0; |
| 1116 | assert(() { | 1116 | assert(() { |
| 1117 | - if (_page.pdfDocument.verbose) { | 1117 | + if (_page.pdfDocument.settings.verbose) { |
| 1118 | o = _buf.offset; | 1118 | o = _buf.offset; |
| 1119 | _buf.putString(' ' * (_indent)); | 1119 | _buf.putString(' ' * (_indent)); |
| 1120 | } | 1120 | } |
| @@ -1125,7 +1125,7 @@ class PdfGraphics { | @@ -1125,7 +1125,7 @@ class PdfGraphics { | ||
| 1125 | _buf.putString(' BMC '); | 1125 | _buf.putString(' BMC '); |
| 1126 | 1126 | ||
| 1127 | assert(() { | 1127 | assert(() { |
| 1128 | - if (_page.pdfDocument.verbose) { | 1128 | + if (_page.pdfDocument.settings.verbose) { |
| 1129 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); | 1129 | _buf.putString(' ' * math.max(0, _commentIndent - _buf.offset + o)); |
| 1130 | _buf.putComment('markContentBegin($tag)'); | 1130 | _buf.putComment('markContentBegin($tag)'); |
| 1131 | } | 1131 | } |
| @@ -1135,7 +1135,7 @@ class PdfGraphics { | @@ -1135,7 +1135,7 @@ class PdfGraphics { | ||
| 1135 | 1135 | ||
| 1136 | void markContentEnd() { | 1136 | void markContentEnd() { |
| 1137 | assert(() { | 1137 | assert(() { |
| 1138 | - if (_page.pdfDocument.verbose) { | 1138 | + if (_page.pdfDocument.settings.verbose) { |
| 1139 | _buf.putString(' ' * (_indent)); | 1139 | _buf.putString(' ' * (_indent)); |
| 1140 | } | 1140 | } |
| 1141 | return true; | 1141 | return true; |
| @@ -1144,7 +1144,7 @@ class PdfGraphics { | @@ -1144,7 +1144,7 @@ class PdfGraphics { | ||
| 1144 | _buf.putString('EMC '); | 1144 | _buf.putString('EMC '); |
| 1145 | 1145 | ||
| 1146 | assert(() { | 1146 | assert(() { |
| 1147 | - if (_page.pdfDocument.verbose) { | 1147 | + if (_page.pdfDocument.settings.verbose) { |
| 1148 | _buf.putString(' ' * (_commentIndent - 4 - _indent)); | 1148 | _buf.putString(' ' * (_commentIndent - 4 - _indent)); |
| 1149 | _buf.putComment('markContentEnd()'); | 1149 | _buf.putComment('markContentEnd()'); |
| 1150 | } | 1150 | } |
| @@ -33,6 +33,7 @@ abstract class PdfObject<T extends PdfDataType> extends PdfObjectBase<T> { | @@ -33,6 +33,7 @@ abstract class PdfObject<T extends PdfDataType> extends PdfObjectBase<T> { | ||
| 33 | objser: objser ?? pdfDocument.genSerial(), | 33 | objser: objser ?? pdfDocument.genSerial(), |
| 34 | objgen: objgen, | 34 | objgen: objgen, |
| 35 | params: params, | 35 | params: params, |
| 36 | + settings: pdfDocument.settings, | ||
| 36 | ) { | 37 | ) { |
| 37 | pdfDocument.objects.add(this); | 38 | pdfDocument.objects.add(this); |
| 38 | } | 39 | } |
| @@ -42,18 +43,6 @@ abstract class PdfObject<T extends PdfDataType> extends PdfObjectBase<T> { | @@ -42,18 +43,6 @@ abstract class PdfObject<T extends PdfDataType> extends PdfObjectBase<T> { | ||
| 42 | 43 | ||
| 43 | var inUse = true; | 44 | var inUse = true; |
| 44 | 45 | ||
| 45 | - @override | ||
| 46 | - DeflateCallback? get deflate => pdfDocument.deflate; | ||
| 47 | - | ||
| 48 | - @override | ||
| 49 | - PdfEncryptCallback? get encryptCallback => pdfDocument.encryption?.encrypt; | ||
| 50 | - | ||
| 51 | - @override | ||
| 52 | - bool get verbose => pdfDocument.verbose; | ||
| 53 | - | ||
| 54 | - @override | ||
| 55 | - PdfVersion get version => pdfDocument.version; | ||
| 56 | - | ||
| 57 | /// Prepare the object to be written to the stream | 46 | /// Prepare the object to be written to the stream |
| 58 | @mustCallSuper | 47 | @mustCallSuper |
| 59 | void prepare() {} | 48 | void prepare() {} |
| @@ -38,7 +38,7 @@ class PdfObjectDict extends PdfObject<PdfDict> { | @@ -38,7 +38,7 @@ class PdfObjectDict extends PdfObject<PdfDict> { | ||
| 38 | @override | 38 | @override |
| 39 | void writeContent(PdfStream s) { | 39 | void writeContent(PdfStream s) { |
| 40 | if (params.isNotEmpty) { | 40 | if (params.isNotEmpty) { |
| 41 | - params.output(this, s, pdfDocument.verbose ? 0 : null); | 41 | + params.output(this, s, pdfDocument.settings.verbose ? 0 : null); |
| 42 | s.putByte(0x0a); | 42 | s.putByte(0x0a); |
| 43 | } | 43 | } |
| 44 | } | 44 | } |
| @@ -40,7 +40,7 @@ class PdfObjectStream extends PdfObjectDict { | @@ -40,7 +40,7 @@ class PdfObjectStream extends PdfObjectDict { | ||
| 40 | isBinary: isBinary, | 40 | isBinary: isBinary, |
| 41 | values: params.values, | 41 | values: params.values, |
| 42 | data: buf.output(), | 42 | data: buf.output(), |
| 43 | - ).output(this, s, pdfDocument.verbose ? 0 : null); | 43 | + ).output(this, s, pdfDocument.settings.verbose ? 0 : null); |
| 44 | s.putByte(0x0a); | 44 | s.putByte(0x0a); |
| 45 | } | 45 | } |
| 46 | } | 46 | } |
| @@ -52,7 +52,7 @@ class PdfType1Font extends PdfFont { | @@ -52,7 +52,7 @@ class PdfType1Font extends PdfFont { | ||
| 52 | }()), | 52 | }()), |
| 53 | super.create(pdfDocument, subtype: '/Type1') { | 53 | super.create(pdfDocument, subtype: '/Type1') { |
| 54 | params['/BaseFont'] = PdfName('/$fontName'); | 54 | params['/BaseFont'] = PdfName('/$fontName'); |
| 55 | - if (version.index >= PdfVersion.pdf_1_5.index) { | 55 | + if (settings.version.index >= PdfVersion.pdf_1_5.index) { |
| 56 | params['/FirstChar'] = const PdfNum(0); | 56 | params['/FirstChar'] = const PdfNum(0); |
| 57 | params['/LastChar'] = const PdfNum(256); | 57 | params['/LastChar'] = const PdfNum(256); |
| 58 | params['/Widths'] = PdfArray.fromNum(widths.map((e) => e * 1000)); | 58 | params['/Widths'] = PdfArray.fromNum(widths.map((e) => e * 1000)); |
| @@ -24,13 +24,15 @@ import 'package:test/test.dart'; | @@ -24,13 +24,15 @@ import 'package:test/test.dart'; | ||
| 24 | void main() { | 24 | void main() { |
| 25 | test('Pdf Minimal', () async { | 25 | test('Pdf Minimal', () async { |
| 26 | var objser = 1; | 26 | var objser = 1; |
| 27 | - const verbose = true; | ||
| 28 | - const version = PdfVersion.pdf_1_4; | 27 | + |
| 28 | + const settings = PdfSettings( | ||
| 29 | + verbose: true, | ||
| 30 | + version: PdfVersion.pdf_1_4, | ||
| 31 | + ); | ||
| 29 | 32 | ||
| 30 | final pages = PdfObjectBase( | 33 | final pages = PdfObjectBase( |
| 31 | objser: objser++, | 34 | objser: objser++, |
| 32 | - verbose: verbose, | ||
| 33 | - version: version, | 35 | + settings: settings, |
| 34 | params: PdfDict({ | 36 | params: PdfDict({ |
| 35 | '/Type': const PdfName('/Pages'), | 37 | '/Type': const PdfName('/Pages'), |
| 36 | '/Count': const PdfNum(1), | 38 | '/Count': const PdfNum(1), |
| @@ -38,16 +40,14 @@ void main() { | @@ -38,16 +40,14 @@ void main() { | ||
| 38 | 40 | ||
| 39 | final content = PdfObjectBase( | 41 | final content = PdfObjectBase( |
| 40 | objser: objser++, | 42 | objser: objser++, |
| 41 | - verbose: verbose, | ||
| 42 | - version: version, | 43 | + settings: settings, |
| 43 | params: PdfDictStream( | 44 | params: PdfDictStream( |
| 44 | data: latin1.encode('30 811.88976 m 200 641.88976 l S'), | 45 | data: latin1.encode('30 811.88976 m 200 641.88976 l S'), |
| 45 | )); | 46 | )); |
| 46 | 47 | ||
| 47 | final page = PdfObjectBase( | 48 | final page = PdfObjectBase( |
| 48 | objser: objser++, | 49 | objser: objser++, |
| 49 | - verbose: verbose, | ||
| 50 | - version: version, | 50 | + settings: settings, |
| 51 | params: PdfDict({ | 51 | params: PdfDict({ |
| 52 | '/Type': const PdfName('/Page'), | 52 | '/Type': const PdfName('/Page'), |
| 53 | '/Parent': pages.ref(), | 53 | '/Parent': pages.ref(), |
| @@ -64,8 +64,7 @@ void main() { | @@ -64,8 +64,7 @@ void main() { | ||
| 64 | 64 | ||
| 65 | final catalog = PdfObjectBase( | 65 | final catalog = PdfObjectBase( |
| 66 | objser: objser++, | 66 | objser: objser++, |
| 67 | - verbose: verbose, | ||
| 68 | - version: version, | 67 | + settings: settings, |
| 69 | params: PdfDict({ | 68 | params: PdfDict({ |
| 70 | '/Type': const PdfName('/Catalog'), | 69 | '/Type': const PdfName('/Catalog'), |
| 71 | '/Pages': pages.ref(), | 70 | '/Pages': pages.ref(), |
-
Please register or login to post a comment