unidoc

package module
v2.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2018 License: AGPL-3.0 Imports: 0 Imported by: 0

README

OssDoc

OssDoc is a fork of UniDoc, which is a powerful PDF library for Go (golang).

Difference from UniDoc:

  • UniDoc has dual license: AGPL and a commercial license. OssDoc uses only AGPL license.

  • UniDoc requires the users to order a license from https://unidoc.io. OssDoc doesn't have such requirements and all the license checking code has been removed.

Users of this library must obey the terms of AGPL (see LICENSE.md)

Installation

Add following lines into your Gopkg.toml:

[[constraint]]
  name = "github.com/unidoc/unidoc"
  branch = "master"
  source = "github.com/gtrafimenkov/ossdoc"

OssDoc is a fork of UniDoc.

UniDoc has the following copyright:

UniDoc - PDF library for golang
Copyright (C) 2016-2017 FoxyUtils ehf.

This program provided by FoxyUtils ehf ("Company") is free software ("covered
work"). You can redistribute it and/or modify it under the terms of the GNU
Affero General Public License, Version 3 ("License") which is currently located
here ?http://www.gnu.org/licenses/agpl.html (and listed in full below), with
the addition of the following permission added to Section 15 as permitted in
Section 7(a): FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS
OWNED BY THE COMPANY, THE COMPANY DISCLAIMS THE WARRANTY OF NON INFRINGEMENT
OF THIRD PARTY RIGHTS. YOU USE THIS WORK AT YOUR OWN RISK.

This covered work is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the License for further details.

The interactive user interfaces in modified source and object code versions of
this covered work must display Appropriate Legal Notices, as required under
Section 5 of the License.

You can be released from the requirements of the license by purchasing a
commercial license. Buying such a license is mandatory as soon as you develop
activities involving UniDoc without disclosing the source code of your own
applications under the AGPL license. These activities include offering services
as an application service provider or providing an over-network based
application programming interface (API), creating or manipulating documents for
users in a web/server/cloud application, incorporating UniDoc into a closed
source product.

For more information, please contact the Company by emailing sales@unidoc.io.

Documentation

Overview

OssDoc is a comprehensive PDF library for Go (golang). The library has advanced capabilities for generating, processing and modifying PDFs. OssDoc is a fork of UniDoc (https://github.com/unidoc/unidoc).

Getting More Information

The godoc for ossdoc provides a detailed breakdown of the API and documentation for packages, types and methods. https://godoc.org/github.com/gtrafimenkov/ossdoc

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.

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

  • pdf/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.

  • pdf/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.

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

Directories

Path Synopsis
Package common contains common properties used by the subpackages.
Package common contains common properties used by the subpackages.
pdf
annotator
The annotator package contains an annotator with a convenient interface for creating annotations with appearance streams.
The annotator package contains an annotator with a convenient interface for creating annotations with appearance streams.
contentstream
The contentstream package provides functionality for parsing and creating content streams for PDF files.
The contentstream package provides functionality for parsing and creating content streams for PDF files.
contentstream/draw
The draw package has handy features for defining paths which can be used to draw content on a PDF page.
The draw package has handy features for defining paths which can be used to draw content on a PDF page.
core
Package core defines and implements the primitive PDF object types in golang, and provides functionality for parsing those from a PDF file stream.
Package core defines and implements the primitive PDF object types in golang, and provides functionality for parsing those from a PDF file stream.
creator
Package creator is used for quickly generating pages and content with a simple interface.
Package creator is used for quickly generating pages and content with a simple interface.
extractor
Package extractor is used for quickly extracting PDF content through a simple interface.
Package extractor is used for quickly extracting PDF content through a simple interface.
model
The model package provides a convenient interface for reading, writing and working with PDF files.
The model package provides a convenient interface for reading, writing and working with PDF files.
ps
Package ps implements a small subset of the postscript language used in PDF for type 4 functions.
Package ps implements a small subset of the postscript language used in PDF for type 4 functions.

Jump to

Keyboard shortcuts

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