This version of the module is deprecated: Use moonbitlang/pdflite instead
flowchart LR
Bytes[PDF bytes] --> Reader[pdf_read_document_from_bytes]
Reader --> Document[PdfDocument]
Document --> Pages[page tree and resources]
Document --> Objects[object table]
Pages --> Content[content operators]
Objects --> Writer[pdf_write_document]
Content --> Writer
Writer --> BytesOut[PDF bytes]///|
test "minimum document round trip" {
let document = try! pdf_minimum_valid_pdf()
let bytes = try! pdf_write_document(document)
let version = try! pdf_read_header_from_bytes(bytes)
if version.major != 1 || version.minor != 0 {
fail("expected a PDF 1.0 header")
}
let parsed = try! pdf_read_document_from_bytes(bytes)
inspect(try! parsed.endpage(), content="1")
}///|
test "name writer escapes delimiter bytes" {
let name = pdf_name_of_bytes(try! pdf_bytes_of_int_array([47, 65, 32, 66]))
@test.assert_eq(pdf_int_array_of_bytes(pdf_write_name(name)), [
47, 65, 35, 50, 48, 66,
])
}type PdfBytes = Bytespub struct BitStream {
input : ByteCursor
current_byte : Int
bit_mask : Int
bits_read : Int
} derive(Eq, ToJson, Debug)fn ByteCursor::ignore_until(self : ByteCursor, stop : (Int) -> Bool, eof_is_delimiter? : Bool) -> Unit raise PdfErrorfn ByteCursor::read_bytes_at(self : ByteCursor, position : Int, length : Int) -> Bytes raise PdfErrorfn ByteCursor::read_until_view(self : ByteCursor, stop : (Int) -> Bool, eof_is_delimiter? : Bool) -> BytesView raise PdfErrorfn ByteCursor::read_view_at(self : ByteCursor, position : Int, length : Int) -> BytesView raise PdfErrorfn ByteOutput::write_repeated_byte(self : ByteOutput, length : Int, value? : Int) -> Unit raise PdfErrorfn ByteOutput::write_view_at(self : ByteOutput, position : Int, bytes : BytesView) -> Unit raise PdfErrorfn ByteOutput::write_view_slice(self : ByteOutput, bytes : BytesView, offset : Int, length : Int) -> Unit raise PdfErrorpub(all) enum PdfAddTextFontSource {
PdfAddTextPreMadeFontPack(PdfFontPack)
PdfAddTextExistingNamedFont
} derive(Eq, ToJson, Debug)pub(all) struct PdfAddTextPreparedLine {
text : String
text_bytes : Bytes
urls : Array[PdfAddTextUrl]
expanded_lines : Array[String]
expanded_line_bytes : Array[Bytes]
widths : PdfAddTextLineWidths
placement : PdfAddTextLinePlacement
} derive(Eq, ToJson, Debug)pub(all) struct PdfAddTextUrlLine {
text : String
urls : Array[PdfAddTextUrl]
} derive(Eq, ToJson, Debug)pub(all) struct PdfAnnotation {
subtype : PdfAnnotationSubtype
contents : Bytes?
subject : Bytes?
rectangle : PdfRectangle
border : PdfAnnotationBorder
colour : PdfAnnotationColour?
rest : PdfObject
} derive(Eq, ToJson, Debug)pub(all) struct PdfAnnotationBorder {
width : Double
vertical_radius : Double
horizontal_radius : Double
style : PdfAnnotationStyle
dash_array : Array[Int]
} derive(Eq, ToJson, Debug)pub(all) enum PdfAnnotationSubtype {
AnnotationText
AnnotationLink
AnnotationFreeText
AnnotationLine
AnnotationSquare
AnnotationCircle
AnnotationPolygon
AnnotationPolyLine
AnnotationHighlight
AnnotationUnderline
AnnotationSquiggly
AnnotationStrikeOut
AnnotationStamp
AnnotationCaret
AnnotationInk
AnnotationPopup(PdfAnnotation)
AnnotationFileAttachment
AnnotationSound
AnnotationMovie
AnnotationWidget
AnnotationScreen
AnnotationPrinterMark
AnnotationTrapNet
AnnotationWatermark
AnnotationThreeDee
AnnotationUnknown(PdfName)
} derive(Eq, ToJson, Debug)pub(all) struct PdfBookmark {
level : Int
text : Bytes
target : PdfDestination
is_open : Bool
colour : PdfBookmarkColour
flags : Int
} derive(Eq, ToJson, Debug)pub(all) struct PdfCIDKeyedFont {
basefont : PdfName
composite : PdfCompositeCIDFont
encoding : PdfCMapEncoding
} derive(Eq, ToJson, Debug)pub(all) enum PdfCMapEncoding {
PdfPredefinedCMap(PdfName)
PdfCMap(Int)
PdfExternalCMap(Int, PdfParsedCMap)
} derive(Eq, ToJson, Debug)pub(all) struct PdfCalculatorFunction {
operations : Array[PdfCalculatorOp]
} derive(Eq, ToJson, Debug)pub(all) enum PdfCalculatorOp {
PdfCalculatorInt(Int)
PdfCalculatorFloat(Double)
PdfCalculatorAbs
PdfCalculatorAdd
PdfCalculatorAnd
PdfCalculatorAtan
PdfCalculatorBitshift
PdfCalculatorBool(Bool)
PdfCalculatorCeiling
PdfCalculatorCos
PdfCalculatorCopy
PdfCalculatorCvi
PdfCalculatorCvr
PdfCalculatorSub
PdfCalculatorMul
PdfCalculatorDiv
PdfCalculatorDup
PdfCalculatorExch
PdfCalculatorExp
PdfCalculatorFloor
PdfCalculatorIdiv
PdfCalculatorIf(Array[PdfCalculatorOp])
PdfCalculatorIfElse(Array[PdfCalculatorOp], Array[PdfCalculatorOp])
PdfCalculatorIndex
PdfCalculatorLn
PdfCalculatorLog
PdfCalculatorEq
PdfCalculatorGe
PdfCalculatorGt
PdfCalculatorLe
PdfCalculatorLt
PdfCalculatorMod
PdfCalculatorNe
PdfCalculatorNeg
PdfCalculatorNot
PdfCalculatorOr
PdfCalculatorPop
PdfCalculatorRoll
PdfCalculatorRound
PdfCalculatorSin
PdfCalculatorSqrt
PdfCalculatorTruncate
PdfCalculatorXor
} derive(Eq, ToJson, Debug)pub(all) struct PdfClipContour {
hole : Bool
vertices : Array[PdfClipVertex]
} derive(Eq, ToJson, Debug)fn PdfClipOperation::clip_polygons(self : PdfClipOperation, subject : PdfClipPolygon, clip : PdfClipPolygon) -> PdfClipPolygon raise PdfErrorpub(all) enum PdfColourSpace {
PdfDeviceGray
PdfDeviceRGB
PdfDeviceCMYK
PdfCalGray(PdfTristimulusPoint, PdfTristimulusPoint, Double)
PdfCalRGB(PdfTristimulusPoint, PdfTristimulusPoint, Array[Double], Array[Double])
PdfLab(PdfTristimulusPoint, PdfTristimulusPoint, Array[Double])
PdfICCBased(Int, PdfColourSpace, Array[Double], PdfObject?, PdfObject)
PdfIndexed(PdfColourSpace, Array[(Int, Array[Int])])
PdfPattern
PdfPatternWithBaseColourSpace(PdfColourSpace)
PdfSeparation(PdfName, PdfColourSpace, PdfObject)
PdfDeviceN(Array[PdfName], PdfColourSpace, PdfObject, PdfObject)
} derive(Eq, ToJson, Debug)pub(all) struct PdfCompositeCIDFont {
cid_system_info : PdfCIDSystemInfo
cid_basefont : PdfName
cid_fontdescriptor : PdfFontDescriptor
cid_widths : Array[(Int, Double)]
cid_widths2 : Array[(Int, PdfCIDVerticalWidth)]
cid_default_width : Double
cid_default_width2 : Array[Double]
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentAxialShading {
axialshading_coords : (Double, Double, Double, Double)
axialshading_domain : (Double, Double)
axialshading_function : Array[PdfFunction]
axialshading_extend : (Bool, Bool)
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentFunctionShading {
funshading_domain : (Double, Double, Double, Double)
funshading_matrix : TransformMatrix
funshading_function : PdfFunction
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentJsonEntry {
object : PdfContentObject
state : PdfContentState
bounding_box : PdfContentBoundingBox
} derive(Eq, ToJson, Debug)pub(all) enum PdfContentObject {
PdfContentGlyphObject(Int, String, String)
PdfContentInlineImageObject
PdfContentImageObject(String)
PdfContentPathObject(PdfDrawnPath)
PdfContentShadingObject(String)
} derive(Eq, ToJson, Debug)pub(all) enum PdfContentOp {
Op_w(Double)
Op_J(Int)
Op_j(Int)
Op_M(Double)
Op_d(Array[Double], Double)
Op_ri(PdfName)
Op_i(Double)
Op_q
Op_Q
Op_cm(TransformMatrix)
Op_m(Double, Double)
Op_l(Double, Double)
Op_c(Double, Double, Double, Double, Double, Double)
Op_v(Double, Double, Double, Double)
Op_y(Double, Double, Double, Double)
Op_h
Op_re(Double, Double, Double, Double)
Op_S
Op_s
Op_f
Op_F
Op_fstar
Op_B
Op_Bstar
Op_b
Op_bstar
Op_n
Op_W
Op_Wstar
Op_BT
Op_ET
Op_Tc(Double)
Op_Tw(Double)
Op_Tz(Double)
Op_TL(Double)
Op_Tf(PdfName, Double)
Op_Tr(Int)
Op_Ts(Double)
Op_Td(Double, Double)
Op_TD(Double, Double)
Op_Tm(TransformMatrix)
Op_Tstar
Op_Tj(Bytes)
Op_TJ(PdfObject)
Op_quote(Bytes)
Op_double_quote(Double, Double, Bytes)
Op_d0(Double, Double)
Op_d1(Double, Double, Double, Double, Double, Double)
Op_G(Double)
Op_g(Double)
Op_RG(Double, Double, Double)
Op_rg(Double, Double, Double)
Op_K(Double, Double, Double, Double)
Op_k(Double, Double, Double, Double)
Op_gs(PdfName)
Op_CS(PdfName)
Op_cs(PdfName)
Op_SC(Array[Double])
Op_sc(Array[Double])
Op_SCN(Array[Double])
Op_scn(Array[Double])
Op_SCNName(PdfName, Array[Double])
Op_scnName(PdfName, Array[Double])
Op_sh(PdfName)
Op_Do(PdfName)
Op_InlineImage(PdfObject, PdfObject?, Bytes)
Op_MP(PdfName)
Op_DP(PdfName, PdfObject)
Op_BMC(PdfName)
Op_BDC(PdfName, PdfObject)
Op_EMC
Op_BX
Op_EX
Op_Unknown(Bytes)
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentOperatorFrame {
ctm : TransformMatrix
partial_path : PdfContentPartialPath
clipping_path : Array[PdfPath]
path : PdfDrawnPath
path_state : PdfContentPathState
text_state : PdfContentTextState
miter_limit : Double
flatness : Double
alpha_constant_stroke : Double
alpha_constant_non_stroke : Double
alpha_source : Bool
smoothness : Double
stroke_adjustment : Bool
overprint_stroke : Bool
overprint_non_stroke : Bool
overprint_mode : Int
black_generation : PdfObject
undercolour_removal : PdfObject
transfer : PdfObject
halftone : PdfObject
blend_mode : PdfObject
soft_mask : PdfObject
black_point_compensation : String
marked_content_point : PdfContentMarkedContent?
marked_content : Array[PdfContentMarkedContent]
type3_d0 : PdfContentType3D0?
type3_d1 : PdfContentType3D1?
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentOperatorResourceResult {
state : PdfContentOperatorState
entries : Array[PdfContentJsonEntry]
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentOperatorState {
ctm : TransformMatrix
partial_path : PdfContentPartialPath
clipping_path : Array[PdfPath]
path : PdfDrawnPath
path_state : PdfContentPathState
text_state : PdfContentTextState
miter_limit : Double
flatness : Double
alpha_constant_stroke : Double
alpha_constant_non_stroke : Double
alpha_source : Bool
smoothness : Double
stroke_adjustment : Bool
overprint_stroke : Bool
overprint_non_stroke : Bool
overprint_mode : Int
black_generation : PdfObject
undercolour_removal : PdfObject
transfer : PdfObject
halftone : PdfObject
blend_mode : PdfObject
soft_mask : PdfObject
black_point_compensation : String
marked_content_point : PdfContentMarkedContent?
marked_content : Array[PdfContentMarkedContent]
type3_d0 : PdfContentType3D0?
type3_d1 : PdfContentType3D1?
state_stack : Array[PdfContentOperatorFrame]
} derive(Eq, ToJson, Debug)fn PdfContentOperatorState::content_apply_core_op(self : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn PdfContentOperatorState::content_apply_graphics_parameter_op(self : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn PdfContentOperatorState::content_apply_graphics_state_op(self : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn PdfContentOperatorState::content_apply_marked_content_op(self : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn PdfContentOperatorState::content_apply_text_show_op(self : PdfContentOperatorState, font : PdfFont, op : PdfContentOp) -> PdfContentOperatorTextResult raise PdfErrorfn PdfContentOperatorState::content_apply_type3_metrics_op(self : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn PdfContentOperatorState::content_image_entry(self : PdfContentOperatorState, name : PdfName) -> PdfContentJsonEntryfn PdfContentOperatorState::content_inline_image_entry(self : PdfContentOperatorState) -> PdfContentJsonEntryfn PdfContentOperatorState::content_path_entry(self : PdfContentOperatorState, stroking : Bool) -> PdfContentJsonEntry?fn PdfContentOperatorState::content_shading_entry(self : PdfContentOperatorState, name : PdfName, shading_bbox : PdfRectangle?) -> PdfContentJsonEntry?fn PdfContentOperatorState::content_text_glyph_entry(self : PdfContentOperatorState, font : PdfFont, glyph : PdfContentTextGlyphPlacement) -> PdfContentJsonEntry raise PdfErrorfn PdfContentOperatorState::content_unit_square_bounding_box(self : PdfContentOperatorState) -> PdfContentBoundingBoxpub(all) struct PdfContentOperatorTextResult {
state : PdfContentOperatorState
entries : Array[PdfContentJsonEntry]
} derive(Eq, ToJson, Debug)pub(all) enum PdfContentPartialPath {
PdfContentNoPartialPath
PdfContentPartialPath(PdfContentPartialPathState)
} derive(Eq, ToJson, Debug)fn PdfContentPartialPath::content_apply_clipping_op(self : PdfContentPartialPath, clipping_path : ArrayView[PdfPath], op : PdfContentOp) -> PdfContentClippingOpResultfn PdfContentPartialPath::content_apply_path_op(self : PdfContentPartialPath, op : PdfContentOp) -> PdfContentPathOpResultpub(all) struct PdfContentPartialPathState {
start_point : Point2
current_point : Point2
segments : Array[PdfPathSegment]
subpaths : Array[PdfPathSubpath]
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentPathOpResult {
partial_path : PdfContentPartialPath
drawn_path : PdfDrawnPath?
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentPathState {
clipping_path : Array[PdfPath]
colourspace_stroke : PdfColourSpace
colourspace_non_stroke : PdfColourSpace
colour_stroke : PdfContentColourValues
colour_non_stroke : PdfContentColourValues
line_width : Double
line_cap : Int
line_join : Int
dash_pattern : PdfContentDashPattern
rendering_intent : String
} derive(Eq, ToJson, Debug)fn PdfContentPathState::content_apply_path_state_op(self : PdfContentPathState, op : PdfContentOp) -> PdfContentPathStatefn PdfContentPathState::content_with_clipping_path(self : PdfContentPathState, clipping_path : ArrayView[PdfPath]) -> PdfContentPathStatepub(all) enum PdfContentPattern {
PdfContentColouredTilingPattern(PdfContentTiling)
PdfContentUncolouredTilingPattern(PdfContentTiling)
PdfContentShadingPattern(PdfContentShading)
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentRadialShading {
radialshading_coords : (Double, Double, Double, Double, Double, Double)
radialshading_domain : (Double, Double)
radialshading_function : Array[PdfFunction]
radialshading_extend : (Bool, Bool)
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentShading {
shading_colourspace : PdfObject
shading_background : PdfObject?
shading_bbox : PdfObject?
shading_antialias : Bool
shading_matrix : TransformMatrix
shading_extgstate : PdfObject
shading : PdfContentShadingKind
} derive(Eq, ToJson, Debug)pub(all) enum PdfContentShadingKind {
PdfContentFunctionShading(PdfContentFunctionShading)
PdfContentAxialShading(PdfContentAxialShading)
PdfContentRadialShading(PdfContentRadialShading)
PdfContentFreeFormGouraudShading
PdfContentLatticeFormGouraudShading
PdfContentCoonsPatchMesh
PdfContentTensorProductPatchMesh
} derive(Eq, ToJson, Debug)pub(all) enum PdfContentState {
PdfContentStateGlyph(PdfContentGlyphState)
PdfContentStatePath(PdfContentPathState)
PdfContentStateClipping(PdfContentClippingState)
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentTextGlyphPlacement {
charcode : Int
text_matrix : TransformMatrix
width : Double
pvx : Double
pvy : Double
advance_x : Double
advance_y : Double
bounding_box : PdfContentBoundingBox
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentTextLayout {
font_size : Double
horizontal_scaling : Double
character_spacing : Double
word_spacing : Double
rise : Double
ctm : TransformMatrix
text_matrix : TransformMatrix
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentTextLayoutResult {
glyphs : Array[PdfContentTextGlyphPlacement]
text_matrix : TransformMatrix
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentTextOpResult {
text_state : PdfContentTextState
glyphs : Array[PdfContentTextGlyphPlacement]
} derive(Eq, ToJson, Debug)pub(all) struct PdfContentTextState {
character_spacing : Double
word_spacing : Double
horizontal_scaling : Double
leading : Double
font : String
current_font : PdfFont
font_cache : Array[PdfContentTextFontCacheEntry]
font_size : Double
rendering_mode : Int
rise : Double
knockout : Bool
text_matrix : TransformMatrix
line_matrix : TransformMatrix
} derive(Eq, ToJson, Debug)fn PdfContentTextState::content_apply_text_op(self : PdfContentTextState, font : PdfFont, ctm : TransformMatrix, op : PdfContentOp) -> PdfContentTextOpResultfn PdfContentTextState::content_apply_text_state_op(self : PdfContentTextState, op : PdfContentOp) -> PdfContentTextStatefn PdfContentTextState::content_cache_font(self : PdfContentTextState, name : String, font : PdfFont) -> PdfContentTextStatefn PdfContentTextState::content_glyph_state(self : PdfContentTextState, clipping_path : ArrayView[PdfPath]) -> PdfContentGlyphStatefn PdfContentTextState::content_text_layout(self : PdfContentTextState, ctm : TransformMatrix) -> PdfContentTextLayoutpub(all) struct PdfDecryptionResult {
document : PdfDocument
denied_permissions : Array[PdfPermission]
} derive(Eq, ToJson, Debug)pub(all) enum PdfDestination {
DestAction(PdfObject)
DestNull
DestNamed(PdfName)
DestString(Bytes)
DestXYZ(PdfTargetPage, Double?, Double?, Double?)
DestFit(PdfTargetPage)
DestFitH(PdfTargetPage, Double?)
DestFitV(PdfTargetPage, Double?)
DestFitR(PdfTargetPage, Double, Double, Double, Double)
DestFitB(PdfTargetPage)
DestFitBH(PdfTargetPage, Double?)
DestFitBV(PdfTargetPage, Double?)
} derive(Eq, ToJson, Debug)pub struct PdfDocument {
major : Int
minor : Int
root : Int
objects : PdfObjects
trailer_dict : PdfObject
was_linearized : Bool
saved_encryption : PdfSavedEncryption?
first_xref : Int
revision_read : Int
} derive(Eq, ToJson, Debug)fn PdfDocument::add_annotation(self : PdfDocument, page : PdfPage, annotation : PdfAnnotation) -> PdfPage raise PdfErrorfn PdfDocument::add_bookmark_title(self : PdfDocument, filename : String, use_title : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::add_bookmarks(self : PdfDocument, bookmarks : ArrayView[PdfBookmark]) -> PdfDocument raise PdfErrorfn PdfDocument::add_bookmarks_from_json(self : PdfDocument, json : Json, verify? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::add_bookmarks_from_text(self : PdfDocument, data : BytesView, verify? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::add_object_given_number(self : PdfDocument, number : Int, object : PdfObject, generation? : Int) -> Unitfn PdfDocument::add_page_labels(self : PdfDocument, progress : Bool, style : PdfPageLabelStyle, prefix : Bytes?, start_value : Int, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::add_root(self : PdfDocument, page_root_number : Int, extras : ArrayView[(PdfName, PdfObject)]) -> Int raise PdfErrorfn PdfDocument::addtext_bookmark_for_page(self : PdfDocument, bookmarks : ArrayView[PdfBookmark], level : Int, page_number : Int) -> String raise PdfErrorfn PdfDocument::addtext_calc_textwidth(self : PdfDocument, page : PdfPage, font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, text : BytesView) -> Double raise PdfErrorfn PdfDocument::addtext_existing_font_resource(self : PdfDocument, page : PdfPage, fontname : PdfName) -> (PdfName, PdfObject) raise PdfErrorfn PdfDocument::addtext_line_page(self : PdfDocument, page : PdfPage, time : PdfStrftimeTime, lines : ArrayView[String], replacements : ArrayView[(String, () -> String)], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], font_size : Double, text : String, colour : PdfContentColour, position : PdfPosition, relative_to_box? : PdfName, horizontal_offset? : Double, vertical_offset? : Double, shift_x? : Double, shift_y? : Double, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfPage raise PdfErrorfn PdfDocument::addtext_line_widths(self : PdfDocument, page : PdfPage, font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, text : BytesView, expanded_lines : ArrayView[Bytes]) -> PdfAddTextLineWidths raise PdfErrorfn PdfDocument::addtext_opacity_resources(self : PdfDocument, resources : PdfObject, opacity : Double) -> (PdfObject, PdfName?) raise PdfErrorfn PdfDocument::addtext_page_lines(self : PdfDocument, page : PdfPage, time : PdfStrftimeTime, lines : ArrayView[String], replacements : ArrayView[(String, () -> String)], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, relative_to_box? : PdfName, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, shift_x? : Double, shift_y? : Double, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfPage raise PdfErrorfn PdfDocument::addtext_page_rest_with_annotations(self : PdfDocument, rest : PdfObject, annotations : ArrayView[PdfObject]) -> PdfObject raise PdfErrorfn PdfDocument::addtext_pages_with_font(self : PdfDocument, page_numbers : ArrayView[Int], lines : ArrayView[String], time : PdfStrftimeTime, bookmarks : ArrayView[PdfBookmark], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, filename? : String, bates? : Int, bates_pad? : Int?, relative_to_box? : PdfName, shift? : String, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::addtext_prepare_line(self : PdfDocument, page : PdfPage, time : PdfStrftimeTime, lines : ArrayView[String], replacements : ArrayView[(String, () -> String)], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, text : String, position : PdfPosition, relative_to_box? : PdfName, horizontal_offset? : Double, vertical_offset? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, raw? : Bool) -> PdfAddTextPreparedLine raise PdfErrorfn PdfDocument::addtext_rectangle(self : PdfDocument, page_numbers : ArrayView[Int], coord : String, colour : PdfContentColour, position : PdfPosition, relative_to_box? : PdfName, outline? : Bool, line_width? : Double, opacity? : Double, underneath? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::addtext_replacement_values(self : PdfDocument, bookmarks : ArrayView[PdfBookmark], page_number : Int, end_page : Int, filename : String, bates : Int, bates_pad : Int?) -> PdfAddTextReplacementValues raise PdfErrorfn PdfDocument::addtext_resource_setup(self : PdfDocument, page : PdfPage, font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], opacity : Double) -> PdfAddTextResourceSetup raise PdfErrorfn PdfDocument::addtext_selected_font_object(self : PdfDocument, font : PdfFont?) -> PdfObject? raise PdfErrorfn PdfDocument::addtext_url_annotation_references(self : PdfDocument, text : String, urls : ArrayView[PdfAddTextUrl], measure : (String) -> Double raise PdfError, origin : Point2, horizontal_offset : Double, vertical_offset : Double, justification_offset : Double, rotation : Double, rotation_offset : Point2, page_rotation : Double, font : PdfFont?, fontname : String, font_size : Double, url_border : Bool) -> Array[PdfObject] raise PdfErrorfn PdfDocument::addtext_width_of_existing_font_resource(self : PdfDocument, page : PdfPage, fontname : PdfName, font_size : Double, text : BytesView) -> (PdfName, Double) raise PdfErrorfn PdfDocument::addtexts_with_font(self : PdfDocument, page_numbers : ArrayView[Int], text : String, time : PdfStrftimeTime, bookmarks : ArrayView[PdfBookmark], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, filename? : String, bates? : Int, bates_pad? : Int?, relative_to_box? : PdfName, shift? : String, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::addtexts_with_source(self : PdfDocument, page_numbers : ArrayView[Int], text : String, time : PdfStrftimeTime, bookmarks : ArrayView[PdfBookmark], font_source : PdfAddTextFontSource, fontname : PdfName, font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, filename? : String, bates? : Int, bates_pad? : Int?, relative_to_box? : PdfName, shift? : String, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::all_pages_upright(self : PdfDocument, page_numbers : ArrayView[Int]) -> Bool raise PdfErrorfn PdfDocument::all_pages_upright_only(self : PdfDocument, page_numbers : ArrayView[Int]) -> Bool raise PdfErrorfn PdfDocument::annotations_json(self : PdfDocument, page_numbers : ArrayView[Int]) -> Json raise PdfErrorfn PdfDocument::annotations_json_blob(self : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn PdfDocument::annotations_of_page(self : PdfDocument, page : PdfPage) -> Array[PdfAnnotation] raise PdfErrorfn PdfDocument::append_page_content(self : PdfDocument, page_numbers : ArrayView[Int], content : BytesView, before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::append_page_content_multiple(self : PdfDocument, contents : ArrayView[Bytes], before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::append_page_content_multiple_ops(self : PdfDocument, op_lists : ArrayView[Array[PdfContentOp]], before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::append_page_content_ops(self : PdfDocument, page_numbers : ArrayView[Int], ops : ArrayView[PdfContentOp], before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::apply_redaction_type(self : PdfDocument, annotation_type : String, page_numbers : ArrayView[Int]) -> Unitfn PdfDocument::attach_file(self : PdfDocument, filename : String, data : BytesView, keep_version? : Bool, page_number? : Int?, relationship? : String?, description? : String?) -> PdfDocument raise PdfErrorfn PdfDocument::black_fills(self : PdfDocument, page_numbers : ArrayView[Int], colour : PdfContentColour) -> PdfDocument raise PdfErrorfn PdfDocument::black_lines(self : PdfDocument, page_numbers : ArrayView[Int], colour : PdfContentColour) -> PdfDocument raise PdfErrorfn PdfDocument::black_text(self : PdfDocument, page_numbers : ArrayView[Int], colour : PdfContentColour) -> PdfDocument raise PdfErrorfn PdfDocument::bookmark_name_of_spec(self : PdfDocument, encoding : PdfMetadataEncoding, bookmarks : ArrayView[PdfBookmark], split_level : Int, spec : String, sequence : Int, filename : String, start_page : Int, end_page : Int) -> String raise PdfErrorfn PdfDocument::bookmarks_json(self : PdfDocument, json_preserve_actions? : Bool) -> Json raise PdfErrorfn PdfDocument::bookmarks_json_blob(self : PdfDocument, json_preserve_actions? : Bool) -> Bytes raise PdfErrorfn PdfDocument::bookmarks_open_to_level(self : PdfDocument, level : Int) -> PdfDocument raise PdfErrorfn PdfDocument::build_name_tree(self : PdfDocument, entries : ArrayView[(Bytes, PdfObject)]) -> PdfObjectfn PdfDocument::build_number_tree(self : PdfDocument, entries : ArrayView[(Int, PdfObject)]) -> PdfObjectfn PdfDocument::center_to_fit_pages(self : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)]) -> PdfDocument raise PdfErrorfn PdfDocument::change_boxes(self : PdfDocument, page : PdfPage, transform : (Double, Double, Double, Double) -> (Double, Double, Double, Double)) -> PdfPage raise PdfErrorfn PdfDocument::change_id(self : PdfDocument, path : String, get_time : () -> Double) -> Unit raise PdfErrorfn PdfDocument::change_pages(self : PdfDocument, pages : ArrayView[PdfPage], change_references? : Bool, matrices? : ArrayView[(Int, TransformMatrix)], changes? : ArrayView[(Int, Int)]) -> PdfDocument raise PdfErrorfn PdfDocument::chop(self : PdfDocument, x : Int, y : Int, columns : Bool, btt : Bool, rtl : Bool, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::chop_hv(self : PdfDocument, is_h : Bool, line : Double, columns : Bool, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::colour_space_components(self : PdfDocument, resources : PdfObject, object : PdfObject) -> Int raise PdfErrorfn PdfDocument::colspace(self : PdfDocument, image : PdfObject, resources : PdfObject) -> PdfColourSpace raise PdfErrorfn PdfDocument::combine_pages(self : PdfDocument, overlay : PdfDocument, fast? : Bool, scale_to_fit? : Bool, overlay_is_under? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::combine_pdf_resources(self : PdfDocument, first : PdfObject, second : PdfObject) -> PdfObjectfn PdfDocument::combine_pdf_rests(self : PdfDocument, first : PdfObject, second : PdfObject) -> PdfObjectfn PdfDocument::composition(self : PdfDocument, file_size : Int) -> Array[PdfCompositionEntry] raise PdfErrorfn PdfDocument::content_apply_extgstate_alpha_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_extgstate_compositing_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_extgstate_dash_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorState raise PdfErrorfn PdfDocument::content_apply_extgstate_font_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorState raise PdfErrorfn PdfDocument::content_apply_extgstate_graphics_parameter_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_extgstate_halftone_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_extgstate_overprint_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_extgstate_rendering_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_extgstate_resource_op(self : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, _name : PdfName) -> PdfContentOperatorState raise PdfErrorfn PdfDocument::content_apply_extgstate_text_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_extgstate_transfer_op(self : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn PdfDocument::content_apply_font_resource_op(self : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, font_name : PdfName, font_size : Double) -> PdfContentOperatorState raise PdfErrorfn PdfDocument::content_apply_resource_op(self : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, op : PdfContentOp) -> PdfContentOperatorResourceResult raise PdfErrorfn PdfDocument::content_apply_text_resource_op(self : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, op : PdfContentOp) -> PdfContentOperatorTextResult raise PdfErrorfn PdfDocument::content_entries_of_ops(self : PdfDocument, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp]) -> Array[PdfContentJsonEntry] raise PdfErrorfn PdfDocument::content_entries_of_ops_recursive(self : PdfDocument, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp]) -> Array[PdfContentJsonEntry] raise PdfErrorfn PdfDocument::content_entries_of_page(self : PdfDocument, page : PdfPage) -> Array[PdfContentJsonEntry] raise PdfErrorfn PdfDocument::content_filter(self : PdfDocument, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp], predicate : (PdfContentJsonEntry) -> Bool) -> Array[PdfContentOp] raise PdfErrorfn PdfDocument::content_form_xobject_enter_state(self : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, name : PdfName) -> PdfContentOperatorState? raise PdfErrorfn PdfDocument::content_form_xobject_ops(self : PdfDocument, resources : PdfObject, name : PdfName) -> Array[PdfContentOp]? raise PdfErrorfn PdfDocument::content_form_xobject_resources(self : PdfDocument, resources : PdfObject, name : PdfName) -> PdfObject? raise PdfErrorfn PdfDocument::content_image_entry_from_resources(self : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, name : PdfName) -> PdfContentJsonEntry? raise PdfErrorfn PdfDocument::content_json_of_ops(self : PdfDocument, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp]) -> Json raise PdfErrorfn PdfDocument::content_read_axial_shading(self : PdfDocument, shading : PdfObject) -> PdfContentShadingKind raise PdfErrorfn PdfDocument::content_read_function_shading(self : PdfDocument, shading : PdfObject) -> PdfContentShadingKind raise PdfErrorfn PdfDocument::content_read_pattern(self : PdfDocument, resources : PdfObject, name : PdfName) -> PdfContentPattern? raise PdfErrorfn PdfDocument::content_read_radial_shading(self : PdfDocument, shading : PdfObject) -> PdfContentShadingKind raise PdfErrorfn PdfDocument::content_read_shading(self : PdfDocument, shading_matrix : TransformMatrix, shading_extgstate : PdfObject, shading : PdfObject) -> PdfContentShading raise PdfErrorfn PdfDocument::content_read_shading_pattern(self : PdfDocument, pattern : PdfObject) -> PdfContentPattern raise PdfErrorfn PdfDocument::content_shading_entry_from_resources(self : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, name : PdfName) -> PdfContentJsonEntry?fn PdfDocument::contents_of_name_tree(self : PdfDocument, tree : PdfObject) -> Array[(PdfObject, PdfObject)]fn PdfDocument::copy_annotations_from(self : PdfDocument, source : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::copy_font_from(self : PdfDocument, source : PdfDocument, font_name : String, font_page : Int, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::copy_id_from(self : PdfDocument, source : PdfDocument, keep_version? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::copy_page_box(self : PdfDocument, page_numbers : ArrayView[Int], from_box : PdfName, to_box : PdfName, mediabox_if_missing? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::crop_pages(self : PdfDocument, page_numbers : ArrayView[Int], boxes : ArrayView[(Double, Double, Double, Double)], box_name? : PdfName) -> PdfDocument raise PdfErrorfn PdfDocument::decrypt_single_stream(self : PdfDocument, object_number : Int, generation : Int, stream : PdfObject, user_password? : BytesView?, owner_password? : BytesView?, no_encrypt_metadata? : Bool) -> PdfObject? raise PdfErrorfn PdfDocument::decrypt_with_owner_password(self : PdfDocument, password : BytesView, no_encrypt_metadata? : Bool) -> PdfDecryptionResult? raise PdfErrorfn PdfDocument::decrypt_with_passwords(self : PdfDocument, user_password? : BytesView?, owner_password? : BytesView?, no_encrypt_metadata? : Bool) -> PdfDecryptionResult? raise PdfErrorfn PdfDocument::decrypt_with_user_password(self : PdfDocument, password : BytesView, no_encrypt_metadata? : Bool) -> PdfDecryptionResult? raise PdfErrorfn PdfDocument::dict_entries_json(self : PdfDocument, key : PdfName, utf8? : Bool) -> Bytes raise PdfErrorfn PdfDocument::dict_entry_rendered_values(self : PdfDocument, key : PdfName) -> Array[Bytes] raise PdfErrorfn PdfDocument::draft(self : PdfDocument, only_remove : PdfName?, boxes : Bool, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::draw(self : PdfDocument, page_numbers : ArrayView[Int], drawops : ArrayView[PdfDrawOp], struct_tree? : Bool, fast? : Bool, underneath? : Bool, filename? : String, bates? : Int, bates_pad? : Int?, time? : PdfStrftimeTime?, add_artifacts? : Bool, role_map? : String) -> PdfDocument raise PdfErrorfn PdfDocument::draw_special_text_context(self : PdfDocument, page_number : Int, filename? : String, bates? : Int, bates_pad? : Int?, time? : PdfStrftimeTime?) -> PdfDrawSpecialTextContext raise PdfErrorfn PdfDocument::encrypt_128bit(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_128bit_aesv2(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], encrypt_metadata? : Bool, file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_128bit_aesv2_with_iv_provider(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], iv_provider : (Int, Int, Int) -> Bytes raise PdfError, encrypt_metadata? : Bool, file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_128bit_r4(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], encrypt_metadata? : Bool, file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_256bit_aesv3(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], iso? : Bool, encrypt_metadata? : Bool, file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_256bit_aesv3_iso(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], encrypt_metadata? : Bool, file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_256bit_aesv3_iso_with_providers(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], random_provider : (PdfAesV3RandomField, Int) -> Bytes raise PdfError, iv_provider : (Int, Int, Int) -> Bytes raise PdfError, encrypt_metadata? : Bool, file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_256bit_aesv3_with_providers(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], random_provider : (PdfAesV3RandomField, Int) -> Bytes raise PdfError, iv_provider : (Int, Int, Int) -> Bytes raise PdfError, iso? : Bool, encrypt_metadata? : Bool, file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::encrypt_40bit(self : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], file_id? : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::extract_fontfile_bytes(self : PdfDocument, page_number : Int, font_name : String) -> Bytes? raise PdfErrorfn PdfDocument::flip_pages_horizontally(self : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::flip_pages_vertically(self : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::font_from_name(self : PdfDocument, font_name : String, page_number : Int) -> PdfObject raise PdfErrorfn PdfDocument::font_table(self : PdfDocument, font_name : String, page_number : Int) -> Array[PdfFontTableEntry] raise PdfErrorfn PdfDocument::font_table_text(self : PdfDocument, font_name : String, page_number : Int) -> Bytes raise PdfErrorfn PdfDocument::fonts_json(self : PdfDocument, page_numbers : ArrayView[Int]) -> Json raise PdfErrorfn PdfDocument::fonts_json_blob(self : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn PdfDocument::get_annotations(self : PdfDocument, encoding? : PdfMetadataEncoding) -> Array[(Int, Bytes)] raise PdfErrorfn PdfDocument::get_image_24bpp(self : PdfDocument, resources : PdfObject, image : PdfObject) -> PdfImage raise PdfErrorfn PdfDocument::hard_box(self : PdfDocument, page_numbers : ArrayView[Int], box_name : PdfName, mediabox_if_missing? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::has_page_box(self : PdfDocument, page_number : Int, box_name : PdfName) -> Bool raise PdfErrorfn PdfDocument::image_colour_space(self : PdfDocument, image : PdfObject, resources : PdfObject) -> PdfColourSpace raise PdfErrorfn PdfDocument::image_resolution(self : PdfDocument, page_numbers : ArrayView[Int], dpi : Double, inline? : Bool) -> Array[(Int, String, Int, Int, Double, Double, Int)] raise PdfErrorfn PdfDocument::image_resolution_json(self : PdfDocument, page_numbers : ArrayView[Int], dpi : Double, inline? : Bool) -> Json raise PdfErrorfn PdfDocument::image_resolution_json_blob(self : PdfDocument, page_numbers : ArrayView[Int], dpi : Double, inline? : Bool) -> Bytes raise PdfErrorfn PdfDocument::images_json(self : PdfDocument, page_numbers : ArrayView[Int], inline? : Bool) -> Json raise PdfErrorfn PdfDocument::images_json_blob(self : PdfDocument, page_numbers : ArrayView[Int], inline? : Bool) -> Bytes raise PdfErrorfn PdfDocument::impose(self : PdfDocument, x : Double, y : Double, fit? : Bool, columns? : Bool, rtl? : Bool, btt? : Bool, center? : Bool, margin? : Double, spacing? : Double, line_width? : Double, fast? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::info_json(self : PdfDocument, encoding? : PdfMetadataEncoding, unit? : PdfUnit) -> Json raise PdfErrorfn PdfDocument::info_json_blob(self : PdfDocument, encoding? : PdfMetadataEncoding, unit? : PdfUnit) -> Bytes raise PdfErrorfn PdfDocument::iter_objects(self : PdfDocument, callback : (Int, PdfObject) -> Unit raise) -> Unit raisefn PdfDocument::iter_objects_in_order(self : PdfDocument, callback : (Int, PdfObject) -> Unit raise) -> Unit raisefn PdfDocument::iter_objects_with_generation(self : PdfDocument, callback : (Int, Int, PdfObject) -> Unit raise) -> Unit raisefn PdfDocument::iter_pages(self : PdfDocument, page_numbers : ArrayView[Int], process : (Int, PdfPage) -> Unit raise PdfError) -> Unit raise PdfErrorfn PdfDocument::json_of_document(self : PdfDocument, utf8? : Bool, parse_content? : Bool, clean_strings? : Bool, no_stream_data? : Bool, decompress_streams? : Bool) -> Json raise PdfErrorfn PdfDocument::json_of_object(self : PdfDocument, object : PdfObject, utf8? : Bool, clean_strings? : Bool, no_stream_data? : Bool, parse_content? : Bool) -> Json raise PdfErrorfn PdfDocument::list_annotations(self : PdfDocument, page_numbers : ArrayView[Int], encoding? : PdfMetadataEncoding) -> Bytes raise PdfErrorfn PdfDocument::list_bookmarks(self : PdfDocument, page_numbers : ArrayView[Int], encoding? : PdfMetadataEncoding, json? : Bool, json_preserve_actions? : Bool) -> Bytes raise PdfErrorfn PdfDocument::list_fonts(self : PdfDocument, page_numbers : ArrayView[Int]) -> Array[PdfFontListEntry] raise PdfErrorfn PdfDocument::list_fonts_text(self : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn PdfDocument::lookup_chain(self : PdfDocument, start : PdfObject, keys : ArrayView[PdfName]) -> PdfObject?fn PdfDocument::lookup_direct_or_array(self : PdfDocument, name : PdfName, object : PdfObject) -> PdfObject?fn PdfDocument::lookup_direct_or_else(self : PdfDocument, first_key : PdfName, second_key : PdfName, object : PdfObject) -> PdfObject?fn PdfDocument::lookup_required(self : PdfDocument, key : PdfName, object : PdfObject, error : PdfError) -> PdfObject raise PdfErrorfn PdfDocument::map_objects_in_place(self : PdfDocument, transform : (PdfObject) -> PdfObject) -> Unitfn[T] PdfDocument::map_pages(self : PdfDocument, page_numbers : ArrayView[Int], process : (Int, PdfPage) -> T raise PdfError) -> Array[T] raise PdfErrorfn PdfDocument::merge_name_trees_no_clash(self : PdfDocument, trees : ArrayView[PdfObject]) -> PdfObjectfn PdfDocument::merge_number_trees_no_clash(self : PdfDocument, trees : ArrayView[PdfObject]) -> PdfObjectfn PdfDocument::missing_fonts(self : PdfDocument, page_numbers : ArrayView[Int]) -> Array[PdfMissingFontEntry] raise PdfErrorfn PdfDocument::missing_fonts_text(self : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn PdfDocument::name_tree_lookup(self : PdfDocument, key : BytesView, tree : PdfObject) -> PdfObject?fn PdfDocument::name_tree_lookup_object(self : PdfDocument, key : PdfObject, tree : PdfObject) -> PdfObject?fn PdfDocument::pad_after(self : PdfDocument, page_numbers : ArrayView[Int], pad_with? : PdfDocument?) -> PdfDocument raise PdfErrorfn PdfDocument::pad_before(self : PdfDocument, page_numbers : ArrayView[Int], pad_with? : PdfDocument?) -> PdfDocument raise PdfErrorfn PdfDocument::page_content_json(self : PdfDocument, page_numbers : ArrayView[Int]) -> Json raise PdfErrorfn PdfDocument::page_info_json(self : PdfDocument, page_numbers : ArrayView[Int], unit? : PdfUnit) -> Json raise PdfErrorfn PdfDocument::page_info_json_blob(self : PdfDocument, page_numbers : ArrayView[Int], unit? : PdfUnit) -> Bytes raise PdfErrorfn PdfDocument::page_info_text(self : PdfDocument, page_numbers : ArrayView[Int], unit? : PdfUnit) -> Bytes raise PdfErrorfn PdfDocument::page_number_of_target(self : PdfDocument, destination : PdfDestination) -> Int raise PdfErrorfn PdfDocument::parse_bookmark_json(self : PdfDocument, json : Json, verify? : Bool) -> Array[PdfBookmark] raise PdfErrorfn PdfDocument::parse_bookmark_text(self : PdfDocument, data : BytesView, verify? : Bool) -> Array[PdfBookmark] raise PdfErrorfn PdfDocument::parse_content_bytes_with_resources(self : PdfDocument, resources : PdfObject, data : Bytes) -> Array[PdfContentOp] raise PdfErrorfn PdfDocument::parse_content_ops(self : PdfDocument, streams : ArrayView[PdfObject]) -> Array[PdfContentOp] raise PdfErrorfn PdfDocument::parse_content_ops_with_resources(self : PdfDocument, resources : PdfObject, streams : ArrayView[PdfObject]) -> Array[PdfContentOp] raise PdfErrorfn PdfDocument::parse_content_view_with_resources(self : PdfDocument, resources : PdfObject, data : BytesView) -> Array[PdfContentOp] raise PdfErrorfn PdfDocument::parse_coordinate_rectangle(self : PdfDocument, text : String) -> PdfCoordRectangle raise PdfErrorfn PdfDocument::parse_coordinate_rectangles(self : PdfDocument, text : String) -> Array[PdfCoordRectangle] raise PdfErrorfn PdfDocument::parse_coordinates(self : PdfDocument, text : String) -> Array[Point2] raise PdfErrorfn PdfDocument::parse_function(self : PdfDocument, function_object : PdfObject) -> PdfFunction raise PdfErrorfn PdfDocument::parse_matrix(self : PdfDocument, key : PdfName, object : PdfObject) -> TransformMatrix raise PdfErrorfn PdfDocument::parse_rectangle(self : PdfDocument, object : PdfObject) -> PdfRectangle raise PdfErrorfn PdfDocument::parse_units_string(self : PdfDocument, page : PdfPage, text : String) -> Array[Double] raise PdfErrorfn PdfDocument::pdf_decode_stream(self : PdfDocument, object : PdfObject) -> PdfObject raise PdfErrorfn PdfDocument::pdf_decode_stream_until_unknown(self : PdfDocument, object : PdfObject) -> PdfObject raise PdfErrorfn PdfDocument::pdf_image_object_of_png_data(self : PdfDocument, data : BytesView) -> PdfObject raise PdfErrorfn PdfDocument::pdf_of_pages(self : PdfDocument, page_numbers : ArrayView[Int], retain_numbering? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::pdf_type_typeset(self : PdfDocument, process_struct_tree : Bool, lmargin : Double, rmargin : Double, tmargin : Double, bmargin : Double, paper : PaperSize, elements : ArrayView[PdfTypeElement]) -> PdfTypeTypesetResult raise PdfErrorfn PdfDocument::portfolio(self : PdfDocument, entries : ArrayView[PdfPortfolioEntry], mod_date? : Bytes?) -> PdfDocument raise PdfErrorfn PdfDocument::postpend_operators(self : PdfDocument, page : PdfPage, ops : ArrayView[PdfContentOp], fast? : Bool) -> PdfPage raise PdfErrorfn PdfDocument::prepend_operators(self : PdfDocument, page : PdfPage, ops : ArrayView[PdfContentOp], fast? : Bool) -> PdfPage raise PdfErrorfn PdfDocument::presentation(self : PdfDocument, range : ArrayView[Int], transition : String?, delay : Double?, horizontal : Bool, inward : Bool, direction : Int, effect_duration : Double) -> PdfDocument raise PdfErrorfn PdfDocument::process_pages(self : PdfDocument, page_numbers : ArrayView[Int], process : (Int, PdfPage) -> (PdfPage, Int, TransformMatrix) raise PdfError) -> PdfDocument raise PdfErrorfn PdfDocument::process_xobjects(self : PdfDocument, page : PdfPage, process : (PdfDocument, PdfObject, ArrayView[PdfObject]) -> Array[PdfObject] raise PdfError) -> Unit raise PdfErrorfn PdfDocument::read_annotation(self : PdfDocument, annotation : PdfObject) -> PdfAnnotation raise PdfErrorfn PdfDocument::read_bookmarks(self : PdfDocument, preserve_actions? : Bool) -> Array[PdfBookmark] raise PdfErrorfn PdfDocument::read_cid_system_info(self : PdfDocument, dictionary : PdfObject) -> PdfCIDSystemInfo raise PdfErrorfn PdfDocument::read_cidkeyed_font(self : PdfDocument, font : PdfObject) -> PdfCIDKeyedFont raise PdfErrorfn PdfDocument::read_colour_space(self : PdfDocument, resources : PdfObject, object : PdfObject) -> PdfColourSpace? raise PdfErrorfn PdfDocument::read_destination(self : PdfDocument, object : PdfObject, shallow? : Bool) -> PdfDestination raise PdfErrorfn PdfDocument::read_font_descriptor(self : PdfDocument, font : PdfObject) -> PdfFontDescriptor? raise PdfErrorfn PdfDocument::read_font_metrics(self : PdfDocument, font : PdfObject) -> Array[Double]? raise PdfErrorfn PdfDocument::read_optional_content_groups(self : PdfDocument) -> PdfOptionalContent? raise PdfErrorfn PdfDocument::read_simple_font(self : PdfDocument, font : PdfObject) -> PdfSimpleFont raise PdfErrorfn PdfDocument::read_standard14_font(self : PdfDocument, font : PdfObject) -> PdfStandardFontData raise PdfErrorfn PdfDocument::recrypt_with_password(self : PdfDocument, password : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::recrypt_with_password_aesv2(self : PdfDocument, password : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::recrypt_with_password_aesv2_with_iv_provider(self : PdfDocument, password : BytesView, iv_provider : (Int, Int, Int) -> Bytes raise PdfError) -> PdfDocument raise PdfErrorfn PdfDocument::recrypt_with_password_aesv3(self : PdfDocument, password : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::recrypt_with_password_aesv3_with_iv_provider(self : PdfDocument, password : BytesView, iv_provider : (Int, Int, Int) -> Bytes raise PdfError) -> PdfDocument raise PdfErrorfn PdfDocument::rectify_boxes(self : PdfDocument, page : PdfPage, fast? : Bool) -> PdfPage raise PdfErrorfn PdfDocument::redact_pages(self : PdfDocument, page_numbers : ArrayView[Int], process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::redact_path(self : PdfDocument, path : ArrayView[(Double, Double)], page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::referenced_object_numbers(self : PdfDocument, object : PdfObject, no_follow_entries? : ArrayView[PdfName], no_follow_contains? : ArrayView[(PdfName, PdfObject)]) -> Array[Int]fn PdfDocument::remove_added_text(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::remove_all_text(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::remove_annotations(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::remove_art(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::remove_bleed(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::remove_clipping(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::remove_cropping(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::remove_dict_entry_everywhere(self : PdfDocument, key : PdfName, search? : PdfObject?) -> Unitfn PdfDocument::remove_page_box(self : PdfDocument, page_numbers : ArrayView[Int], box_name : PdfName) -> PdfDocument raise PdfErrorfn PdfDocument::remove_trim(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::renumber_objects(self : PdfDocument, changes : ArrayView[(Int, Int)]) -> PdfDocument raise PdfErrorfn PdfDocument::renumber_objects_by_offset(self : PdfDocument, offset : Int) -> PdfDocument raise PdfErrorfn PdfDocument::renumber_pages(self : PdfDocument, pages : ArrayView[PdfPage]) -> Array[PdfPage] raise PdfErrorfn PdfDocument::replace_chain(self : PdfDocument, chain : ArrayView[PdfName], value : PdfObject) -> Unit raise PdfErrorfn PdfDocument::replace_dict_entry_everywhere(self : PdfDocument, key : PdfName, value : PdfObject, search? : PdfObject?) -> Unitfn PdfDocument::replace_inherit(self : PdfDocument, object_numbers : ArrayView[Int]) -> Unit raise PdfErrorfn PdfDocument::replace_object_by_spec(self : PdfDocument, spec : String, value : PdfObject) -> Unit raise PdfErrorfn PdfDocument::replace_stream_by_spec(self : PdfDocument, spec : String, data : BytesView) -> Unit raise PdfErrorfn PdfDocument::reveal_hidden_text(self : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::rotate_contents(self : PdfDocument, rotation : Double, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::rotate_pages(self : PdfDocument, rotation : Int, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::rotate_pages_by(self : PdfDocument, rotation : Int, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn PdfDocument::scale_contents(self : PdfDocument, page_numbers : ArrayView[Int], position : PdfPosition, scale : Double, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::scale_pages(self : PdfDocument, page_numbers : ArrayView[Int], scales : ArrayView[(Double, Double)], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::scale_to_fit_pages(self : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)], position? : PdfPosition, input_scale? : Double, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::scale_to_fit_rotate_pages(self : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)], rotation : Int, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::select_object_numbers(self : PdfDocument, predicate : (PdfObject) -> Bool) -> Array[Int]fn PdfDocument::set_info_entry(self : PdfDocument, key : PdfName, value : PdfObject, version : Int, keep_version? : Bool, xmp_also? : Bool, xmp_just_set? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::set_language(self : PdfDocument, language : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::set_mediaboxes(self : PdfDocument, page_numbers : ArrayView[Int], boxes : ArrayView[(Double, Double, Double, Double)]) -> PdfDocument raise PdfErrorfn PdfDocument::set_metadata_from_bytes(self : PdfDocument, data : BytesView, keep_version? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::set_non_full_screen_page_mode(self : PdfDocument, mode : String) -> PdfDocument raise PdfErrorfn PdfDocument::set_open_action(self : PdfDocument, page_number : Int, fit? : Bool, destination? : PdfObject?) -> PdfDocument raise PdfErrorfn PdfDocument::set_page_box(self : PdfDocument, page_numbers : ArrayView[Int], box_name : PdfName, min_x : Double, max_x : Double, min_y : Double, max_y : Double) -> PdfDocument raise PdfErrorfn PdfDocument::set_viewer_preference(self : PdfDocument, key : PdfName, value : PdfObject, version : Int, keep_version? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::shift_boxes(self : PdfDocument, page_numbers : ArrayView[Int], offsets : ArrayView[(Double, Double)]) -> PdfDocument raise PdfErrorfn PdfDocument::shift_pages(self : PdfDocument, page_numbers : ArrayView[Int], offsets : ArrayView[(Double, Double)], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::show_annotation_bounding_boxes(self : PdfDocument, page_numbers : ArrayView[Int], light? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::show_bounding_boxes(self : PdfDocument, page_numbers : ArrayView[Int], shape? : PdfRectangle?, light? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::show_page_boxes(self : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::stamp_as_xobject(self : PdfDocument, range : ArrayView[Int], overlay : PdfDocument) -> (PdfDocument, PdfName) raise PdfErrorfn PdfDocument::stamp_pages(self : PdfDocument, page_numbers : ArrayView[Int], overlay : PdfDocument, relative_to_box? : PdfName, position? : PdfPosition, topline? : Bool, midline? : Bool, fast? : Bool, scale_to_fit? : Bool, is_over? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::stretch_pages(self : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::string_of_pagespec(self : PdfDocument, pages : ArrayView[Int]) -> String raise PdfErrorfn PdfDocument::target_of_page_number(self : PdfDocument, page_number : Int) -> PdfDestination raise PdfErrorfn PdfDocument::test_extract_text(self : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn PdfDocument::test_matterhorn_text(self : PdfDocument, test_name : String) -> Bytes raise PdfErrorfn PdfDocument::text_extractor_of_font(self : PdfDocument, font : PdfObject) -> PdfTextExtractor raise PdfErrorfn PdfDocument::thin_lines(self : PdfDocument, page_numbers : ArrayView[Int], width : Double) -> PdfDocument raise PdfErrorfn PdfDocument::toc_add_bookmark(self : PdfDocument, title : BytesView) -> PdfDocument raise PdfErrorfn PdfDocument::toc_insert_pages(self : PdfDocument, toc_pages : ArrayView[PdfPage], labels : ArrayView[PdfPageLabel]) -> PdfDocument raise PdfErrorfn PdfDocument::toc_type_elements(self : PdfDocument, fontpack : PdfFontPack, font_size : Double, title : BytesView, dotleader : Bool, process_struct_tree : Bool, labels : ArrayView[PdfPageLabel], bookmarks : ArrayView[PdfBookmark], page_width : Double, margin : Double) -> Array[PdfTypeElement] raise PdfErrorfn PdfDocument::toc_typeset_pages(self : PdfDocument, fontpack : PdfFontPack, font_size : Double, title : BytesView, dotleader : Bool, process_struct_tree : Bool, labels : ArrayView[PdfPageLabel], bookmarks : ArrayView[PdfBookmark]) -> PdfTypeTypesetResult raise PdfErrorfn PdfDocument::toc_used_codepoints(self : PdfDocument, labels : ArrayView[PdfPageLabel], title : BytesView, bookmarks : ArrayView[PdfBookmark]) -> Array[Int] raise PdfErrorfn PdfDocument::toc_with_fontpack(self : PdfDocument, fontpack : PdfFontPack, font_size : Double, title : BytesView, bookmark? : Bool, dotleader? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::toc_with_source(self : PdfDocument, source : PdfTocFontSource, font_size : Double, title : BytesView, bookmark? : Bool, dotleader? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::transform_annotations(self : PdfDocument, matrix : TransformMatrix, rest : PdfObject) -> Unit raise PdfErrorfn PdfDocument::transform_bookmark(self : PdfDocument, matrix : TransformMatrix, bookmark : PdfBookmark) -> PdfBookmark raise PdfErrorfn PdfDocument::transform_destination(self : PdfDocument, matrix : TransformMatrix, destination : PdfDestination) -> PdfDestination raise PdfErrorfn PdfDocument::transform_quadpoints(self : PdfDocument, matrix : TransformMatrix, object : PdfObject) -> PdfObjectfn PdfDocument::transform_rect(self : PdfDocument, matrix : TransformMatrix, object : PdfObject) -> PdfObject raise PdfErrorfn PdfDocument::trim_marks(self : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::trim_structure_tree(self : PdfDocument, page_numbers : ArrayView[Int]) -> Unit raise PdfErrorfn PdfDocument::twoup(self : PdfDocument, fast? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::twoup_stack(self : PdfDocument, fast? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::upright_pages(self : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn PdfDocument::write_font(self : PdfDocument, font : PdfFont, objnum? : Int?) -> Int raise PdfErrorfn PdfDocument::write_optional_content_groups(self : PdfDocument, optional_content : PdfOptionalContent) -> PdfDocument raise PdfErrorfn PdfDocument::write_page_labels(self : PdfDocument, labels : ArrayView[PdfPageLabel]) -> PdfDocument raise PdfErrorpub struct PdfDrawControl {
frames : Array[PdfDrawControlFrame]
xobject_bbox : PdfCoordRectangle
font_name : String
font_size : Double
fontpack : PdfFontPack?
fontpack_initialized : Bool
paragraph_indent : Double?
role_map : String
auto_artifacts : Bool
} derive(Eq, ToJson, Debug)fn PdfDrawControl::add_default_fontpack(self : PdfDrawControl, font_name : String) -> Unit raise PdfErrorfn PdfDrawControl::add_element_info(self : PdfDrawControl, key : String, value : PdfObject) -> Unit raise PdfErrorfn PdfDrawControl::add_jpeg2000_data(self : PdfDrawControl, name : String, data : BytesView) -> Unit raise PdfErrorfn PdfDrawControl::add_jpeg_data(self : PdfDrawControl, name : String, data : BytesView) -> Unit raise PdfErrorfn PdfDrawControl::add_line(self : PdfDrawControl, document : PdfDocument, text : String) -> Unit raise PdfErrorfn PdfDrawControl::add_namespace(self : PdfDrawControl, namespace_name : String) -> Unit raise PdfErrorfn PdfDrawControl::add_para(self : PdfDrawControl, document : PdfDocument, spec : String) -> Unit raise PdfErrorfn PdfDrawControl::add_paras(self : PdfDrawControl, document : PdfDocument, spec : String) -> Unit raise PdfErrorfn PdfDrawControl::add_png_data(self : PdfDrawControl, document : PdfDocument, name : String, data : BytesView) -> Unit raise PdfErrorfn PdfDrawControl::add_rect(self : PdfDrawControl, document : PdfDocument, text : String) -> Unit raise PdfErrorfn PdfDrawControl::add_stroke_opacity(self : PdfDrawControl, opacity : Double) -> Unit raise PdfErrorfn PdfDrawControl::add_to(self : PdfDrawControl, document : PdfDocument, text : String) -> Unit raise PdfErrorfn PdfDrawControl::set_xobject_bbox_from_string(self : PdfDrawControl, document : PdfDocument, text : String) -> Unit raise PdfErrorpub(all) struct PdfDrawFontPackState {
identifier : String
fontpack : PdfFontPack
} derive(Eq, ToJson, Debug)pub(all) enum PdfDrawOp {
PdfDrawRect(Double, Double, Double, Double)
PdfDrawBezier(Double, Double, Double, Double, Double, Double)
PdfDrawBezier23(Double, Double, Double, Double)
PdfDrawBezier13(Double, Double, Double, Double)
PdfDrawTo(Double, Double)
PdfDrawLine(Double, Double)
PdfDrawClosePath
PdfDrawSetFill(PdfDrawColour)
PdfDrawSetStroke(PdfDrawColour)
PdfDrawSetLineThickness(Double)
PdfDrawSetLineCap(Int)
PdfDrawSetLineJoin(Int)
PdfDrawSetMiterLimit(Double)
PdfDrawSetDashPattern(Array[Double], Double)
PdfDrawMatrix(TransformMatrix)
PdfDrawQq(Array[PdfDrawOp])
PdfDrawFill
PdfDrawFillEvenOdd
PdfDrawStroke
PdfDrawFillStroke
PdfDrawFillStrokeEvenOdd
PdfDrawClip
PdfDrawClipEvenOdd
PdfDrawFormXObject(Double, Double, Double, Double, String, Array[PdfDrawOp])
PdfDrawUse(String)
PdfDrawImageXObject(String, PdfObject)
PdfDrawImage(String)
PdfDrawNewPage
PdfDrawOpacity(Double)
PdfDrawSOpacity(Double)
PdfDrawFontPack(String, PdfFontPack, Array[Int])
PdfDrawFont(String, Double)
PdfDrawTextSection(Array[PdfDrawOp])
PdfDrawText(String)
PdfDrawSpecialText(String)
PdfDrawPara(Double?, PdfDrawJustification, Double, Array[String])
PdfDrawNewline
PdfDrawLeading(Double)
PdfDrawCharSpace(Double)
PdfDrawWordSpace(Double)
PdfDrawTextScale(Double)
PdfDrawRenderMode(Int)
PdfDrawRise(Double)
PdfDrawTag(String)
PdfDrawEndTag
PdfDrawSTag(String)
PdfDrawEndSTag
PdfDrawBeginArtifact
PdfDrawEndArtifact
PdfDrawNamespace(String)
PdfDrawEltInfo(String, PdfObject)
PdfDrawEndEltInfo(String)
PdfDrawAutoTag(Bool)
} derive(Eq, ToJson, Debug)fn PdfDrawOp::to_content_ops_with_context(self : PdfDrawOp, state : PdfDrawRenderState, context : PdfDrawSpecialTextContext) -> Array[PdfContentOp] raise PdfErrorfn PdfDrawOp::to_content_ops_with_document(self : PdfDrawOp, state : PdfDrawRenderState, document : PdfDocument) -> Array[PdfContentOp] raise PdfErrorfn PdfDrawOp::to_content_ops_with_document_context(self : PdfDrawOp, state : PdfDrawRenderState, document : PdfDocument, context : PdfDrawSpecialTextContext) -> Array[PdfContentOp] raise PdfErrorfn PdfDrawOp::to_content_ops_with_state(self : PdfDrawOp, state : PdfDrawRenderState) -> Array[PdfContentOp] raise PdfErrorpub(all) struct PdfDrawRenderState {
resource_number : Int
marked_content_id : Int
extgstates : Array[PdfDrawExtGStateResource]
xobjects : Array[PdfDrawXObjectResource]
form_xobjects : Array[PdfDrawXObjectResource]
fonts : Array[PdfDrawFontResource]
fontpacks : Array[PdfDrawFontPackState]
current_fontpack_identifier : String
current_fontpack : PdfFontPack
font_size : Double
structure_tree_enabled : Bool
auto_tag : Bool
structure_page_number : Int
structure_data : Array[PdfDrawStructureData]
page_names : Array[PdfName]
} derive(Eq, ToJson, Debug)pub(all) struct PdfDrawSpecialTextContext {
time : PdfStrftimeTime
replacement_values : PdfAddTextReplacementValues
} derive(Eq, ToJson, Debug)pub(all) enum PdfEncoding {
PdfImplicitInFontFile
PdfStandardEncoding
PdfMacRomanEncoding
PdfWinAnsiEncoding
PdfMacExpertEncoding
PdfCustomEncoding(PdfEncoding, Array[PdfEncodingDifference])
PdfFillUndefinedWithStandard(PdfEncoding)
} derive(Eq, ToJson, Debug)pub(all) enum PdfFont {
PdfFontStandard(PdfStandardFontData)
PdfFontSimple(PdfSimpleFont)
PdfFontCIDKeyed(PdfCIDKeyedFont)
} derive(Eq, ToJson, Debug)fn PdfFont::content_text_layout_of_bytes(self : PdfFont, text : BytesView, layout : PdfContentTextLayout) -> PdfContentTextLayoutResultfn PdfFont::content_text_layout_of_tj_array(self : PdfFont, elements : ArrayView[PdfObject], layout : PdfContentTextLayout) -> PdfContentTextLayoutResultpub(all) struct PdfFontDescriptor {
ascent : Double
descent : Double
avgwidth : Double
maxwidth : Double
flags : Int
fontbbox : PdfRectangle
italicangle : Double
capheight : Double
xheight : Double
stemv : Double
fontfile : PdfFontFile?
charset : Array[PdfName]?
tounicode : Array[(Int, Bytes)]?
} derive(Eq, ToJson, Debug)fn PdfFunction::eval(self : PdfFunction, inputs : ArrayView[Double]) -> Array[Double] raise PdfErrorpub(all) enum PdfFunctionKind {
PdfFunctionSampled(PdfSampledFunction)
PdfFunctionInterpolation(PdfInterpolationFunction)
PdfFunctionStitching(PdfStitchingFunction)
PdfFunctionCalculator(PdfCalculatorFunction)
} derive(Eq, ToJson, Debug)pub(all) enum PdfLexeme {
LexNull
LexBool(Bool)
LexInt(Int)
LexReal(Double)
LexString(Bytes)
LexName(PdfName)
LexLeftSquare
LexRightSquare
LexLeftDict
LexRightDict
LexStream(PdfStreamData)
LexEndStream
LexObj
LexEndObj
LexR
LexComment(Bytes)
StopLexing
LexNone
} derive(Eq, ToJson, Debug)pub struct PdfObjects {
max_object_number : Int
object_map : PdfObjectMap
object_stream_ids : HashMap[Int, Int]
log : Array[(Int, PdfObjectEvent)]
} derive(Eq, ToJson, Debug)fn PdfObjects::add_object_given_number(self : PdfObjects, number : Int, object : PdfObject, generation? : Int) -> Unitfn PdfObjects::map_objects_in_place(self : PdfObjects, transform : (PdfObject) -> PdfObject) -> Unitpub(all) struct PdfOcgConfig {
name : Bytes?
creator : Bytes?
base_state : PdfOcgState
on : Array[Int]
off : Array[Int]
intent : Array[PdfName]
usage_applications : Array[PdfOcgAppDict]
order : Array[(Bytes?, Array[Int])]?
list_mode : PdfOcgListMode
radio_button_groups : Array[Array[Int]]?
locked : Array[Int]
} derive(Eq, ToJson, Debug)pub(all) struct PdfOcgUsage {
creator_info : (Bytes, PdfName)?
language : (Bytes, PdfName?)?
export_state : PdfName?
zoom_min : Double?
zoom_max : Double?
print_subtype : PdfName?
print_state : PdfName?
view_state : PdfName?
user : (PdfName, Array[Bytes])?
page_element_subtype : PdfName?
} derive(Eq, ToJson, Debug)pub(all) struct PdfOptionalContent {
ocgs : Array[(Int, PdfOcg)]
default_config : PdfOcgConfig
configs : Array[PdfOcgConfig]
} derive(Eq, ToJson, Debug)pub(all) struct PdfPageLabel {
label_style : PdfPageLabelStyle
label_prefix : Bytes?
start_page : Int
start_value : Int
} derive(Eq, ToJson, Debug)pub(all) struct PdfPath {
winding_rule : PdfPathWindingRule
subpaths : Array[PdfPathSubpath]
} derive(Eq, ToJson, Debug)fn PdfPath::content_bounding_box(self : PdfPath, ctm : TransformMatrix, line_width : Double, stroking : Bool) -> PdfContentBoundingBox?pub(all) struct PdfPathSubpath {
hole : PdfPathHole
closure : PdfPathClosure
segments : Array[PdfPathSegment]
} derive(Eq, ToJson, Debug)pub(all) enum PdfPosition {
PdfPositionPosCentre(Double, Double)
PdfPositionPosLeft(Double, Double)
PdfPositionPosRight(Double, Double)
PdfPositionTop(Double)
PdfPositionTopLeft(Double, Double)
PdfPositionTopRight(Double, Double)
PdfPositionLeft(Double)
PdfPositionBottomLeft(Double, Double)
PdfPositionBottom(Double)
PdfPositionBottomRight(Double, Double)
PdfPositionRight(Double)
PdfPositionDiagonal
PdfPositionReverseDiagonal
PdfPositionCentre
} derive(Eq, ToJson, Debug)pub(all) struct PdfSimpleFont {
fonttype : PdfSimpleFontType
basefont : PdfName?
firstchar : Int
lastchar : Int
widths : Array[Int]
fontdescriptor : PdfFontDescriptor?
fontmetrics : Array[Double]?
encoding : PdfEncoding
} derive(Eq, ToJson, Debug)pub(all) enum PdfSimpleFontType {
PdfType1
PdfMMType1
PdfType3(PdfType3Glyphs)
PdfTrueType
} derive(Eq, ToJson, Debug)fn PdfStandardFont::text_width(self : PdfStandardFont, encoding : PdfEncoding, text : BytesView, kern? : Bool) -> Intpub(all) struct PdfStandardFontData {
font : PdfStandardFont
encoding : PdfEncoding
} derive(Eq, ToJson, Debug)fn PdfStandardFontData::text_width(self : PdfStandardFontData, text : BytesView, kern? : Bool) -> Intfn PdfTextExtractor::codepoints_of_text(self : PdfTextExtractor, text : BytesView) -> Array[Int] raise PdfErrorfn PdfTextExtractor::glyphnames_and_codepoints_of_text(self : PdfTextExtractor, text : BytesView) -> Array[PdfTextGlyph] raise PdfErrorfn PdfTextExtractor::glyphnames_of_text(self : PdfTextExtractor, text : BytesView) -> Array[PdfName] raise PdfErrorpub(all) enum PdfTocFontSource {
PdfTocPreMadeFontPack(PdfFontPack)
PdfTocExistingNamedFont
} derive(Eq, ToJson, Debug)pub(all) struct PdfType3Glyphs {
fontbbox : PdfRectangle
fontmatrix : TransformMatrix
charprocs : Array[(PdfName, PdfObject)]
resources : PdfObject
} derive(Eq, ToJson, Debug)pub(all) enum PdfTypeElement {
PdfTypeText(Bytes)
PdfTypeHGlue(Double)
PdfTypeVGlue(Double)
PdfTypeNewLine
PdfTypeNewPage
PdfTypeFont(String, PdfFont, Double)
PdfTypeBeginDest(PdfDestination, String?)
PdfTypeEndDest
PdfTypeBeginDocument
PdfTypeTag(String, Int)
PdfTypeEndTag
} derive(Eq, ToJson, Debug)pub(all) struct PdfUnicodeDataEntry {
code_value : String
character_name : String
general_category : String
canonical_combining_classes : String
bidirectional_category : String
character_decomposition_mapping : String
decimal_digit_value : String
digit_value : String
numeric_value : String
mirrored : String
unicode_10_name : String
iso_10646_comment_field : String
uppercase_mapping : String
lowercase_mapping : String
titlecase_mapping : String
} derive(Eq, ToJson, Debug)pub(all) struct PdfWriteEncryption {
encryption_method : PdfEncryptionMethod
user_password : Bytes
owner_password : Bytes
denied_permissions : Array[PdfPermission]
} derive(Eq, ToJson, Debug)pub(all) struct ToGet {
input : ByteCursor
position : Int
length : Int
crypt : PdfStreamDataCrypt
} derive(Eq, ToJson, Debug)fn pdf_add_annotation(document : PdfDocument, page : PdfPage, annotation : PdfAnnotation) -> PdfPage raise PdfErrorfn pdf_add_bookmark_title(filename : String, use_title : Bool, document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_add_bookmarks(bookmarks : ArrayView[PdfBookmark], document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_add_bookmarks_from_json(verify : Bool, json : Json, document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_add_bookmarks_from_text(verify : Bool, data : BytesView, document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_add_page_labels(document : PdfDocument, progress : Bool, style : PdfPageLabelStyle, prefix : Bytes?, start_value : Int, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_add_pagetree(pages : ArrayView[PdfPage], document : PdfDocument) -> (PdfDocument, Int) raise PdfErrorfn pdf_add_root(page_root_number : Int, extras : ArrayView[(PdfName, PdfObject)], document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_addtext_apply_justification_offset(rotation : PdfAddTextRotation, horizontal_offset : Double, vertical_offset : Double, justification_offset : Double) -> (Double, Double)fn pdf_addtext_baseline_offsets(font : PdfFont?, font_size : Double, position : PdfPosition, rotation : PdfAddTextRotation, midline : Bool, topline : Bool) -> (Double, Double)fn pdf_addtext_bates_number(bates : Int, page_number : Int, bates_pad : Int?) -> Stringfn pdf_addtext_bookmark_for_page(document : PdfDocument, bookmarks : ArrayView[PdfBookmark], level : Int, page_number : Int) -> String raise PdfErrorfn pdf_addtext_calc_textwidth(document : PdfDocument, page : PdfPage, font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, text : BytesView) -> Double raise PdfErrorfn pdf_addtext_diagonal_offsets(bounds : PdfRectangle, position : PdfPosition, rotation : PdfAddTextRotation, text_width : Double, horizontal_offset : Double, vertical_offset : Double, base_rotation : Double) -> (Double, Double)fn pdf_addtext_expand_lines_with_time(time : PdfStrftimeTime, lines : ArrayView[String], replacements : ArrayView[(String, () -> String)]) -> Array[String] raise PdfErrorfn pdf_addtext_initial_line_offsets(position : PdfPosition, line_count : Int, line_spacing : Double, font_size : Double) -> (Double, Double)fn pdf_addtext_justification_offset(rotation : PdfAddTextRotation, longest_width : Double, width : Double, position : PdfPosition, justification : PdfAddTextJustification) -> Doublefn pdf_addtext_line_advance(rotation : PdfAddTextRotation, line_spacing : Double, font_size : Double) -> (Double, Double)fn pdf_addtext_line_page(document : PdfDocument, page : PdfPage, time : PdfStrftimeTime, lines : ArrayView[String], replacements : ArrayView[(String, () -> String)], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], font_size : Double, text : String, colour : PdfContentColour, position : PdfPosition, relative_to_box? : PdfName, horizontal_offset? : Double, vertical_offset? : Double, shift_x? : Double, shift_y? : Double, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfPage raise PdfErrorfn pdf_addtext_line_placement(bounds : PdfRectangle, position : PdfPosition, rotation : PdfAddTextRotation, text_width : Double, longest_width : Double, horizontal_offset : Double, vertical_offset : Double, justification : PdfAddTextJustification) -> PdfAddTextLinePlacementfn pdf_addtext_line_widths(document : PdfDocument, page : PdfPage, font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, text : BytesView, expanded_lines : ArrayView[Bytes]) -> PdfAddTextLineWidths raise PdfErrorfn pdf_addtext_lines_for_rotation(text : String, rotation : PdfAddTextRotation) -> Array[String] raise PdfErrorfn pdf_addtext_measurement_bytes(font : PdfFont?, fontpack : PdfFontPack?, raw : Bool, text : String) -> Bytes raise PdfErrorfn pdf_addtext_opacity_resources(document : PdfDocument, resources : PdfObject, opacity : Double) -> (PdfObject, PdfName?) raise PdfErrorfn pdf_addtext_page_lines(document : PdfDocument, page : PdfPage, time : PdfStrftimeTime, lines : ArrayView[String], replacements : ArrayView[(String, () -> String)], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, relative_to_box? : PdfName, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, shift_x? : Double, shift_y? : Double, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfPage raise PdfErrorfn pdf_addtext_pages_with_font(document : PdfDocument, page_numbers : ArrayView[Int], lines : ArrayView[String], time : PdfStrftimeTime, bookmarks : ArrayView[PdfBookmark], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, filename? : String, bates? : Int, bates_pad? : Int?, relative_to_box? : PdfName, shift? : String, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfDocument raise PdfErrorfn pdf_addtext_prepare_line(document : PdfDocument, page : PdfPage, time : PdfStrftimeTime, lines : ArrayView[String], replacements : ArrayView[(String, () -> String)], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, text : String, position : PdfPosition, relative_to_box? : PdfName, horizontal_offset? : Double, vertical_offset? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, raw? : Bool) -> PdfAddTextPreparedLine raise PdfErrorfn pdf_addtext_process_text_with_time(time : PdfStrftimeTime, text : String, replacements : ArrayView[(String, () -> String)]) -> Stringfn pdf_addtext_rectangle(document : PdfDocument, page_numbers : ArrayView[Int], coord : String, colour : PdfContentColour, position : PdfPosition, relative_to_box? : PdfName, outline? : Bool, line_width? : Double, opacity? : Double, underneath? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_addtext_rectangle_ops(x : Double, y : Double, width : Double, height : Double, colour : PdfContentColour, outline : Bool, line_width : Double, extgstate_name : PdfName?) -> Array[PdfContentOp]fn pdf_addtext_rectangle_origin(bounds : PdfRectangle, position : PdfPosition, width : Double, height : Double) -> (Double, Double)fn pdf_addtext_replacement_pairs(values : PdfAddTextReplacementValues) -> Array[(String, () -> String)]fn pdf_addtext_replacement_values(document : PdfDocument, bookmarks : ArrayView[PdfBookmark], page_number : Int, end_page : Int, filename : String, bates : Int, bates_pad : Int?) -> PdfAddTextReplacementValues raise PdfErrorfn pdf_addtext_resource_setup(document : PdfDocument, page : PdfPage, font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_object : PdfObject?, fontpack_font_objects : ArrayView[Int], opacity : Double) -> PdfAddTextResourceSetup raise PdfErrorfn pdf_addtext_rotation_offsets(position : PdfPosition, rotation : PdfAddTextRotation, text_width : Double) -> (Double, Double)fn pdf_addtext_selected_font_object(document : PdfDocument, font : PdfFont?) -> PdfObject? raise PdfErrorfn pdf_addtext_text_ops(font : PdfFont?, fontpack : PdfFontPack?, x : Double, y : Double, base_rotation : Double, horizontal_offset : Double, vertical_offset : Double, outline : Bool, line_width : Double, unique_fontname : PdfName, unique_fontnames : ArrayView[PdfName], extgstate_name : PdfName?, colour : PdfContentColour, font_size : Double, text : String, text_rotation : Double, rotation_h_offset : Double, rotation_v_offset : Double) -> Array[PdfContentOp] raise PdfErrorfn pdf_addtext_url_annotation_geometry(origin : Point2, horizontal_offset : Double, vertical_offset : Double, justification_offset : Double, rotation : Double, rotation_offset : Point2, page_rotation : Double, start_width : Double, end_width : Double, height : Double) -> PdfAddTextUrlAnnotationGeometryfn pdf_addtext_url_annotation_height(font : PdfFont?, fontname : String, font_size : Double) -> Doublefn pdf_addtext_url_annotation_references(document : PdfDocument, text : String, urls : ArrayView[PdfAddTextUrl], measure : (String) -> Double raise PdfError, origin : Point2, horizontal_offset : Double, vertical_offset : Double, justification_offset : Double, rotation : Double, rotation_offset : Point2, page_rotation : Double, font : PdfFont?, fontname : String, font_size : Double, url_border : Bool) -> Array[PdfObject] raise PdfErrorfn pdf_addtext_url_annotation_widths(text : String, url : PdfAddTextUrl, measure : (String) -> Double) -> (Double, Double) raise PdfErrorfn pdf_addtext_width_of_existing_font_resource(document : PdfDocument, page : PdfPage, fontname : PdfName, font_size : Double, text : BytesView) -> (PdfName, Double) raise PdfErrorfn pdf_addtext_width_of_fontpack(fontpack : PdfFontPack, font_size : Double, text : String) -> Double raise PdfErrorfn pdf_addtext_width_of_selected_font(font : PdfFont, font_size : Double, text : BytesView) -> Doublefn pdf_addtexts_with_font(document : PdfDocument, page_numbers : ArrayView[Int], text : String, time : PdfStrftimeTime, bookmarks : ArrayView[PdfBookmark], font : PdfFont?, fontpack : PdfFontPack?, fontname : PdfName, font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, filename? : String, bates? : Int, bates_pad? : Int?, relative_to_box? : PdfName, shift? : String, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfDocument raise PdfErrorfn pdf_addtexts_with_source(document : PdfDocument, page_numbers : ArrayView[Int], text : String, time : PdfStrftimeTime, bookmarks : ArrayView[PdfBookmark], font_source : PdfAddTextFontSource, fontname : PdfName, font_size : Double, line_spacing : Double, colour : PdfContentColour, position : PdfPosition, filename? : String, bates? : Int, bates_pad? : Int?, relative_to_box? : PdfName, shift? : String, opacity? : Double, justification? : PdfAddTextJustification, rotation? : PdfAddTextRotation, midline? : Bool, topline? : Bool, outline? : Bool, line_width? : Double, underneath? : Bool, fast? : Bool, raw? : Bool, url_border? : Bool) -> PdfDocument raise PdfErrorfn pdf_annotation_make(subtype : PdfAnnotationSubtype, contents? : Bytes?, border? : PdfAnnotationBorder, rectangle? : PdfRectangle, colour? : PdfAnnotationColour?, subject? : Bytes?) -> PdfAnnotationfn pdf_annotation_make_border(width : Double, vertical_radius? : Double, horizontal_radius? : Double, style? : PdfAnnotationStyle, dash_array? : ArrayView[Int]) -> PdfAnnotationBorderfn pdf_annotations_of_page(document : PdfDocument, page : PdfPage) -> Array[PdfAnnotation] raise PdfErrorfn pdf_append_page_content(document : PdfDocument, page_numbers : ArrayView[Int], content : BytesView, before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_append_page_content_multiple(document : PdfDocument, contents : ArrayView[Bytes], before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_append_page_content_multiple_ops(document : PdfDocument, op_lists : ArrayView[Array[PdfContentOp]], before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_append_page_content_ops(document : PdfDocument, page_numbers : ArrayView[Int], ops : ArrayView[PdfContentOp], before? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_apply_redaction_type(document : PdfDocument, annotation_type : String, page_numbers : ArrayView[Int]) -> Unitfn pdf_ascii85_encode(data : Bytes) -> Bytesfn pdf_ascii85_encode_view(data : BytesView) -> Bytesfn pdf_ascii_hex_encode(data : Bytes) -> Bytesfn pdf_ascii_hex_encode_view(data : BytesView) -> Bytesfn pdf_attach_file(document : PdfDocument, filename : String, data : BytesView, keep_version? : Bool, page_number? : Int?, relationship? : String?, description? : String?) -> PdfDocument raise PdfErrorfn pdf_black_fills(document : PdfDocument, page_numbers : ArrayView[Int], colour : PdfContentColour) -> PdfDocument raise PdfErrorfn pdf_black_fills_ops(colour : PdfContentColour, ops : ArrayView[PdfContentOp]) -> Array[PdfContentOp]fn pdf_black_lines(document : PdfDocument, page_numbers : ArrayView[Int], colour : PdfContentColour) -> PdfDocument raise PdfErrorfn pdf_black_lines_ops(colour : PdfContentColour, ops : ArrayView[PdfContentOp]) -> Array[PdfContentOp]fn pdf_black_text(document : PdfDocument, page_numbers : ArrayView[Int], colour : PdfContentColour) -> PdfDocument raise PdfErrorfn pdf_black_text_ops(colour : PdfContentColour, ops : ArrayView[PdfContentOp]) -> Array[PdfContentOp]fn pdf_blank_document(width : Double, height : Double, page_count : Int) -> PdfDocument raise PdfErrorfn pdf_bookmark_name_of_spec(encoding : PdfMetadataEncoding, bookmarks : ArrayView[PdfBookmark], document : PdfDocument, split_level : Int, spec : String, sequence : Int, filename : String, start_page : Int, end_page : Int) -> String raise PdfErrorfn pdf_build_name_tree(is_number : Bool, document : PdfDocument, entries : ArrayView[(Bytes, PdfObject)]) -> PdfObject raise PdfErrorfn pdf_bytes_copy(values : BytesView) -> Bytesfn pdf_bytes_get(bytes : Bytes, index : Int) -> Byte?fn pdf_bytes_length(bytes : Bytes) -> Intfn pdf_bytes_of_view(values : BytesView) -> Bytesfn pdf_bytes_to_fixed_array(bytes : Bytes) -> FixedArray[Byte]fn pdf_calculate_position(ignore_distance : Bool, text_width : Double, bounds : PdfRectangle, position : PdfPosition) -> PdfCalculatedPositionfn pdf_center_to_fit_pages(document : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)]) -> PdfDocument raise PdfErrorfn pdf_change_boxes(document : PdfDocument, page : PdfPage, transform : (Double, Double, Double, Double) -> (Double, Double, Double, Double)) -> PdfPage raise PdfErrorfn pdf_change_pages(change_references : Bool, document : PdfDocument, pages : ArrayView[PdfPage], matrices? : ArrayView[(Int, TransformMatrix)], changes? : ArrayView[(Int, Int)]) -> PdfDocument raise PdfErrorfn pdf_charcode_extractor_of_font(document : PdfDocument, font : PdfObject, debug? : Bool) -> ((Int) -> Int?) raise PdfErrorfn pdf_chop(document : PdfDocument, x : Int, y : Int, columns : Bool, btt : Bool, rtl : Bool, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_chop_hv(document : PdfDocument, is_h : Bool, line : Double, columns : Bool, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_clip_make_polygon(holes : ArrayView[Bool], vertex_arrays : ArrayView[Array[PdfClipVertex]]) -> PdfClipPolygon raise PdfErrorfn pdf_clip_polygon_clip(operation : PdfClipOperation, subject : PdfClipPolygon, clip : PdfClipPolygon) -> PdfClipPolygon raise PdfErrorfn pdf_clip_polygon_of_box(xmin : Double, xmax : Double, ymin : Double, ymax : Double) -> PdfClipPolygonfn pdf_codepoints_of_text(extractor : PdfTextExtractor, text : BytesView) -> Array[Int] raise PdfErrorfn pdf_colour_space_components(document : PdfDocument, resources : PdfObject, object : PdfObject) -> Int raise PdfErrorfn pdf_combine_pages(under : PdfDocument, overlay : PdfDocument, fast? : Bool, scale_to_fit? : Bool, overlay_is_under? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn pdf_composition(document : PdfDocument, file_size : Int) -> Array[PdfCompositionEntry] raise PdfErrorfn pdf_content_apply_clipping_op(partial_path : PdfContentPartialPath, clipping_path : ArrayView[PdfPath], op : PdfContentOp) -> PdfContentClippingOpResultfn pdf_content_apply_core_op(state : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_alpha_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_compositing_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_dash_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorState raise PdfErrorfn pdf_content_apply_extgstate_font_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorState raise PdfErrorfn pdf_content_apply_extgstate_graphics_parameter_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_halftone_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_overprint_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_rendering_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_resource_op(document : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, name : PdfName) -> PdfContentOperatorState raise PdfErrorfn pdf_content_apply_extgstate_text_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_extgstate_transfer_op(document : PdfDocument, state : PdfContentOperatorState, extgstate : PdfObject) -> PdfContentOperatorStatefn pdf_content_apply_font_resource_op(document : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, font_name : PdfName, font_size : Double) -> PdfContentOperatorState raise PdfErrorfn pdf_content_apply_graphics_parameter_op(state : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn pdf_content_apply_graphics_state_op(state : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn pdf_content_apply_marked_content_op(state : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn pdf_content_apply_path_op(partial_path : PdfContentPartialPath, op : PdfContentOp) -> PdfContentPathOpResultfn pdf_content_apply_path_state_op(state : PdfContentPathState, op : PdfContentOp) -> PdfContentPathStatefn pdf_content_apply_resource_op(document : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, op : PdfContentOp) -> PdfContentOperatorResourceResult raise PdfErrorfn pdf_content_apply_text_op(state : PdfContentTextState, font : PdfFont, ctm : TransformMatrix, op : PdfContentOp) -> PdfContentTextOpResultfn pdf_content_apply_text_resource_op(document : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, op : PdfContentOp) -> PdfContentOperatorTextResult raise PdfErrorfn pdf_content_apply_text_show_op(state : PdfContentOperatorState, font : PdfFont, op : PdfContentOp) -> PdfContentOperatorTextResult raise PdfErrorfn pdf_content_apply_text_state_op(state : PdfContentTextState, op : PdfContentOp) -> PdfContentTextStatefn pdf_content_apply_type3_metrics_op(state : PdfContentOperatorState, op : PdfContentOp) -> PdfContentOperatorStatefn pdf_content_clipping_state_of_paths(clipping_path : ArrayView[PdfPath]) -> PdfContentClippingStatefn pdf_content_entries_of_ops(document : PdfDocument, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp]) -> Array[PdfContentJsonEntry] raise PdfErrorfn pdf_content_entries_of_ops_recursive(document : PdfDocument, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp]) -> Array[PdfContentJsonEntry] raise PdfErrorfn pdf_content_entries_of_page(document : PdfDocument, page : PdfPage) -> Array[PdfContentJsonEntry] raise PdfErrorfn pdf_content_filter(document : PdfDocument, predicate : (PdfContentJsonEntry) -> Bool, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp]) -> Array[PdfContentOp] raise PdfErrorfn pdf_content_form_xobject_enter_state(document : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, name : PdfName) -> PdfContentOperatorState? raise PdfErrorfn pdf_content_form_xobject_ops(document : PdfDocument, resources : PdfObject, name : PdfName) -> Array[PdfContentOp]? raise PdfErrorfn pdf_content_form_xobject_resources(document : PdfDocument, resources : PdfObject, name : PdfName) -> PdfObject? raise PdfErrorfn pdf_content_glyph_state_of_text_state(state : PdfContentTextState, clipping_path : ArrayView[PdfPath]) -> PdfContentGlyphStatefn pdf_content_image_entry_from_resources(document : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, name : PdfName) -> PdfContentJsonEntry? raise PdfErrorfn pdf_content_initial_clipping_state(minx : Double, miny : Double, maxx : Double, maxy : Double) -> PdfContentClippingStatefn pdf_content_initial_glyph_state(minx : Double, miny : Double, maxx : Double, maxy : Double) -> PdfContentGlyphStatefn pdf_content_initial_operator_state(minx : Double, miny : Double, maxx : Double, maxy : Double) -> PdfContentOperatorStatefn pdf_content_initial_path_state(minx : Double, miny : Double, maxx : Double, maxy : Double) -> PdfContentPathStatefn pdf_content_json_of_ops(document : PdfDocument, mediabox : PdfRectangle, resources : PdfObject, ops : ArrayView[PdfContentOp]) -> Json raise PdfErrorfn pdf_content_path_state_with_clipping_path(state : PdfContentPathState, clipping_path : ArrayView[PdfPath]) -> PdfContentPathStatefn pdf_content_read_pattern(document : PdfDocument, resources : PdfObject, name : PdfName) -> PdfContentPattern? raise PdfErrorfn pdf_content_shading_entry(state : PdfContentOperatorState, name : PdfName, shading_bbox : PdfRectangle?) -> PdfContentJsonEntry?fn pdf_content_shading_entry_from_resources(document : PdfDocument, state : PdfContentOperatorState, resources : PdfObject, name : PdfName) -> PdfContentJsonEntry?fn pdf_content_text_glyph_entry(state : PdfContentOperatorState, font : PdfFont, glyph : PdfContentTextGlyphPlacement) -> PdfContentJsonEntry raise PdfErrorfn pdf_content_text_layout_of_bytes(font : PdfFont, text : BytesView, layout : PdfContentTextLayout) -> PdfContentTextLayoutResultfn pdf_content_text_layout_of_tj_array(font : PdfFont, elements : ArrayView[PdfObject], layout : PdfContentTextLayout) -> PdfContentTextLayoutResultfn pdf_copy_annotations(page_numbers : ArrayView[Int], source : PdfDocument, target : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_copy_font(source : PdfDocument, font_name : String, font_page : Int, page_numbers : ArrayView[Int], target : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_copy_id(keep_version : Bool, copy_from : PdfDocument, copy_to : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_copy_page_box(document : PdfDocument, page_numbers : ArrayView[Int], from_box : PdfName, to_box : PdfName, mediabox_if_missing? : Bool) -> PdfDocument raise PdfErrorfn pdf_crop_pdf(document : PdfDocument, page_numbers : ArrayView[Int], boxes : ArrayView[(Double, Double, Double, Double)], box_name? : PdfName) -> PdfDocument raise PdfErrorfn pdf_css_colour_value(name : String) -> Int?fn pdf_decode_predictor(predictor : Int, colors : Int, bits_per_component : Int, columns : Int, data : Bytes) -> Bytes raise PdfErrorfn pdf_decode_predictor_view(predictor : Int, colors : Int, bits_per_component : Int, columns : Int, data : BytesView) -> Bytes raise PdfErrorfn pdf_deterministic_aes_iv_provider_from_seed(seed : BytesView) -> ((Int, Int, Int) -> Bytes raise PdfError)fn pdf_deterministic_aesv3_random_provider_from_seed(seed : BytesView) -> ((PdfAesV3RandomField, Int) -> Bytes raise PdfError)fn pdf_document_of_parsed_indirect_objects(objects : ArrayView[PdfParsedIndirectObject], version? : PdfVersion) -> PdfDocumentfn pdf_draft(only_remove : PdfName?, boxes : Bool, page_numbers : ArrayView[Int], document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_draw(document : PdfDocument, page_numbers : ArrayView[Int], drawops : ArrayView[PdfDrawOp], struct_tree? : Bool, fast? : Bool, underneath? : Bool, filename? : String, bates? : Int, bates_pad? : Int?, time? : PdfStrftimeTime?, add_artifacts? : Bool, role_map? : String) -> PdfDocument raise PdfErrorfn pdf_draw_special_text_context(time : PdfStrftimeTime, replacement_values : PdfAddTextReplacementValues) -> PdfDrawSpecialTextContextfn pdf_draw_special_text_context_for_document(document : PdfDocument, page_number : Int, filename? : String, bates? : Int, bates_pad? : Int?, time? : PdfStrftimeTime?) -> PdfDrawSpecialTextContext raise PdfErrorfn pdf_drawop_to_content_ops_with_context(state : PdfDrawRenderState, context : PdfDrawSpecialTextContext, op : PdfDrawOp) -> Array[PdfContentOp] raise PdfErrorfn pdf_drawop_to_content_ops_with_document(state : PdfDrawRenderState, document : PdfDocument, op : PdfDrawOp) -> Array[PdfContentOp] raise PdfErrorfn pdf_drawop_to_content_ops_with_document_context(state : PdfDrawRenderState, document : PdfDocument, context : PdfDrawSpecialTextContext, op : PdfDrawOp) -> Array[PdfContentOp] raise PdfErrorfn pdf_drawop_to_content_ops_with_state(state : PdfDrawRenderState, op : PdfDrawOp) -> Array[PdfContentOp] raise PdfErrorfn pdf_drawops_to_content_ops_with_context(state : PdfDrawRenderState, context : PdfDrawSpecialTextContext, ops : ArrayView[PdfDrawOp]) -> Array[PdfContentOp] raise PdfErrorfn pdf_drawops_to_content_ops_with_document(state : PdfDrawRenderState, document : PdfDocument, ops : ArrayView[PdfDrawOp]) -> Array[PdfContentOp] raise PdfErrorfn pdf_drawops_to_content_ops_with_document_context(state : PdfDrawRenderState, document : PdfDocument, context : PdfDrawSpecialTextContext, ops : ArrayView[PdfDrawOp]) -> Array[PdfContentOp] raise PdfErrorfn pdf_drawops_to_content_ops_with_state(state : PdfDrawRenderState, ops : ArrayView[PdfDrawOp]) -> Array[PdfContentOp] raise PdfErrorfn pdf_encode_predictor(predictor : Int, colors : Int, bits_per_component : Int, columns : Int, data : Bytes) -> Bytes raise PdfErrorfn pdf_encode_predictor_view(predictor : Int, colors : Int, bits_per_component : Int, columns : Int, data : BytesView) -> Bytes raise PdfErrorfn pdf_encode_stream_with_encoding(encoding : PdfStreamEncoding, object : PdfObject, only_if_smaller? : Bool, predictor? : PdfStreamPredictor?, predictor_columns? : Int, flate_level? : Int?) -> PdfObject raise PdfErrorfn pdf_eval_function(function : PdfFunction, inputs : ArrayView[Double]) -> Array[Double] raise PdfErrorfn pdf_extract_fontfile_bytes(document : PdfDocument, page_number : Int, font_name : String) -> Bytes? raise PdfErrorfn pdf_flate_encode(data : Bytes) -> Bytesfn pdf_flate_encode_view(data : BytesView) -> Bytesfn pdf_font_from_name(document : PdfDocument, font_name : String, page_number : Int) -> PdfObject raise PdfErrorfn pdf_font_table(document : PdfDocument, font_name : String, page_number : Int) -> Array[PdfFontTableEntry] raise PdfErrorfn pdf_font_table_text(document : PdfDocument, font_name : String, page_number : Int) -> Bytes raise PdfErrorfn pdf_fonts_json_blob(document : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn pdf_get_annotations(encoding : PdfMetadataEncoding, document : PdfDocument) -> Array[(Int, Bytes)] raise PdfErrorfn pdf_get_annotations_json(page_numbers : ArrayView[Int], document : PdfDocument) -> Bytes raise PdfErrorfn pdf_get_bookmarks_json(json_preserve_actions : Bool, document : PdfDocument) -> Bytes raise PdfErrorfn pdf_get_dict_entries(document : PdfDocument, key : PdfName, utf8? : Bool) -> Bytes raise PdfErrorfn pdf_get_image_24bpp(document : PdfDocument, resources : PdfObject, image : PdfObject) -> PdfImage raise PdfErrorfn pdf_glyphnames_of_text(extractor : PdfTextExtractor, text : BytesView) -> Array[PdfName] raise PdfErrorfn pdf_hard_box(document : PdfDocument, page_numbers : ArrayView[Int], box_name : PdfName, mediabox_if_missing? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_hflip_pdf(document : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_image_colspace(document : PdfDocument, image : PdfObject, resources : PdfObject) -> PdfColourSpace raise PdfErrorfn pdf_image_document_of_jbig2_data(data : BytesView, global? : BytesView?, process_struct_tree? : Bool, subformat? : PdfUASubformat?, title? : String?) -> PdfDocument raise PdfErrorfn pdf_image_document_of_jpeg2000_data(data : BytesView, process_struct_tree? : Bool, subformat? : PdfUASubformat?, title? : String?) -> PdfDocument raise PdfErrorfn pdf_image_document_of_jpeg_data(data : BytesView, process_struct_tree? : Bool, subformat? : PdfUASubformat?, title? : String?) -> PdfDocument raise PdfErrorfn pdf_image_document_of_object(image : PdfObject, process_struct_tree? : Bool, subformat? : PdfUASubformat?, title? : String?) -> PdfDocument raise PdfErrorfn pdf_image_document_of_png_data(data : BytesView, process_struct_tree? : Bool, subformat? : PdfUASubformat?, title? : String?) -> PdfDocument raise PdfErrorfn pdf_image_images(inline : Bool, document : PdfDocument, page_numbers : ArrayView[Int]) -> Json raise PdfErrorfn pdf_image_images_json_blob(inline : Bool, document : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn pdf_image_object_of_png_data(document : PdfDocument, data : BytesView) -> PdfObject raise PdfErrorfn pdf_image_resolution(inline : Bool, document : PdfDocument, page_numbers : ArrayView[Int], dpi : Double) -> Array[(Int, String, Int, Int, Double, Double, Int)] raise PdfErrorfn pdf_image_resolution_json(inline : Bool, document : PdfDocument, page_numbers : ArrayView[Int], dpi : Double) -> Json raise PdfErrorfn pdf_image_resolution_json_blob(inline : Bool, document : PdfDocument, page_numbers : ArrayView[Int], dpi : Double) -> Bytes raise PdfErrorfn pdf_impose(document : PdfDocument, x : Double, y : Double, fit? : Bool, columns? : Bool, rtl? : Bool, btt? : Bool, center? : Bool, margin? : Double, spacing? : Double, line_width? : Double, fast? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn pdf_is_delimiter_byte(value : Int) -> Boolfn pdf_is_linearized(data : BytesView) -> Boolfn pdf_is_newline_byte(value : Int) -> Boolfn pdf_is_not_whitespace_byte(value : Int) -> Boolfn pdf_is_unicode_string(bytes : BytesView) -> Boolfn pdf_is_whitespace_byte(value : Int) -> Boolfn pdf_is_whitespace_or_delimiter_byte(value : Int) -> Boolfn pdf_iter_pages(document : PdfDocument, page_numbers : ArrayView[Int], process : (Int, PdfPage) -> Unit raise PdfError) -> Unit raise PdfErrorfn pdf_json_of_document(document : PdfDocument, utf8? : Bool, parse_content? : Bool, clean_strings? : Bool, no_stream_data? : Bool, decompress_streams? : Bool) -> Json raise PdfErrorfn pdf_json_of_object(document : PdfDocument, object : PdfObject, utf8? : Bool, clean_strings? : Bool, no_stream_data? : Bool, parse_content? : Bool) -> Json raise PdfErrorfn pdf_list_annotations(page_numbers : ArrayView[Int], encoding : PdfMetadataEncoding, document : PdfDocument) -> Bytes raise PdfErrorfn pdf_list_bookmarks(json : Bool, json_preserve_actions : Bool, encoding : PdfMetadataEncoding, page_numbers : ArrayView[Int], document : PdfDocument) -> Bytes raise PdfErrorfn pdf_list_fonts(document : PdfDocument, page_numbers : ArrayView[Int]) -> Array[PdfFontListEntry] raise PdfErrorfn pdf_list_fonts_text(document : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn pdf_make_hex_pdf_string(bytes : BytesView) -> Bytesfn pdf_make_pdf_string(bytes : BytesView) -> Bytesfn pdf_merge_documents(documents : ArrayView[PdfDocument], ranges : ArrayView[Array[Int]], retain_numbering? : Bool, retain_bookmarks? : Bool, retain_optional_content? : Bool, retain_acroforms? : Bool, retain_named_destinations? : Bool, retain_name_dictionary? : Bool, retain_structure_tree? : Bool, add_toplevel_document? : Bool, retain_info? : Bool, retain_catalog_entries? : Bool, remove_duplicate_fonts? : Bool) -> PdfDocument raise PdfErrorfn pdf_merge_number_trees_no_clash(document : PdfDocument, trees : ArrayView[PdfObject]) -> PdfObjectfn pdf_merge_pdfs(retain_numbering : Bool, remove_duplicate_fonts : Bool, names : ArrayView[String], documents : ArrayView[PdfDocument], ranges : ArrayView[Array[Int]], process_struct_trees? : Bool, add_toplevel_document? : Bool) -> PdfDocument raise PdfErrorfn pdf_merge_structure_trees(document : PdfDocument, documents : ArrayView[PdfDocument], add_toplevel_document? : Bool) -> Int? raise PdfErrorfn pdf_metadata_encode_output(encoding : PdfMetadataEncoding, bytes : BytesView) -> Bytes raise PdfErrorfn pdf_missing_fonts(document : PdfDocument, page_numbers : ArrayView[Int]) -> Array[PdfMissingFontEntry] raise PdfErrorfn pdf_missing_fonts_text(document : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorlet pdf_no_more : Intfn pdf_of_pages(document : PdfDocument, page_numbers : ArrayView[Int], retain_numbering? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn pdf_optional_content_merge(documents : ArrayView[PdfDocument]) -> PdfOptionalContent? raise PdfErrorfn pdf_output_info_json_blob(document : PdfDocument, encoding? : PdfMetadataEncoding, unit? : PdfUnit) -> Bytes raise PdfErrorfn pdf_output_page_info_json_blob(document : PdfDocument, page_numbers : ArrayView[Int], unit? : PdfUnit) -> Bytes raise PdfErrorfn pdf_output_page_info_text(document : PdfDocument, page_numbers : ArrayView[Int], unit? : PdfUnit) -> Bytes raise PdfErrorfn pdf_pad_after(document : PdfDocument, page_numbers : ArrayView[Int], pad_with? : PdfDocument?) -> PdfDocument raise PdfErrorfn pdf_pad_before(document : PdfDocument, page_numbers : ArrayView[Int], pad_with? : PdfDocument?) -> PdfDocument raise PdfErrorfn pdf_page_content_json(document : PdfDocument, page_numbers : ArrayView[Int]) -> Json raise PdfErrorfn pdf_page_info_json(document : PdfDocument, page_numbers : ArrayView[Int], unit? : PdfUnit) -> Json raise PdfErrorfn pdf_page_label_add_label(end_page : Int, labels : ArrayView[PdfPageLabel], label : PdfPageLabel, range_end_page : Int) -> Array[PdfPageLabel]fn pdf_page_label_merge(pdfs : ArrayView[PdfDocument], ranges : ArrayView[Array[Int]]) -> Array[PdfPageLabel] raise PdfErrorfn pdf_page_label_of_page_number(page_number : Int, labels : ArrayView[PdfPageLabel]) -> PdfPageLabel?fn pdf_page_label_text_of_page_number(page_number : Int, labels : ArrayView[PdfPageLabel]) -> Bytes?fn[A, B, C] pdf_page_process_stub(process : (A, B) -> C raise, number : A, page : B) -> (C, A, TransformMatrix) raisefn pdf_pagenumber_of_target(document : PdfDocument, destination : PdfDestination) -> Int raise PdfErrorfn pdf_parse_bookmark_json(verify : Bool, json : Json, document : PdfDocument) -> Array[PdfBookmark] raise PdfErrorfn pdf_parse_bookmark_text(verify : Bool, data : BytesView, document : PdfDocument) -> Array[PdfBookmark] raise PdfErrorfn pdf_parse_coordinate_rectangle(document : PdfDocument, text : String) -> PdfCoordRectangle raise PdfErrorfn pdf_parse_coordinate_rectangles(document : PdfDocument, text : String) -> Array[PdfCoordRectangle] raise PdfErrorfn pdf_parse_function(document : PdfDocument, function_object : PdfObject) -> PdfFunction raise PdfErrorfn pdf_parse_indirect_object_lexemes(lexemes : ArrayView[PdfLexeme]) -> PdfParsedIndirectObject raise PdfErrorfn pdf_parse_indirect_objects(lexemes : ArrayView[PdfLexeme]) -> Array[PdfParsedIndirectObject] raise PdfErrorfn pdf_parse_units_string(document : PdfDocument, page : PdfPage, text : String) -> Array[Double] raise PdfErrorfn pdf_path_content_bounding_box(path : PdfPath, ctm : TransformMatrix, line_width : Double, stroking : Bool) -> PdfContentBoundingBox?fn pdf_pdfdocencoding_byte_of_codepoint(codepoint : Int) -> Byte?fn pdf_portfolio(document : PdfDocument, entries : ArrayView[PdfPortfolioEntry], mod_date? : Bytes?) -> PdfDocument raise PdfErrorfn pdf_portfolio_entry(filename : String, data : BytesView, relationship? : String?, description? : String?) -> PdfPortfolioEntryfn pdf_postpend_operators(document : PdfDocument, operators : ArrayView[PdfContentOp], page : PdfPage, fast? : Bool) -> PdfPage raise PdfErrorfn pdf_prepend_operators(document : PdfDocument, operators : ArrayView[PdfContentOp], page : PdfPage, fast? : Bool) -> PdfPage raise PdfErrorfn pdf_presentation(range : ArrayView[Int], transition : String?, delay : Double?, horizontal : Bool, inward : Bool, direction : Int, effect_duration : Double, document : PdfDocument) -> PdfDocument raise PdfErrorfn[T] pdf_print_tree_to_string(value : T, get_name : (T) -> String, get_children : (T) -> Array[T], line_prefix? : String) -> Stringfn pdf_process_pages(document : PdfDocument, page_numbers : ArrayView[Int], process : (Int, PdfPage) -> (PdfPage, Int, TransformMatrix) raise PdfError) -> PdfDocument raise PdfErrorfn pdf_read_bookmarks(document : PdfDocument, preserve_actions? : Bool) -> Array[PdfBookmark] raise PdfErrorfn pdf_read_classic_document_revision_from_bytes(data : Bytes, revision : Int) -> PdfDocument raise PdfErrorfn pdf_read_classic_document_revision_from_view(data : BytesView, revision : Int) -> PdfDocument raise PdfErrorfn pdf_read_colour_space(document : PdfDocument, resources : PdfObject, object : PdfObject) -> PdfColourSpace? raise PdfErrorfn pdf_read_destination(document : PdfDocument, object : PdfObject, shallow? : Bool) -> PdfDestination raise PdfErrorfn pdf_read_document_from_bytes_with_passwords(data : Bytes, user_password? : BytesView?, owner_password? : BytesView?) -> PdfDecryptionResult? raise PdfErrorfn pdf_read_document_from_view_with_passwords(data : BytesView, user_password? : BytesView?, owner_password? : BytesView?) -> PdfDecryptionResult? raise PdfErrorfn pdf_read_document_revision_from_bytes(data : Bytes, revision : Int) -> PdfDocument raise PdfErrorfn pdf_read_document_revision_from_bytes_with_passwords(data : Bytes, revision : Int, user_password? : BytesView?, owner_password? : BytesView?) -> PdfDecryptionResult? raise PdfErrorfn pdf_read_document_revision_from_view(data : BytesView, revision : Int) -> PdfDocument raise PdfErrorfn pdf_read_document_revision_from_view_with_passwords(data : BytesView, revision : Int, user_password? : BytesView?, owner_password? : BytesView?) -> PdfDecryptionResult? raise PdfErrorfn pdf_rectify_boxes(document : PdfDocument, page : PdfPage, fast? : Bool) -> PdfPage raise PdfErrorfn pdf_redact(document : PdfDocument, path : ArrayView[(Double, Double)], page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_redact_pages(document : PdfDocument, page_numbers : ArrayView[Int], process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn pdf_remove_added_text(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_remove_all_text(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_remove_annotations(page_numbers : ArrayView[Int], document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_remove_art_pdf(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_remove_bleed_pdf(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_remove_clipping(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_remove_cropping_pdf(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_remove_page_box(document : PdfDocument, page_numbers : ArrayView[Int], box_name : PdfName) -> PdfDocument raise PdfErrorfn pdf_remove_trim_pdf(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_replace_dict_entry(document : PdfDocument, key : PdfName, value : PdfObject, search? : PdfObject?) -> Unitfn pdf_replace_object_by_spec(document : PdfDocument, spec : String, value : PdfObject) -> Unit raise PdfErrorfn pdf_replace_stream_by_spec(document : PdfDocument, spec : String, data : BytesView) -> Unit raise PdfErrorfn pdf_restrict_angle(step : Double, angle : Double) -> Doublefn pdf_reveal_hidden_text(document : PdfDocument, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_rotate_contents(document : PdfDocument, rotation : Double, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_rotate_pages(document : PdfDocument, rotation : Int, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_rotate_pages_by(document : PdfDocument, rotation : Int, page_numbers : ArrayView[Int]) -> PdfDocument raise PdfErrorfn pdf_run_length_decode(data : Bytes) -> Bytesfn pdf_run_length_decode_view(data : BytesView) -> Bytesfn pdf_run_length_encode(data : Bytes) -> Bytesfn pdf_run_length_encode_view(data : BytesView) -> Bytesfn pdf_scale_contents(document : PdfDocument, page_numbers : ArrayView[Int], position : PdfPosition, scale : Double, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_scale_pages(document : PdfDocument, page_numbers : ArrayView[Int], scales : ArrayView[(Double, Double)], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_scale_to_fit_pages(document : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)], position? : PdfPosition, input_scale? : Double, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_scale_to_fit_rotate_pages(document : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)], rotation : Int, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_set_box(document : PdfDocument, page_numbers : ArrayView[Int], box_name : PdfName, min_x : Double, max_x : Double, min_y : Double, max_y : Double) -> PdfDocument raise PdfErrorfn pdf_set_mediaboxes(document : PdfDocument, page_numbers : ArrayView[Int], boxes : ArrayView[(Double, Double, Double, Double)]) -> PdfDocument raise PdfErrorfn pdf_set_metadata_from_bytes(keep_version : Bool, data : BytesView, document : PdfDocument) -> PdfDocument raise PdfErrorfn pdf_set_non_full_screen_page_mode(document : PdfDocument, mode : String) -> PdfDocument raise PdfErrorfn pdf_set_open_action(document : PdfDocument, fit : Bool, page_number : Int, destination? : PdfObject?) -> PdfDocument raise PdfErrorfn pdf_set_pdf_info(key : PdfName, value : PdfObject, version : Int, document : PdfDocument, keep_version? : Bool, xmp_also? : Bool, xmp_just_set? : Bool) -> PdfDocument raise PdfErrorfn pdf_set_viewer_preference(key : PdfName, value : PdfObject, version : Int, document : PdfDocument) -> PdfDocument raise PdfErrorlet pdf_shape_kappa : Doublefn pdf_shift_boxes(document : PdfDocument, page_numbers : ArrayView[Int], offsets : ArrayView[(Double, Double)]) -> PdfDocument raise PdfErrorfn pdf_shift_pages(document : PdfDocument, page_numbers : ArrayView[Int], offsets : ArrayView[(Double, Double)], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_show_annotation_bounding_boxes(document : PdfDocument, page_numbers : ArrayView[Int], light? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_show_bounding_boxes(document : PdfDocument, page_numbers : ArrayView[Int], shape? : PdfRectangle?, light? : Bool, fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_show_boxes(document : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_stamp(document : PdfDocument, page_numbers : ArrayView[Int], overlay : PdfDocument, relative_to_box? : PdfName, position? : PdfPosition, topline? : Bool, midline? : Bool, fast? : Bool, scale_to_fit? : Bool, is_over? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn pdf_stamp_as_xobject(document : PdfDocument, range : ArrayView[Int], overlay : PdfDocument) -> (PdfDocument, PdfName) raise PdfErrorfn pdf_standard14_text_width(font : PdfStandardFont, encoding : PdfEncoding, text : BytesView, kern? : Bool) -> Intfn pdf_standard14_textwidth(kern : Bool, encoding : PdfEncoding, font : PdfStandardFont, text : BytesView) -> Intfn pdf_stretch_pages(document : PdfDocument, page_numbers : ArrayView[Int], sizes : ArrayView[(Double, Double)], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_target_of_pagenumber(document : PdfDocument, page_number : Int) -> PdfDestination raise PdfErrorfn pdf_test_extract_text(document : PdfDocument, page_numbers : ArrayView[Int]) -> Bytes raise PdfErrorfn pdf_text_extractor_of_font(document : PdfDocument, font : PdfObject) -> PdfTextExtractor raise PdfErrorfn pdf_texttopdf_of_utf8_with_newlines(fontpack : PdfFontPack, font_size : Double, text : BytesView) -> Array[PdfTypeElement] raise PdfErrorfn pdf_texttopdf_typeset(fontpack : PdfFontPack, font_size : Double, paper : PaperSize, text : BytesView, process_struct_tree? : Bool, subformat? : PdfUASubformat?, title? : String?) -> PdfDocument raise PdfErrorfn pdf_thin_lines(document : PdfDocument, page_numbers : ArrayView[Int], width : Double) -> PdfDocument raise PdfErrorfn pdf_thin_lines_ops(document : PdfDocument, resources : PdfObject, ops : ArrayView[PdfContentOp], width : Double) -> Array[PdfContentOp] raise PdfErrorfn pdf_toc_insert_pages(document : PdfDocument, toc_pages : ArrayView[PdfPage], labels : ArrayView[PdfPageLabel]) -> PdfDocument raise PdfErrorfn pdf_toc_make_dots(space : Double, fontpack : PdfFontPack, font_size : Double) -> Array[PdfTypeElement] raise PdfErrorfn pdf_toc_of_pdfdocencoding(fontpack : PdfFontPack, font_size : Double, text : BytesView) -> Array[PdfTypeElement] raise PdfErrorfn pdf_toc_of_utf8(fontpack : PdfFontPack, font_size : Double, text : BytesView) -> Array[PdfTypeElement] raise PdfErrorfn pdf_toc_shift_page_labels(toc_page_count : Int, labels : ArrayView[PdfPageLabel]) -> Array[PdfPageLabel]fn pdf_toc_shorten_text(fontpack : PdfFontPack, font_size : Double, max_width : Double, runs : ArrayView[PdfTypeElement]) -> Array[PdfTypeElement] raise PdfErrorfn pdf_toc_title_real_newlines(title : BytesView) -> Bytesfn pdf_toc_type_elements(document : PdfDocument, fontpack : PdfFontPack, font_size : Double, title : BytesView, dotleader : Bool, process_struct_tree : Bool, labels : ArrayView[PdfPageLabel], bookmarks : ArrayView[PdfBookmark], page_width : Double, margin : Double) -> Array[PdfTypeElement] raise PdfErrorfn pdf_toc_typeset_pages(document : PdfDocument, fontpack : PdfFontPack, font_size : Double, title : BytesView, dotleader : Bool, process_struct_tree : Bool, labels : ArrayView[PdfPageLabel], bookmarks : ArrayView[PdfBookmark]) -> PdfTypeTypesetResult raise PdfErrorfn pdf_toc_used_codepoints(document : PdfDocument, labels : ArrayView[PdfPageLabel], title : BytesView, bookmarks : ArrayView[PdfBookmark]) -> Array[Int] raise PdfErrorfn pdf_toc_with_fontpack(document : PdfDocument, fontpack : PdfFontPack, font_size : Double, title : BytesView, bookmark? : Bool, dotleader? : Bool) -> PdfDocument raise PdfErrorfn pdf_toc_with_source(document : PdfDocument, source : PdfTocFontSource, font_size : Double, title : BytesView, bookmark? : Bool, dotleader? : Bool) -> PdfDocument raise PdfErrorfn pdf_transform_annotations(document : PdfDocument, matrix : TransformMatrix, rest : PdfObject) -> Unit raise PdfErrorfn pdf_transform_bookmark(document : PdfDocument, matrix : TransformMatrix, bookmark : PdfBookmark) -> PdfBookmark raise PdfErrorfn pdf_transform_destination(document : PdfDocument, matrix : TransformMatrix, destination : PdfDestination) -> PdfDestination raise PdfErrorfn pdf_trim_marks(document : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_trim_structure_tree(document : PdfDocument, page_numbers : ArrayView[Int]) -> Unit raise PdfErrorfn pdf_twoup(document : PdfDocument, fast? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn pdf_twoup_stack(document : PdfDocument, fast? : Bool, process_struct_tree? : Bool) -> PdfDocument raise PdfErrorfn pdf_type_layout(lmargin : Double, rmargin : Double, paper : PaperSize, elements : ArrayView[PdfTypeElement]) -> Array[PdfTypeElement] raise PdfErrorfn pdf_type_paginate(tmargin : Double, bmargin : Double, paper : PaperSize, elements : ArrayView[PdfTypeElement]) -> Array[PdfTypeElement]fn pdf_type_typeset(document : PdfDocument, process_struct_tree : Bool, lmargin : Double, rmargin : Double, tmargin : Double, bmargin : Double, paper : PaperSize, elements : ArrayView[PdfTypeElement]) -> PdfTypeTypesetResult raise PdfErrorfn pdf_ua_create_pdfua1(title : String, paper : PaperSize, page_count : Int) -> PdfDocument raise PdfErrorfn pdf_ua_create_pdfua2(title : String, paper : PaperSize, page_count : Int) -> PdfDocument raise PdfErrorfn pdf_upright_pages(document : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_vflip_pdf(document : PdfDocument, page_numbers : ArrayView[Int], fast? : Bool) -> PdfDocument raise PdfErrorfn pdf_write_document_incremental_update(original : Bytes, document : PdfDocument) -> Bytes raise PdfErrorfn pdf_write_document_incremental_update_with_compressed_xref_stream(original : Bytes, document : PdfDocument) -> Bytes raise PdfErrorfn pdf_write_document_incremental_update_with_generated_id(original : Bytes, document : PdfDocument, path : String, mode? : PdfWriteMode) -> Bytes raise PdfErrorfn pdf_write_document_incremental_update_with_mode(original : Bytes, document : PdfDocument, mode : PdfWriteMode) -> Bytes raise PdfErrorfn pdf_write_document_incremental_update_with_xref_stream(original : Bytes, document : PdfDocument) -> Bytes raise PdfErrorfn pdf_write_document_options(document : PdfDocument, encryption? : PdfWriteEncryption?, update_from? : Bytes?, make_id? : Bool, id_path? : String, mode? : PdfWriteMode, file_id? : BytesView, aes_iv_provider? : (Int, Int, Int) -> Bytes raise PdfError?, aesv3_random_provider? : (PdfAesV3RandomField, Int) -> Bytes raise PdfError?) -> Bytes raise PdfErrorfn pdf_write_document_with_generated_id(document : PdfDocument, path : String, mode? : PdfWriteMode) -> Bytes raise PdfErrorfn pdf_write_document_with_mode(document : PdfDocument, mode : PdfWriteMode) -> Bytes raise PdfErrorfn pdf_write_encrypted_128bit_document(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_128bit_r4_document(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], encrypt_metadata? : Bool, mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_40bit_document(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_aesv2_document(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], encrypt_metadata? : Bool, mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_aesv2_document_with_iv_provider(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], iv_provider : (Int, Int, Int) -> Bytes raise PdfError, encrypt_metadata? : Bool, mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_aesv3_document(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], iso? : Bool, encrypt_metadata? : Bool, mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_aesv3_document_with_providers(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], random_provider : (PdfAesV3RandomField, Int) -> Bytes raise PdfError, iv_provider : (Int, Int, Int) -> Bytes raise PdfError, iso? : Bool, encrypt_metadata? : Bool, mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_aesv3_iso_document(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], encrypt_metadata? : Bool, mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encrypted_aesv3_iso_document_with_providers(document : PdfDocument, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission], random_provider : (PdfAesV3RandomField, Int) -> Bytes raise PdfError, iv_provider : (Int, Int, Int) -> Bytes raise PdfError, encrypt_metadata? : Bool, mode? : PdfWriteMode, file_id? : BytesView) -> Bytes raise PdfErrorfn pdf_write_encryption(encryption_method : PdfEncryptionMethod, user_password : BytesView, owner_password : BytesView, denied_permissions : ArrayView[PdfPermission]) -> PdfWriteEncryptionfn pdf_write_hex_string(bytes : BytesView) -> Bytesfn pdf_write_literal_string(bytes : BytesView) -> Bytesfn pdf_write_ocg(document : PdfDocument, optional_content : PdfOptionalContent) -> PdfDocument raise PdfErrorfn pdf_write_page_labels(document : PdfDocument, labels : ArrayView[PdfPageLabel]) -> PdfDocument raise PdfErrorfn transform_append(after : ArrayView[TransformOp], before : ArrayView[TransformOp]) -> Array[TransformOp]fn transform_recompose_components(scale : Double, aspect : Double, rotation : Double, shear : Double, translate_x : Double, translate_y : Double) -> TransformMatrix