This version of the module is deprecated: Use moonbitlang/pdflite instead
Byte-oriented PDF reading, writing, and manipulation toolkit for MoonBit.
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,
])
}This package contains over 1282 items.
Install
Download zipByte-oriented PDF reading, writing, and manipulation toolkit for MoonBit.