Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
dart_pdf
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
David PHAM-VAN
2023-04-07 08:08:15 -0300
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
68e4d066faea570641f9799a6b9bbf1c8b49d499
68e4d066
1 parent
fdf7e2ca
Deprecate PdfArrayObject and PdfObjectDict
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
160 additions
and
103 deletions
pdf/CHANGELOG.md
pdf/lib/src/pdf/graphic_state.dart
pdf/lib/src/pdf/obj/annotation.dart
pdf/lib/src/pdf/obj/array.dart
pdf/lib/src/pdf/obj/border.dart
pdf/lib/src/pdf/obj/catalog.dart
pdf/lib/src/pdf/obj/encryption.dart
pdf/lib/src/pdf/obj/font.dart
pdf/lib/src/pdf/obj/font_descriptor.dart
pdf/lib/src/pdf/obj/function.dart
pdf/lib/src/pdf/obj/graphic_stream.dart
pdf/lib/src/pdf/obj/info.dart
pdf/lib/src/pdf/obj/names.dart
pdf/lib/src/pdf/obj/object.dart
pdf/lib/src/pdf/obj/object_dict.dart
pdf/lib/src/pdf/obj/object_stream.dart
pdf/lib/src/pdf/obj/outline.dart
pdf/lib/src/pdf/obj/page.dart
pdf/lib/src/pdf/obj/page_label.dart
pdf/lib/src/pdf/obj/page_list.dart
pdf/lib/src/pdf/obj/pattern.dart
pdf/lib/src/pdf/obj/shading.dart
pdf/lib/src/pdf/obj/signature.dart
pdf/lib/src/pdf/obj/ttffont.dart
pdf/lib/src/pdf/obj/type1_font.dart
pdf/CHANGELOG.md
View file @
68e4d06
...
...
@@ -3,6 +3,7 @@
## 3.10.2
-
Fix Type1 font widths
-
Deprecate PdfArrayObject and PdfObjectDict
## 3.10.1
...
...
pdf/lib/src/pdf/graphic_state.dart
View file @
68e4d06
...
...
@@ -23,7 +23,7 @@ import 'format/dict.dart';
import
'format/name.dart'
;
import
'format/num.dart'
;
import
'obj/function.dart'
;
import
'obj/object
_dict
.dart'
;
import
'obj/object.dart'
;
import
'obj/smask.dart'
;
enum
PdfBlendMode
{
...
...
@@ -165,9 +165,10 @@ class PdfGraphicState {
}
/// Stores all the graphic states used in the document
class
PdfGraphicStates
extends
PdfObject
Dict
{
class
PdfGraphicStates
extends
PdfObject
<
PdfDict
>
{
/// Create a new Graphic States object
PdfGraphicStates
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
);
PdfGraphicStates
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
,
params:
PdfDict
());
final
List
<
PdfGraphicState
>
_states
=
<
PdfGraphicState
>[];
...
...
pdf/lib/src/pdf/obj/annotation.dart
View file @
68e4d06
...
...
@@ -34,7 +34,6 @@ import 'border.dart';
import
'font.dart'
;
import
'graphic_stream.dart'
;
import
'object.dart'
;
import
'object_dict.dart'
;
import
'page.dart'
;
class
PdfChoiceField
extends
PdfAnnotWidget
{
...
...
@@ -104,9 +103,12 @@ class PdfChoiceField extends PdfAnnotWidget {
}
}
class
PdfAnnot
extends
PdfObject
Dict
{
class
PdfAnnot
extends
PdfObject
<
PdfDict
>
{
PdfAnnot
(
this
.
pdfPage
,
this
.
annot
)
:
super
(
pdfPage
.
pdfDocument
,
type:
'/Annot'
)
{
:
super
(
pdfPage
.
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/Annot'
),
}))
{
pdfPage
.
annotations
.
add
(
this
);
}
...
...
pdf/lib/src/pdf/obj/array.dart
View file @
68e4d06
...
...
@@ -19,6 +19,7 @@ import '../format/array.dart';
import
'object.dart'
;
/// An array object
@Deprecated
(
'Use PdfObject<PdfArray> instead'
)
class
PdfArrayObject
extends
PdfObject
<
PdfArray
>
{
/// Creates an array object
PdfArrayObject
(
...
...
pdf/lib/src/pdf/obj/border.dart
View file @
68e4d06
...
...
@@ -16,10 +16,11 @@
import
'../document.dart'
;
import
'../format/array.dart'
;
import
'../format/dict.dart'
;
import
'../format/name.dart'
;
import
'../format/num.dart'
;
import
'annotation.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
/// Border style
enum
PdfBorderStyle
{
...
...
@@ -42,14 +43,14 @@ enum PdfBorderStyle {
}
/// Defines a border object
class
PdfBorder
extends
PdfObject
Dict
{
class
PdfBorder
extends
PdfObject
<
PdfDict
>
{
/// Creates a border using the predefined styles in [PdfAnnot].
PdfBorder
(
PdfDocument
pdfDocument
,
this
.
width
,
{
this
.
style
=
PdfBorderStyle
.
solid
,
this
.
dash
,
})
:
super
(
pdfDocument
);
})
:
super
(
pdfDocument
,
params:
PdfDict
()
);
/// The style of the border
final
PdfBorderStyle
style
;
...
...
pdf/lib/src/pdf/obj/catalog.dart
View file @
68e4d06
...
...
@@ -22,13 +22,13 @@ import '../format/num.dart';
import
'annotation.dart'
;
import
'metadata.dart'
;
import
'names.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'outline.dart'
;
import
'page_label.dart'
;
import
'page_list.dart'
;
/// Pdf Catalog object
class
PdfCatalog
extends
PdfObject
Dict
{
class
PdfCatalog
extends
PdfObject
<
PdfDict
>
{
/// This constructs a Pdf Catalog object
PdfCatalog
(
PdfDocument
pdfDocument
,
...
...
@@ -36,7 +36,14 @@ class PdfCatalog extends PdfObjectDict {
this
.
pageMode
,
int
objgen
=
0
,
int
?
objser
,
})
:
super
(
pdfDocument
,
type:
'/Catalog'
,
objser:
objser
,
objgen:
objgen
);
})
:
super
(
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/Catalog'
),
}),
objser:
objser
,
objgen:
objgen
,
);
/// The pages of the document
final
PdfPageList
pdfPageList
;
...
...
pdf/lib/src/pdf/obj/encryption.dart
View file @
68e4d06
...
...
@@ -17,13 +17,15 @@
import
'dart:typed_data'
;
import
'../document.dart'
;
import
'../format/dict.dart'
;
import
'../format/object_base.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
/// Encryption object
abstract
class
PdfEncryption
extends
PdfObject
Dict
{
abstract
class
PdfEncryption
extends
PdfObject
<
PdfDict
>
{
/// Creates an encryption object
PdfEncryption
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
);
PdfEncryption
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
,
params:
PdfDict
());
/// Encrypt some data
Uint8List
encrypt
(
Uint8List
input
,
PdfObjectBase
object
);
...
...
pdf/lib/src/pdf/obj/font.dart
View file @
68e4d06
...
...
@@ -19,19 +19,25 @@ import 'dart:convert';
import
'../document.dart'
;
import
'../font/font_metrics.dart'
;
import
'../font/type1_fonts.dart'
;
import
'../format/dict.dart'
;
import
'../format/name.dart'
;
import
'../format/stream.dart'
;
import
'../format/string.dart'
;
import
'../point.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'type1_font.dart'
;
/// Pdf font object
abstract
class
PdfFont
extends
PdfObject
Dict
{
abstract
class
PdfFont
extends
PdfObject
<
PdfDict
>
{
/// Constructs a [PdfFont]. This will attempt to map the font from a known
/// font name to that in Pdf, defaulting to Helvetica if not possible.
PdfFont
.
create
(
PdfDocument
pdfDocument
,
{
required
this
.
subtype
})
:
super
(
pdfDocument
,
type:
'/Font'
)
{
:
super
(
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/Font'
),
}),
)
{
pdfDocument
.
fonts
.
add
(
this
);
}
...
...
pdf/lib/src/pdf/obj/font_descriptor.dart
View file @
68e4d06
...
...
@@ -15,24 +15,30 @@
*/
import
'../format/array.dart'
;
import
'../format/dict.dart'
;
import
'../format/name.dart'
;
import
'../format/num.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'object_stream.dart'
;
import
'ttffont.dart'
;
/// Font descriptor object
class
PdfFontDescriptor
extends
PdfObject
Dict
{
class
PdfFontDescriptor
extends
PdfObject
<
PdfDict
>
{
/// Create a Font descriptor object
PdfFontDescriptor
(
this
.
ttfFont
,
this
.
file
,
)
:
super
(
ttfFont
.
pdfDocument
,
type:
'/FontDescriptor'
);
)
:
super
(
ttfFont
.
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/FontDescriptor'
),
}),
);
/// File data
final
PdfObjectStream
file
;
/// True
t
ype font
/// True
T
ype font
final
PdfTtfFont
ttfFont
;
@override
...
...
pdf/lib/src/pdf/obj/function.dart
View file @
68e4d06
...
...
@@ -17,12 +17,14 @@
import
'../color.dart'
;
import
'../document.dart'
;
import
'../format/array.dart'
;
import
'../format/dict.dart'
;
import
'../format/num.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'object_stream.dart'
;
abstract
class
PdfBaseFunction
extends
PdfObjectDict
{
PdfBaseFunction
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
);
abstract
class
PdfBaseFunction
extends
PdfObject
<
PdfDict
>
{
PdfBaseFunction
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
,
params:
PdfDict
());
factory
PdfBaseFunction
.
colorsAndStops
(
PdfDocument
pdfDocument
,
...
...
pdf/lib/src/pdf/obj/graphic_stream.dart
View file @
68e4d06
...
...
@@ -21,13 +21,13 @@ import '../format/dict.dart';
import
'../format/name.dart'
;
import
'../graphic_state.dart'
;
import
'font.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'pattern.dart'
;
import
'shading.dart'
;
import
'xobject.dart'
;
/// Helper functions for graphic objects
mixin
PdfGraphicStream
on
PdfObject
Dict
{
mixin
PdfGraphicStream
on
PdfObject
<
PdfDict
>
{
/// Isolated transparency: If this flag is true, objects within the group
/// shall be composited against a fully transparent initial backdrop;
/// if false, they shall be composited against the group’s backdrop
...
...
pdf/lib/src/pdf/obj/info.dart
View file @
68e4d06
...
...
@@ -15,43 +15,36 @@
*/
import
'../document.dart'
;
import
'../format/dict.dart'
;
import
'../format/string.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
/// Information object
class
PdfInfo
extends
PdfObject
Dict
{
class
PdfInfo
extends
PdfObject
<
PdfDict
>
{
/// Create an information object
PdfInfo
(
PdfDocument
pdfDocument
,
{
this
.
title
,
PdfInfo
(
PdfDocument
pdfDocument
,
{
this
.
title
,
this
.
author
,
this
.
creator
,
this
.
subject
,
this
.
keywords
,
this
.
producer
})
:
super
(
pdfDocument
)
{
if
(
author
!=
null
)
{
params
[
'/Author'
]
=
PdfString
.
fromString
(
author
!);
}
if
(
creator
!=
null
)
{
params
[
'/Creator'
]
=
PdfString
.
fromString
(
creator
!);
}
if
(
title
!=
null
)
{
params
[
'/Title'
]
=
PdfString
.
fromString
(
title
!);
}
if
(
subject
!=
null
)
{
params
[
'/Subject'
]
=
PdfString
.
fromString
(
subject
!);
}
if
(
keywords
!=
null
)
{
params
[
'/Keywords'
]
=
PdfString
.
fromString
(
keywords
!);
}
if
(
producer
!=
null
)
{
params
[
'/Producer'
]
=
PdfString
.
fromString
(
'
$producer
(
$_libraryName
)'
);
}
else
{
params
[
'/Producer'
]
=
PdfString
.
fromString
(
_libraryName
);
}
params
[
'/CreationDate'
]
=
PdfString
.
fromDate
(
DateTime
.
now
());
}
this
.
producer
,
})
:
super
(
pdfDocument
,
params:
PdfDict
({
if
(
author
!=
null
)
'/Author'
:
PdfString
.
fromString
(
author
),
if
(
creator
!=
null
)
'/Creator'
:
PdfString
.
fromString
(
creator
),
if
(
title
!=
null
)
'/Title'
:
PdfString
.
fromString
(
title
),
if
(
subject
!=
null
)
'/Subject'
:
PdfString
.
fromString
(
subject
),
if
(
keywords
!=
null
)
'/Keywords'
:
PdfString
.
fromString
(
keywords
),
if
(
producer
!=
null
)
'/Producer'
:
PdfString
.
fromString
(
'
$producer
(
$_libraryName
)'
)
else
'/Producer'
:
PdfString
.
fromString
(
_libraryName
),
'/CreationDate'
:
PdfString
.
fromDate
(
DateTime
.
now
()),
}),
);
static
const
String
_libraryName
=
'https://github.com/DavBfr/dart_pdf'
;
...
...
pdf/lib/src/pdf/obj/names.dart
View file @
68e4d06
...
...
@@ -22,13 +22,13 @@ import '../format/name.dart';
import
'../format/null_value.dart'
;
import
'../format/num.dart'
;
import
'../format/string.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'page.dart'
;
/// Pdf Name object
class
PdfNames
extends
PdfObject
Dict
{
class
PdfNames
extends
PdfObject
<
PdfDict
>
{
/// This constructs a Pdf Name object
PdfNames
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
);
PdfNames
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
,
params:
PdfDict
()
);
final
Map
<
String
,
PdfDataType
>
_dests
=
<
String
,
PdfDataType
>{};
...
...
pdf/lib/src/pdf/obj/object.dart
View file @
68e4d06
...
...
@@ -21,9 +21,8 @@ import '../format/base.dart';
import
'../format/object_base.dart'
;
/// Base Object used in the PDF file
abstract
class
PdfObject
<
T
extends
PdfDataType
>
extends
PdfObjectBase
<
T
>
{
/// This is usually called by extensors to this class, and sets the
/// Pdf Object Type
class
PdfObject
<
T
extends
PdfDataType
>
extends
PdfObjectBase
<
T
>
{
/// Create a base Object used in the PDF file
PdfObject
(
this
.
pdfDocument
,
{
required
T
params
,
...
...
pdf/lib/src/pdf/obj/object_dict.dart
View file @
68e4d06
...
...
@@ -21,6 +21,7 @@ import '../format/stream.dart';
import
'object.dart'
;
/// Object with a PdfDict used in the PDF file
@Deprecated
(
'Use PdfObject<PdfDict> instead'
)
class
PdfObjectDict
extends
PdfObject
<
PdfDict
>
{
/// This is usually called by extensors to this class, and sets the
/// Pdf Object Type
...
...
pdf/lib/src/pdf/obj/object_stream.dart
View file @
68e4d06
...
...
@@ -15,18 +15,25 @@
*/
import
'../document.dart'
;
import
'../format/dict.dart'
;
import
'../format/dict_stream.dart'
;
import
'../format/name.dart'
;
import
'../format/stream.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
/// Stream Object
class
PdfObjectStream
extends
PdfObject
Dict
{
class
PdfObjectStream
extends
PdfObject
<
PdfDict
>
{
/// Constructs a stream object to store some data
PdfObjectStream
(
PdfDocument
pdfDocument
,
{
String
?
type
,
this
.
isBinary
=
false
,
})
:
super
(
pdfDocument
,
type:
type
);
})
:
super
(
pdfDocument
,
params:
PdfDict
({
if
(
type
!=
null
)
'/Type'
:
PdfName
(
type
),
}),
);
/// This holds the stream's content.
final
PdfStream
buf
=
PdfStream
();
...
...
pdf/lib/src/pdf/obj/outline.dart
View file @
68e4d06
...
...
@@ -17,11 +17,12 @@
import
'../color.dart'
;
import
'../document.dart'
;
import
'../format/array.dart'
;
import
'../format/dict.dart'
;
import
'../format/name.dart'
;
import
'../format/num.dart'
;
import
'../format/string.dart'
;
import
'../rect.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'page.dart'
;
/// Outline mode
...
...
@@ -49,7 +50,7 @@ enum PdfOutlineStyle {
}
/// Pdf Outline object
class
PdfOutline
extends
PdfObject
Dict
{
class
PdfOutline
extends
PdfObject
<
PdfDict
>
{
/// Constructs a Pdf Outline object.
/// When selected, the specified region is displayed.
PdfOutline
(
...
...
@@ -64,7 +65,7 @@ class PdfOutline extends PdfObjectDict {
PdfPage
?
page
,
})
:
assert
(
anchor
==
null
||
(
dest
==
null
&&
rect
==
null
)),
_page
=
page
,
super
(
pdfDocument
);
super
(
pdfDocument
,
params:
PdfDict
()
);
/// This holds any outlines below us
List
<
PdfOutline
>
outlines
=
<
PdfOutline
>[];
...
...
pdf/lib/src/pdf/obj/page.dart
View file @
68e4d06
...
...
@@ -16,14 +16,15 @@
import
'../document.dart'
;
import
'../format/array.dart'
;
import
'../format/dict.dart'
;
import
'../format/indirect.dart'
;
import
'../format/name.dart'
;
import
'../format/num.dart'
;
import
'../graphics.dart'
;
import
'../page_format.dart'
;
import
'annotation.dart'
;
import
'graphic_stream.dart'
;
import
'object.dart'
;
import
'object_dict.dart'
;
import
'object_stream.dart'
;
/// Page rotation
...
...
@@ -42,7 +43,7 @@ enum PdfPageRotation {
}
/// Page object, which will hold any contents for this page.
class
PdfPage
extends
PdfObject
Dict
with
PdfGraphicStream
{
class
PdfPage
extends
PdfObject
<
PdfDict
>
with
PdfGraphicStream
{
/// This constructs a Page object, which will hold any contents for this
/// page.
PdfPage
(
...
...
@@ -52,7 +53,12 @@ class PdfPage extends PdfObjectDict with PdfGraphicStream {
int
?
index
,
int
?
objser
,
int
objgen
=
0
,
})
:
super
(
pdfDocument
,
type:
'/Page'
,
objser:
objser
,
objgen:
objgen
)
{
})
:
super
(
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/Page'
),
}),
objser:
objser
,
objgen:
objgen
)
{
if
(
index
!=
null
)
{
pdfDocument
.
pdfPageList
.
pages
.
insert
(
index
,
this
);
}
else
{
...
...
pdf/lib/src/pdf/obj/page_label.dart
View file @
68e4d06
...
...
@@ -20,7 +20,7 @@ import '../format/dict.dart';
import
'../format/name.dart'
;
import
'../format/num.dart'
;
import
'../format/string.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
enum
PdfPageLabelStyle
{
arabic
,
...
...
@@ -145,9 +145,10 @@ class PdfPageLabel {
}
/// Pdf PageLabels object
class
PdfPageLabels
extends
PdfObject
Dict
{
class
PdfPageLabels
extends
PdfObject
<
PdfDict
>
{
/// Constructs a Pdf PageLabels object.
PdfPageLabels
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
);
PdfPageLabels
(
PdfDocument
pdfDocument
)
:
super
(
pdfDocument
,
params:
PdfDict
());
final
labels
=
<
int
,
PdfPageLabel
>{};
...
...
pdf/lib/src/pdf/obj/page_list.dart
View file @
68e4d06
...
...
@@ -16,18 +16,27 @@
import
'../document.dart'
;
import
'../format/array.dart'
;
import
'../format/dict.dart'
;
import
'../format/name.dart'
;
import
'../format/num.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'page.dart'
;
/// PdfPageList object
class
PdfPageList
extends
PdfObject
Dict
{
class
PdfPageList
extends
PdfObject
<
PdfDict
>
{
/// This constructs a [PdfPageList] object.
PdfPageList
(
PdfDocument
pdfDocument
,
{
int
objgen
=
0
,
int
?
objser
,
})
:
super
(
pdfDocument
,
type:
'/Pages'
,
objgen:
objgen
,
objser:
objser
);
})
:
super
(
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/Pages'
),
}),
objgen:
objgen
,
objser:
objser
,
);
/// This holds the pages
final
pages
=
<
PdfPage
>[];
...
...
pdf/lib/src/pdf/obj/pattern.dart
View file @
68e4d06
...
...
@@ -18,14 +18,15 @@ import 'package:vector_math/vector_math_64.dart';
import
'../document.dart'
;
import
'../format/array.dart'
;
import
'../format/dict.dart'
;
import
'../format/num.dart'
;
import
'../graphic_state.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
import
'shading.dart'
;
abstract
class
PdfPattern
extends
PdfObject
Dict
{
abstract
class
PdfPattern
extends
PdfObject
<
PdfDict
>
{
PdfPattern
(
PdfDocument
pdfDocument
,
this
.
patternType
,
this
.
matrix
)
:
super
(
pdfDocument
);
:
super
(
pdfDocument
,
params:
PdfDict
()
);
/// Name of the Pattern object
String
get
name
=>
'/P
$objser
'
;
...
...
pdf/lib/src/pdf/obj/shading.dart
View file @
68e4d06
...
...
@@ -17,16 +17,17 @@
import
'../document.dart'
;
import
'../format/array.dart'
;
import
'../format/bool.dart'
;
import
'../format/dict.dart'
;
import
'../format/name.dart'
;
import
'../format/num.dart'
;
import
'../point.dart'
;
import
'../rect.dart'
;
import
'function.dart'
;
import
'object
_dict
.dart'
;
import
'object.dart'
;
enum
PdfShadingType
{
axial
,
radial
}
class
PdfShading
extends
PdfObject
Dict
{
class
PdfShading
extends
PdfObject
<
PdfDict
>
{
PdfShading
(
PdfDocument
pdfDocument
,
{
required
this
.
shadingType
,
...
...
@@ -38,7 +39,7 @@ class PdfShading extends PdfObjectDict {
this
.
boundingBox
,
this
.
extendStart
=
false
,
this
.
extendEnd
=
false
,
})
:
super
(
pdfDocument
);
})
:
super
(
pdfDocument
,
params:
PdfDict
()
);
/// Name of the Shading object
String
get
name
=>
'/S
$objser
'
;
...
...
pdf/lib/src/pdf/obj/signature.dart
View file @
68e4d06
...
...
@@ -18,9 +18,9 @@ import 'dart:typed_data';
import
'../document.dart'
;
import
'../format/dict.dart'
;
import
'../format/name.dart'
;
import
'../format/stream.dart'
;
import
'object.dart'
;
import
'object_dict.dart'
;
import
'object_stream.dart'
;
/// Signature flags
...
...
@@ -35,7 +35,7 @@ enum PdfSigFlags {
appendOnly
,
}
class
PdfSignature
extends
PdfObject
Dict
{
class
PdfSignature
extends
PdfObject
<
PdfDict
>
{
PdfSignature
(
PdfDocument
pdfDocument
,
{
required
this
.
value
,
...
...
@@ -43,7 +43,12 @@ class PdfSignature extends PdfObjectDict {
List
<
Uint8List
>?
crl
,
List
<
Uint8List
>?
cert
,
List
<
Uint8List
>?
ocsp
,
})
:
super
(
pdfDocument
,
type:
'/Sig'
)
{
})
:
super
(
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/Sig'
),
}),
)
{
if
(
crl
!=
null
)
{
for
(
final
o
in
crl
)
{
this
.
crl
.
add
(
PdfObjectStream
(
pdfDocument
)..
buf
.
putBytes
(
o
));
...
...
pdf/lib/src/pdf/obj/ttffont.dart
View file @
68e4d06
...
...
@@ -28,9 +28,9 @@ import '../format/name.dart';
import
'../format/num.dart'
;
import
'../format/stream.dart'
;
import
'../format/string.dart'
;
import
'array.dart'
;
import
'font.dart'
;
import
'font_descriptor.dart'
;
import
'object.dart'
;
import
'object_stream.dart'
;
import
'unicode_cmap.dart'
;
...
...
@@ -42,7 +42,7 @@ class PdfTtfFont extends PdfFont {
file
=
PdfObjectStream
(
pdfDocument
,
isBinary:
true
);
unicodeCMap
=
PdfUnicodeCmap
(
pdfDocument
,
protect
);
descriptor
=
PdfFontDescriptor
(
this
,
file
);
widthsObject
=
Pdf
ArrayObject
(
pdfDocument
,
PdfArray
());
widthsObject
=
Pdf
Object
<
PdfArray
>(
pdfDocument
,
params:
PdfArray
());
}
@override
...
...
@@ -54,7 +54,7 @@ class PdfTtfFont extends PdfFont {
late
PdfObjectStream
file
;
late
Pdf
ArrayObject
widthsObject
;
late
Pdf
Object
<
PdfArray
>
widthsObject
;
final
TtfParser
font
;
...
...
@@ -98,7 +98,7 @@ class PdfTtfFont extends PdfFont {
charMin
=
32
;
charMax
=
255
;
for
(
var
i
=
charMin
;
i
<=
charMax
;
i
++)
{
widthsObject
.
array
widthsObject
.
params
.
add
(
PdfNum
((
glyphMetrics
(
i
).
advanceWidth
*
1000.0
).
toInt
()));
}
params
[
'/FirstChar'
]
=
PdfNum
(
charMin
);
...
...
@@ -142,7 +142,7 @@ class PdfTtfFont extends PdfFont {
charMin
=
0
;
charMax
=
unicodeCMap
.
cmap
.
length
-
1
;
for
(
var
i
=
charMin
;
i
<=
charMax
;
i
++)
{
widthsObject
.
array
.
add
(
PdfNum
(
widthsObject
.
params
.
add
(
PdfNum
(
(
glyphMetrics
(
unicodeCMap
.
cmap
[
i
]).
advanceWidth
*
1000.0
).
toInt
()));
}
}
...
...
pdf/lib/src/pdf/obj/type1_font.dart
View file @
68e4d06
...
...
@@ -19,7 +19,6 @@ import '../document.dart';
import
'../font/font_metrics.dart'
;
import
'../format/object_base.dart'
;
import
'font.dart'
;
import
'object_dict.dart'
;
import
'ttffont.dart'
;
/// Type 1 font object.
...
...
@@ -63,17 +62,22 @@ class PdfType1Font extends PdfFont {
List
<
int
>.
filled
(
256
,
(
missingWidth
*
unitsPerEm
).
toInt
()));
}
final
fontDescriptor
=
PdfObjectDict
(
pdfDocument
,
type:
'/FontDescriptor'
)
..
params
[
'/FontName'
]
=
PdfName
(
'/
$fontName
'
)
..
params
[
'/Flags'
]
=
PdfNum
(
32
+
(
isFixedPitch
?
1
:
0
))
..
params
[
'/FontBBox'
]
=
PdfArray
.
fromNum
(
fontBBox
)
..
params
[
'/Ascent'
]
=
PdfNum
((
ascent
*
unitsPerEm
).
toInt
())
..
params
[
'/Descent'
]
=
PdfNum
((
descent
*
unitsPerEm
).
toInt
())
..
params
[
'/ItalicAngle'
]
=
PdfNum
(
italicAngle
)
..
params
[
'/CapHeight'
]
=
PdfNum
(
capHeight
)
..
params
[
'/StemV'
]
=
PdfNum
(
stdVW
)
..
params
[
'/StemH'
]
=
PdfNum
(
stdHW
)
..
params
[
'/MissingWidth'
]
=
PdfNum
((
missingWidth
*
unitsPerEm
).
toInt
());
final
fontDescriptor
=
PdfObject
<
PdfDict
>(
pdfDocument
,
params:
PdfDict
({
'/Type'
:
const
PdfName
(
'/FontDescriptor'
),
'/FontName'
:
PdfName
(
'/
$fontName
'
),
'/Flags'
:
PdfNum
(
32
+
(
isFixedPitch
?
1
:
0
)),
'/FontBBox'
:
PdfArray
.
fromNum
(
fontBBox
),
'/Ascent'
:
PdfNum
((
ascent
*
unitsPerEm
).
toInt
()),
'/Descent'
:
PdfNum
((
descent
*
unitsPerEm
).
toInt
()),
'/ItalicAngle'
:
PdfNum
(
italicAngle
),
'/CapHeight'
:
PdfNum
(
capHeight
),
'/StemV'
:
PdfNum
(
stdVW
),
'/StemH'
:
PdfNum
(
stdHW
),
'/MissingWidth'
:
PdfNum
((
missingWidth
*
unitsPerEm
).
toInt
()),
}),
);
params
[
'/FontDescriptor'
]
=
fontDescriptor
.
ref
();
}
...
...
Please
register
or
login
to post a comment