unipdf: maze.io/x/unipdf Index | Files | Directories

package unipdf

import "maze.io/x/unipdf"

Package unipdf is a comprehensive PDF library for Go (golang). The library has advanced capabilities for generating, processing and modifying PDFs. UniPDF is written and supported by the owners of the FoxyUtils.com website, where the library is used to power many of the PDF services offered.

Getting More Information

Check out the Getting Started and Example sections, which showcase how to install unipdf and provide numerous examples of using unipdf to generate, process or modify PDF files. https://unidoc.io/examples/getting_started/

The GoDoc for unipdf provides a detailed breakdown of the API and documentation for packages, types and methods. https://godoc.org/maze.io/x/unipdf

Overview of Major Packages

The API is composed of a few major packages:

- common: Provides common shared types such as Logger and utilities to check
  license validity.

- core: The core package defines the primitive PDF object types and handles
  the file reading I/O and parsing the primitive objects.

- model: The model package builds on the core package, to represent the PDF as
  a structured model of the PDF primitive types. It has a reader and a writer to
  read and process a PDF file based on the structured model. This serves as a basis
  to perform a number of numerous tasks and can be used to work with a PDF in a
  medium to high level interface, although it does require an understanding of the
  PDF format and structure.

- creator: The PDF creator makes it easy to create new PDFs or modify existing
  PDFs. It can also enable loading a template PDF, adding text/images and
  generating an output PDF. It can be used to add text, images, and generate text
  and graphical reports. It is designed with simplicity in mind, with the goal of
  making it easy to create reports without needing any knowledge about the PDF
  format or specifications.

- extractor: Package extractor is used for quickly extracting PDF content
  through a simple interface. Currently offers functionality for extracting textual


Package Files



annotatorPackage annotator provides an interface for creating annotations with appearance streams.
commonPackage common contains common properties used by the subpackages.
common/licensePackage license helps manage commercial licenses and check if they are valid for the version of unidoc used.
contentstreamPackage contentstream provides functionality for parsing and creating content streams for PDF files.
contentstream/drawPackage draw has handy features for defining paths which can be used to draw content on a PDF page.
corePackage core defines and implements the primitive PDF object types in golang, and provides functionality for parsing those from a PDF file stream.
creatorPackage creator is used for quickly generating pages and content with a simple interface.
extractorPackage extractor is used for quickly extracting PDF content through a simple interface.
fdfPackage fdf provides support for loading form field data from Form Field Data (FDF) files.
fjsonPackage fjson provides support for loading PDF form field data from JSON data/files.
internal/ccittfaxPackage ccittfax defines and implements the Group3 and Group4 facsimile (fax) encoding and decoding according to the CCITT recommendations T.4 and T.6.
internal/endianPackage endian detects the platform specific byte endianness.
internal/jbig2Package jbig2 provides the jbig2 standard image Encoder and Decoder.
internal/jbig2/basicPackage basic contains common structures, slices and maps used within the jbig2 package.
internal/jbig2/bitmapPackage bitmap contains the bitmap data container for the binary images used when decoding the jbig2 encoded images.
internal/jbig2/decoderPackage decoder provides primitives used to decode the jbig2 data stream.
internal/jbig2/decoder/arithmeticPackage arithmetic contains the jbig2 arithmetic decoder used to decode the jbig2 encoded segments.
internal/jbig2/decoder/huffmanPackage huffman contains jbig2 huffman tables used to decode jbig2 encoded data segments.
internal/jbig2/decoder/mmrPackage mmr contains the jbig2 mmr decoder used to decode jbig2 encoded data segments.
internal/jbig2/documentPackage document provides jbig2 encoding primitives used for encoding and decoding purpose.
internal/jbig2/document/segmentsPackage segments provides jbig2 segments models used in the jbig2 document decoding process.
internal/jbig2/encoder/classerPackage classer contains apache leptonica like implementation of the jbig2 classificator.
internal/jbig2/errorsPackage errors contains error wrappers and creators used for precise error messaging in the jbig2 package.
internal/jbig2/readerPackage reader provides the stream readers used by the jbig2 segments decoder.
internal/jbig2/testsPackage tests contains the tests and benchmarks for the JBIG2 decoder and encoder.
internal/jbig2/writerPackage writer contains the data writer that implements io.Writer, io.ByteWriter and allows to write single bits.
internal/strutilsPackage strutils provides convenient functions for string processing in unidoc internally.
internal/testutilsPackage testutils provides test methods that are not intended to be exported.
internal/textencodingPackage textencoding is used for handling text encoding (char code <-> glyph mapping) in unidoc both for reading and outputing PDF contents.
modelPackage model provides an interface for working with high-level objects (models) in PDF files, including reading and writing documents.
model/internal/fontsPackage fonts is used for internal representation for working with fonts in PDF.
model/sighandlerPackage sighandler implements digital signature handlers for PDF signature validation and signing.
psPackage ps implements various functionalities needed for handling Postscript for PDF uses, in particular for PDF function type 4.

Updated 2020-04-18. Refresh now. Tools for package owners.