Help us shape the future of Go! Take the 2026 Go Developer Survey

litho

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2026 License: AGPL-3.0

README

litho Logo

Latest version GitHub Packages downloads Continuous Integration Go Reference


litho is a pure-Go PDF Conforming Processor. Read, validate, remediate, and produce PDF documents with no C dependencies.

litho implements ISO 32000 (PDF 1.4 through 2.0). It extracts text and structured content, validates against PDF/A, PDF/UA, WTPDF, Factur-X and ZUGFeRD, repairs non-conformant files, and edits, renders, encrypts and signs them. Every output is a valid PDF, and every public type honors its documented concurrency contract under -race.

Install

go get github.com/gotenberg/litho
go install github.com/gotenberg/litho/cmd/litho@latest

Go 1.27.3+. No CGO.

Prebuilt litho binaries for Linux (amd64, arm64, 386, armv7, ppc64le, riscv64, s390x, loong64), macOS, FreeBSD and Windows (amd64, arm64) ship with each GitHub release. On Linux, macOS and FreeBSD, the install script downloads one, verifies its checksum and installs it in /usr/local/bin:

curl -fsSL https://raw.githubusercontent.com/gotenberg/litho/main/install.sh | sh

Set LITHO_VERSION=v1.2.3 to pin a release and LITHO_INSTALL_DIR to install elsewhere.

Quick start

r, err := pdf.OpenFile(ctx, "input.pdf")
if err != nil {
	log.Fatal(err)
}
defer r.Close()

violations, err := r.ValidatePDFAReport(ctx, models.PDFA2b)
litho validate --profile PDF/A-2b document.pdf
litho remediate --profile PDF/A-2b --font-dir /usr/share/fonts -o fixed.pdf document.pdf
litho sign --cert cert.pem --key key.pem --reason Approved -o signed.pdf document.pdf

Run litho with no arguments to list every subcommand, or litho <command> -h to see its flags.

Features

  • Extract text with layout inference, positioned text, tables, images decoded to sRGB, annotations, form fields, bookmarks, attachments, and PDF 2.0 data (geospatial, measurements, 3D, formulas).
  • Validate PDF/A (every part and level), PDF/UA-1 and UA-2, WTPDF 1.0, Factur-X and ZUGFeRD, with the clause, test number and severity of each violation.
  • Remediate PDF/A, PDF/UA and WTPDF violations, embedding the fonts you supply, behind an integrity check that rolls back a fix that degrades the document.
  • Edit pages (rotate, delete, insert, split, merge), stamps and watermarks, metadata, form fields, bookmarks and attachments, auto-tagging, redaction, colour conversion and transparency flattening.
  • Render pages to images, on screen or for print, RGB or CMYK.
  • Protect with RC4, AES-128 or AES-256 encryption, and PKCS#7 or PAdES signatures up to B-LTA.
  • Optimize with object streams, stream deduplication, lossless image recompression and font subsetting.
  • Stay safe on hostile input: configurable resource limits, no panics, deterministic output.

Documentation

  • Library reference: Reader opens and extracts, Writer queues edits and writes, Pipeline chains them.
  • Examples: runnable programs for common tasks.
  • CLI reference: global flags, exit status, encrypted documents.

Contributing

Acknowledgments

litho's text extraction, CMap handling and font resolution draw on Mozilla's PDF.js. Its PDF/A, PDF/UA and WTPDF rule set and clause numbering follow veraPDF.

Directories

Path Synopsis
cmd
gen-adobe-ucs2 command
Command gen-adobe-ucs2 generates the Adobe PDF-to-Unicode mapping resources that pkg/internal/typography/cmap supplies to the conformance checks.
Command gen-adobe-ucs2 generates the Adobe PDF-to-Unicode mapping resources that pkg/internal/typography/cmap supplies to the conformance checks.
gen-facturx-schematron command
Command gen-facturx-schematron preprocesses the bundled Factur-X profile Schematron files by inlining external code-list lookups.
Command gen-facturx-schematron preprocesses the bundled Factur-X profile Schematron files by inlining external code-list lookups.
gen-iccv2 command
Command gen-iccv2 generates the version 2 ICC profiles of pkg/internal/graphics/icc: the grey profile profiles/sgray-v2.icc and the CMYK printer profile profiles/cgats001-cmyk-v2.icc.
Command gen-iccv2 generates the version 2 ICC profiles of pkg/internal/graphics/icc: the grey profile profiles/sgray-v2.icc and the CMYK printer profile profiles/cgats001-cmyk-v2.icc.
gen-rules command
Command gen-rules generates rules.go from VeraPDF validation profile XML files.
Command gen-rules generates rules.go from VeraPDF validation profile XML files.
gen-saslprep command
Command gen-saslprep generates the stringprep tables of pkg/internal/crypto/saslprep from RFC 3454, Appendices A to D.
Command gen-saslprep generates the stringprep tables of pkg/internal/crypto/saslprep from RFC 3454, Appendices A to D.
gen-stdfonts command
Command gen-stdfonts generates the PDF.js glyph tables of pkg/internal/typography/stdfonts from PDF.js's src/core/standard_fonts.js.
Command gen-stdfonts generates the PDF.js glyph tables of pkg/internal/typography/stdfonts from PDF.js's src/core/standard_fonts.js.
gen-verapdf-cmaps command
Command gen-verapdf-cmaps generates the predefined encoding CMaps that pkg/internal/typography/cmap supplies to the conformance checks.
Command gen-verapdf-cmaps generates the predefined encoding CMaps that pkg/internal/typography/cmap supplies to the conformance checks.
litho command
Command litho is the command-line front end to litho's public API in pkg/pdf.
Command litho is the command-line front end to litho's public API in pkg/pdf.
examples
compose command
Command compose merges PDFs, then rotates the first page of the result and stamps every page with a DRAFT watermark, in one pipeline.
Command compose merges PDFs, then rotates the first page of the result and stamps every page with a DRAFT watermark, in one pipeline.
extract command
Command extract prints the text of every page of a PDF and lists the images each page draws.
Command extract prints the text of every page of a PDF and lists the images each page draws.
remediate command
Command remediate repairs a PDF for PDF/A-2b and writes the result.
Command remediate repairs a PDF for PDF/A-2b and writes the result.
render command
Command render draws the first page of a PDF to a PNG image at 150 dpi.
Command render draws the first page of a PDF to a PNG image at 150 dpi.
sign command
Command sign signs a PDF with a certificate and a private key read from PEM files, as a PAdES baseline signature appended in an incremental update.
Command sign signs a PDF with a certificate and a private key read from PEM files, as a PAdES baseline signature appended in an incremental update.
validate command
Command validate checks a PDF against PDF/A-2b and prints each violation with its clause, test number and severity.
Command validate checks a PDF against PDF/A-2b and prints each violation with its clause, test number and severity.
internal
pkitest
Package pkitest runs a public key infrastructure for tests: a root and an intermediate certificate authority, a signing certificate, an RFC 3161 timestamp authority, an RFC 6960 OCSP responder and the CRLs and certificates the certificates point at, all served by one local net/http/httptest server.
Package pkitest runs a public key infrastructure for tests: a root and an intermediate certificate authority, a signing certificate, an RFC 3161 timestamp authority, an RFC 6960 OCSP responder and the CRLs and certificates the certificates point at, all served by one local net/http/httptest server.
pkg
internal/annotation
Package annotation extracts PDF annotation features: AcroForm fields, link and markup annotations, XFA form data, JavaScript calculation scripts, and measurement scales from annotation viewports.
Package annotation extracts PDF annotation features: AcroForm fields, link and markup annotations, XFA form data, JavaScript calculation scripts, and measurement scales from annotation viewports.
internal/bookmarks
Package bookmarks auto-generates document outlines (bookmarks) from PDF content.
Package bookmarks auto-generates document outlines (bookmarks) from PDF content.
internal/compliance
Package compliance validates PDFs against ISO 19005 (PDF/A), ISO 14289 (PDF/UA) and Well-Tagged PDF (WTPDF).
Package compliance validates PDFs against ISO 19005 (PDF/A), ISO 14289 (PDF/UA) and Well-Tagged PDF (WTPDF).
internal/compliance/cii_schemas
Package cii_schemas bundles the UN/CEFACT Cross-Industry Invoice XSD set litho ships by default.
Package cii_schemas bundles the UN/CEFACT Cross-Industry Invoice XSD set litho ships by default.
internal/compliance/cii_schematron
Package cii_schematron bundles the EN 16931 CII Schematron rule set litho ships by default.
Package cii_schematron bundles the EN 16931 CII Schematron rule set litho ships by default.
internal/core/ast
Package ast defines the PDF object type system, including PdfNull, PdfBool, PdfInt, PdfReal, PdfName, PdfString, PdfArray, PdfDict, PdfStream, and PdfIndirectRef.
Package ast defines the PDF object type system, including PdfNull, PdfBool, PdfInt, PdfReal, PdfName, PdfString, PdfArray, PdfDict, PdfStream, and PdfIndirectRef.
internal/core/document
Package document provides the high-level PDF document model.
Package document provides the high-level PDF document model.
internal/core/ioat
Package ioat provides a buffered, stateful reader built on top of io.ReaderAt.
Package ioat provides a buffered, stateful reader built on top of io.ReaderAt.
internal/core/lexer
Package lexer implements a byte-level tokenizer for the PDF file format, producing tokens for names, strings, hex strings, numbers, keywords, and delimiters.
Package lexer implements a byte-level tokenizer for the PDF file format, producing tokens for names, strings, hex strings, numbers, keywords, and delimiters.
internal/core/parser
Package parser implements a recursive-descent parser that converts a PDF token stream into the AST object types defined in the ast package, handling dictionaries, arrays, indirect objects, indirect references, and the dictionaries of inline images.
Package parser implements a recursive-descent parser that converts a PDF token stream into the AST object types defined in the ast package, handling dictionaries, arrays, indirect objects, indirect references, and the dictionaries of inline images.
internal/core/writer
Package writer provides the low-level primitives for emitting valid PDF byte sequences: object serialization, cross-reference table/stream writing, and object number allocation.
Package writer provides the low-level primitives for emitting valid PDF byte sequences: object serialization, cross-reference table/stream writing, and object number allocation.
internal/core/xref
Package xref parses PDF cross-reference tables and cross-reference streams, building an index that maps object numbers to their byte offsets or object stream locations.
Package xref parses PDF cross-reference tables and cross-reference streams, building an index that maps object numbers to their byte offsets or object stream locations.
internal/crypto
Package crypto implements PDF standard security handlers (V1 through V5), supporting RC4, AES-128, and AES-256 encryption with owner and user password authentication.
Package crypto implements PDF standard security handlers (V1 through V5), supporting RC4, AES-128, and AES-256 encryption with owner and user password authentication.
internal/crypto/saslprep
Package saslprep implements SASLprep (RFC 4013), the stringprep (RFC 3454) profile ISO 32000-2, 7.6.4.3.3 applies to an AES-256 password before the password is encoded as UTF-8 and truncated to 127 bytes.
Package saslprep implements SASLprep (RFC 4013), the stringprep (RFC 3454) profile ISO 32000-2, 7.6.4.3.3 applies to an AES-256 password before the password is encoded as UTF-8 and truncated to 127 bytes.
internal/filter
Package filter decodes and encodes PDF stream filters, including FlateDecode, LZWDecode, ASCII85Decode, ASCIIHexDecode, and PNG/TIFF predictor processing.
Package filter decodes and encodes PDF stream filters, including FlateDecode, LZWDecode, ASCII85Decode, ASCIIHexDecode, and PNG/TIFF predictor processing.
internal/filter/ccitt
Package ccitt decodes the CCITT facsimile data of a CCITTFaxDecode stream (ISO 32000-1, 7.4.6): Group 3 one-dimensional and mixed coding (ITU-T T.4) and Group 4 two-dimensional coding (ITU-T T.6), under the parameters of ISO 32000-1, Table 11.
Package ccitt decodes the CCITT facsimile data of a CCITTFaxDecode stream (ISO 32000-1, 7.4.6): Group 3 one-dimensional and mixed coding (ITU-T T.4) and Group 4 two-dimensional coding (ITU-T T.6), under the parameters of ISO 32000-1, Table 11.
internal/filter/dct
Package dct decodes the JPEG data of a DCTDecode stream (ISO 32000-1, 7.4.8): baseline and progressive Huffman-coded frames of ITU-T T.81, with the colour transforms of Adobe Technical Note #5116 that ISO 32000-1 defers to.
Package dct decodes the JPEG data of a DCTDecode stream (ISO 32000-1, 7.4.8): baseline and progressive Huffman-coded frames of ITU-T T.81, with the colour transforms of Adobe Technical Note #5116 that ISO 32000-1 defers to.
internal/filter/jbig2
Package jbig2 decodes JBIG2 bi-level image data (ITU-T T.88 | ISO/IEC 14492) in the embedded organisation that ISO 32000-1, 7.4.7 requires of a JBIG2Decode stream: the segments of one page, optionally preceded by global segments held in a separate stream.
Package jbig2 decodes JBIG2 bi-level image data (ITU-T T.88 | ISO/IEC 14492) in the embedded organisation that ISO 32000-1, 7.4.7 requires of a JBIG2Decode stream: the segments of one page, optionally preceded by global segments held in a separate stream.
internal/filter/jpx
Package jpx decodes JPEG 2000 image data (ITU-T T.800 | ISO/IEC 15444-1) as ISO 32000-1, 7.4.9 requires of a JPXDecode stream: a JP2 file whose first codestream holds the image.
Package jpx decodes JPEG 2000 image data (ITU-T T.800 | ISO/IEC 15444-1) as ISO 32000-1, 7.4.9 requires of a JPXDecode stream: a JP2 file whose first codestream holds the image.
internal/filter/mq
Package mq implements the MQ adaptive binary arithmetic decoder defined by ITU-T T.88, Annex E. Each call to Decoder.Decode returns one binary decision and adapts the probability state of the Context it was coded in.
Package mq implements the MQ adaptive binary arithmetic decoder defined by ITU-T T.88, Annex E. Each call to Decoder.Decode returns one binary decision and adapts the probability state of the Context it was coded in.
internal/flatten
Package flatten removes live transparency from page content: it composites each region where transparent content paints into one opaque image, and keeps everything outside those regions, and every glyph inside them, as vector content.
Package flatten removes live transparency from page content: it composites each region where transparent content paints into one opaque image, and keeps everything outside those regions, and every glyph inside them, as vector content.
internal/fontsubset
Package fontsubset subsets the font programs a document already embeds to the glyphs it can show, as a compaction pass of a full rewrite.
Package fontsubset subsets the font programs a document already embeds to the glyphs it can show, as a compaction pass of a full rewrite.
internal/geospatial
Package geospatial extracts geospatial metadata from PDFs that use the /Measure dictionary with /Subtype /GEO.
Package geospatial extracts geospatial metadata from PDFs that use the /Measure dictionary with /Subtype /GEO.
internal/graphics
Package graphics implements a PDF graphics state machine that tracks the current transformation matrix, color state, text state, clipping paths, and marked content while processing content stream operators.
Package graphics implements a PDF graphics state machine that tracks the current transformation matrix, color state, text state, clipping paths, and marked content while processing content stream operators.
internal/graphics/colorusage
Package colorusage lists the colour spaces a page's content paints in: its colour operators, images, inline images, shadings and transparency groups, through the forms, patterns, Type 3 glyphs and annotation appearances the page draws.
Package colorusage lists the colour spaces a page's content paints in: its colour operators, images, inline images, shadings and transparency groups, through the forms, patterns, Type 3 glyphs and annotation appearances the page draws.
internal/graphics/content
Package content parses PDF content streams into a sequence of drawing and state-change operations, each represented as an operator with its operands.
Package content parses PDF content streams into a sequence of drawing and state-change operations, each represented as an operator with its operands.
internal/graphics/function
Package function evaluates the PDF functions of ISO 32000-1, 7.10: sampled (type 0), exponential (type 2), stitching (type 3) and PostScript calculator (type 4).
Package function evaluates the PDF functions of ISO 32000-1, 7.10: sampled (type 0), exponential (type 2), stitching (type 3) and PostScript calculator (type 4).
internal/graphics/icc
Package icc reads ICC colour profiles (ICC.1:2010, and version 2 profiles) and converts colours with them.
Package icc reads ICC colour profiles (ICC.1:2010, and version 2 profiles) and converts colours with them.
internal/graphics/image
Package image extracts and decodes Image XObjects from PDF pages, converting them to Go image types.
Package image extracts and decodes Image XObjects from PDF pages, converting them to Go image types.
internal/graphics/postscript
Package postscript evaluates Type 4 PostScript calculator functions, which PDF uses for color space transfer functions and other numeric transforms.
Package postscript evaluates Type 4 PostScript calculator functions, which PDF uses for color space transfer functions and other numeric transforms.
internal/heuristics
Package heuristics provides page-level analysis routines including table detection from stroked lines, OCR triage for scanned pages, unapplied redaction zone detection, and the running header, footer and page number detection that auto-tagging and bookmark generation share.
Package heuristics provides page-level analysis routines including table detection from stroked lines, OCR triage for scanned pages, unapplied redaction zone detection, and the running header, footer and page number detection that auto-tagging and bookmark generation share.
internal/imagetiles
Package imagetiles encodes a raster of 8-bit samples as images whose photographic parts are baseline JPEG (ITU-T T.81) and whose other parts stay lossless: the raster is cut on a grid, the runs of cells that only photographic content reaches are encoded as JPEG tiles, and the tiles are drawn over one lossless image of the whole raster, so a renderer placing each image on its own draws no seam between them.
Package imagetiles encodes a raster of 8-bit samples as images whose photographic parts are baseline JPEG (ITU-T T.81) and whose other parts stay lossless: the raster is cut on a grid, the runs of cells that only photographic content reaches are encoded as JPEG tiles, and the tiles are drawn over one lossless image of the whole raster, so a renderer placing each image on its own draws no seam between them.
internal/intconv
Package intconv narrows integers to int the same way on every platform.
Package intconv narrows integers to int the same way on every platform.
internal/limits
Package limits holds the resource budgets one document is read under: the decoded size of a stream, the pixels of an image, the size of an embedded file compliance opens, the nesting of form XObjects, the entries of the object cache, and the pixels of a rendered page.
Package limits holds the resource budgets one document is read under: the decoded size of a stream, the pixels of an image, the size of an embedded file compliance opens, the nesting of form XObjects, the entries of the object cache, and the pixels of a rendered page.
internal/mutations
Package mutations implements the internal logic for PDF document modification operations.
Package mutations implements the internal logic for PDF document modification operations.
internal/panicerr
Package panicerr holds the sentinel a recovered panic wraps, and the error a worker goroutine returns for one.
Package panicerr holds the sentinel a recovered panic wraps, and the error a worker goroutine returns for one.
internal/pkcs12
Package pkcs12 reads the private keys and certificates of a PKCS #12 key store (RFC 7292), the .p12 or .pfx file a certificate authority or a browser exports: the PFX with its password-integrity MAC, the AuthenticatedSafe, plain and password-encrypted SafeContents, KeyBag, PKCS8ShroudedKeyBag and CertBag.
Package pkcs12 reads the private keys and certificates of a PKCS #12 key store (RFC 7292), the .p12 or .pfx file a certificate authority or a browser exports: the PFX with its password-integrity MAC, the AuthenticatedSafe, plain and password-encrypted SafeContents, KeyBag, PKCS8ShroudedKeyBag and CertBag.
internal/recolor
Package recolor converts the colour of a document to one target colour space: the colour operators of page, form, pattern, annotation appearance and Type 3 glyph content, the colour spaces resources define, the shadings they paint, and the samples of images (ISO 32000-1, 8.6, 8.7 and 8.9).
Package recolor converts the colour of a document to one target colour space: the colour operators of page, form, pattern, annotation appearance and Type 3 glyph content, the colour spaces resources define, the shadings they paint, and the samples of images (ISO 32000-1, 8.6, 8.7 and 8.9).
internal/remediation
Package remediation applies targeted fixes to make PDF documents comply with PDF/A (ISO 19005) and PDF/UA (ISO 14289) profiles.
Package remediation applies targeted fixes to make PDF documents comply with PDF/A (ISO 19005) and PDF/UA (ISO 14289) profiles.
internal/render
Package render holds litho's clean-room PDF renderer.
Package render holds litho's clean-room PDF renderer.
internal/render/annot
Package annot decides which annotation appearances a viewer draws on a page, and where (ISO 32000-1, 12.5.5).
Package annot decides which annotation appearances a viewer draws on a page, and where (ISO 32000-1, 12.5.5).
internal/render/blend
Package blend composites transparent painting (ISO 32000-1, 11): the sixteen standard blend modes, transparency groups and soft masks.
Package blend composites transparent painting (ISO 32000-1, 11): the sixteen standard blend modes, transparency groups and soft masks.
internal/render/colorconv
Package colorconv converts colours of every PDF colour space (ISO 32000-1, 8.6) to sRGB for the renderer.
Package colorconv converts colours of every PDF colour space (ISO 32000-1, 8.6) to sRGB for the renderer.
internal/render/geom
Package geom holds the geometry the renderer shares: points, affine matrices in the PDF convention, and paths of straight and cubic Bézier segments.
Package geom holds the geometry the renderer shares: points, affine matrices in the PDF convention, and paths of straight and cubic Bézier segments.
internal/render/glyph
Package glyph maps the character codes a content stream shows to the glyphs a renderer draws (ISO 32000-1, 9.6 and 9.7).
Package glyph maps the character codes a content stream shows to the glyphs a renderer draws (ISO 32000-1, 9.6 and 9.7).
internal/render/imgpaint
Package imgpaint paints decoded images onto a surface.Canvas.
Package imgpaint paints decoded images onto a surface.Canvas.
internal/render/page
Package page renders one PDF page into a surface.Canvas: it is the content-stream driver that joins the renderer's parts.
Package page renders one PDF page into a surface.Canvas: it is the content-stream driver that joins the renderer's parts.
internal/render/raster
Package raster turns device-space paths into anti-aliased coverage: it flattens Bézier curves, scan-converts the result under the nonzero or even-odd rule (ISO 32000-1, 8.5.3.3), intersects clips (8.5.4), and paints a solid colour through a coverage onto a canvas.
Package raster turns device-space paths into anti-aliased coverage: it flattens Bézier curves, scan-converts the result under the nonzero or even-odd rule (ISO 32000-1, 8.5.3.3), intersects clips (8.5.4), and paints a solid colour through a coverage onto a canvas.
internal/render/shade
Package shade paints PDF shadings (ISO 32000-1, 8.7.4.5) and shading patterns (8.7.4) onto a surface.Canvas.
Package shade paints PDF shadings (ISO 32000-1, 8.7.4.5) and shading patterns (8.7.4) onto a surface.Canvas.
internal/render/stroke
Package stroke turns a path and the stroke parameters of the graphics state into a device-space outline that the rasterizer fills with the nonzero winding rule, which is how ISO 32000-1, 8.5.3.2 defines the S operator.
Package stroke turns a path and the stroke parameters of the graphics state into a device-space outline that the rasterizer fills with the nonzero winding rule, which is how ISO 32000-1, 8.5.3.2 defines the S operator.
internal/render/surface
Package surface holds the raster targets the renderer draws into: a premultiplied RGBA Canvas and an alpha Mask for coverage and clipping.
Package surface holds the raster targets the renderer draws into: a premultiplied RGBA Canvas and an alpha Mask for coverage and clipping.
internal/schematron
Package schematron provides a minimal ISO Schematron loader and evaluator scoped to the subset of constructs the EN 16931 and XRechnung rule sets use.
Package schematron provides a minimal ISO Schematron loader and evaluator scoped to the subset of constructs the EN 16931 and XRechnung rule sets use.
internal/semantics
Package semantics extracts document-level semantic features from the PDF catalog and structure tree: metadata (Info + XMP), bookmarks (outlines), embedded file attachments, PDF portfolios, article threads, 3D model annotations, and pronunciation lexicons.
Package semantics extracts document-level semantic features from the PDF catalog and structure tree: metadata (Info + XMP), bookmarks (outlines), embedded file attachments, PDF portfolios, article threads, 3D model annotations, and pronunciation lexicons.
internal/semantics/structure
Package structure parses the logical structure tree of a Tagged PDF, extracting the hierarchy of structure elements and their marked-content identifiers.
Package structure parses the logical structure tree of a Tagged PDF, extracting the hierarchy of structure elements and their marked-content identifiers.
internal/signature
Package signature extracts and verifies PDF digital signatures, including PKCS #7 payloads, X.509 certificate chains, Document Security Store (DSS) validation data, and PAdES/LTV long-term verification information.
Package signature extracts and verifies PDF digital signatures, including PKCS #7 payloads, X.509 certificate chains, Document Security Store (DSS) validation data, and PAdES/LTV long-term verification information.
internal/tagging
Package tagging synthesizes a PDF logical structure tree (a "tagged PDF") and the marked content that links it to page content streams.
Package tagging synthesizes a PDF logical structure tree (a "tagged PDF") and the marked content that links it to page content streams.
internal/typography
Package typography handles font resolution, text extraction from content streams, spatial layout of text elements, bidirectional text reordering, and Standard 14 base font metrics.
Package typography handles font resolution, text extraction from content streams, spatial layout of text elements, bidirectional text reordering, and Standard 14 base font metrics.
internal/typography/cff
Package cff provides a lightweight parser for Compact Font Format (CFF) data.
Package cff provides a lightweight parser for Compact Font Format (CFF) data.
internal/typography/cmap
Package cmap parses PostScript CMap programs, extracting character code to Unicode mappings used by PDF ToUnicode streams.
Package cmap parses PostScript CMap programs, extracting character code to Unicode mappings used by PDF ToUnicode streams.
internal/typography/encodings
Package encodings provides the standard PDF character encoding tables (WinAnsiEncoding, MacRomanEncoding, and others) along with the Adobe Glyph List for mapping glyph names to Unicode code points.
Package encodings provides the standard PDF character encoding tables (WinAnsiEncoding, MacRomanEncoding, and others) along with the Adobe Glyph List for mapping glyph names to Unicode code points.
internal/typography/fontbuild
Package fontbuild writes small, structurally complete font programs, a TrueType sfnt, a bare CFF and a Type 1 program, from a list of glyph names, code points and advance widths.
Package fontbuild writes small, structurally complete font programs, a TrueType sfnt, a bare CFF and a Type 1 program, from a list of glyph names, code points and advance widths.
internal/typography/stdfonts
Package stdfonts ships the glyph ID to Unicode tables PDF.js reads a non-embedded standard font with, when a TrueType CIDFont draws it through an Identity CMap.
Package stdfonts ships the glyph ID to Unicode tables PDF.js reads a non-embedded standard font with, when a TrueType CIDFont draws it through an Identity CMap.
internal/typography/truetype
Package truetype provides a lightweight binary parser for TrueType / OpenType font files.
Package truetype provides a lightweight binary parser for TrueType / OpenType font files.
internal/typography/type1
Package type1 parses Adobe Type 1 font programs embedded in PDF files as /FontFile streams.
Package type1 parses Adobe Type 1 font programs embedded in PDF files as /FontFile streams.
internal/xsd
Package xsd provides a minimal pure-Go XML Schema (XSD) engine scoped to the subset of constructs the UN/CEFACT Cross-Industry Invoice D16B schemas use.
Package xsd provides a minimal pure-Go XML Schema (XSD) engine scoped to the subset of constructs the UN/CEFACT Cross-Industry Invoice D16B schemas use.
models
Package models contains the decoupled, pure-Go data structures representing PDF elements.
Package models contains the decoupled, pure-Go data structures representing PDF elements.
pdf
Package pdf provides a high-level API for reading, extracting data from, and producing PDF documents.
Package pdf provides a high-level API for reading, extracting data from, and producing PDF documents.
plugins
Package plugins defines extension interfaces for the litho PDF reader.
Package plugins defines extension interfaces for the litho PDF reader.
test
integration/cmd/corpus command
Command corpus scores litho across a matrix of (corpus, feature) cells.
Command corpus scores litho across a matrix of (corpus, feature) cells.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL