pdfcpu

module
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2019 License: Apache-2.0

README

pdfcpu: a Go PDF processor

Build Status GoDoc Coverage Status Go Report Card Hex.pm Latest release

pdfcpu is a simple PDF processing library written in Go supporting encryption. It provides both an API and a CLI. Supported are all versions up to PDF 1.7 (ISO-32000).

Motivation

This is an effort to build a comprehensive PDF processing library from the ground up written in Go. Over time pdfcpu aims to support the standard range of PDF processing features and also any interesting use cases that may present themselves along the way.

     

     

 

Focus

The main focus lies on strong support for batch processing and scripting via a rich command line. At the same time pdfcpu wants to make it easy to integrate PDF processing into your Go based backend system by providing a robust command set.

Command Set

Documentation

  • The main entry point is pdfcpu.io.
  • For CLI examples also go to pdfcpu.io. There you will find explanations of all the commands and their parameters.
  • For API examples of all pdfcpu operations please refer to GoDoc.
GoDoc

Reminder

Always make sure your work is based on the latest commit!
pdfcpu is still Alpha - bugfixes are committed on the fly and will be mentioned on the next release notes.

Demo Screencast

(using older version with a smaller command set)

asciicast

Installation

There are no dependencies outside the Go standard library other than pkg/errors.
Required go version for building: go1.10 and up

Using GOPATH
go get github.com/hhrutter/pdfcpu/cmd/...
cd $GOPATH/src/github.com/hhrutter/pdfcpu/cmd/pdfcpu
go install
pdfcpu version
Using Go Modules (go1.11 and up)
git clone https://github.com/hhrutter/pdfcpu
cd pdfcpu/cmd/pdfcpu
go install
pdfcpu ve

Contributing

What
  • Please open an issue if you find a bug or want to propose a change.
  • Feature requests - always welcome!
  • Bug fixes - always welcome!
  • PRs - also welcome, although I can't promise a merge-in right now.
  • pdfcpu is stable but still Alpha and occasionally undergoing heavy changes.
How
  • If you want to report a bug please attach the very verbose (pdfcpu cmd -vv ...) output and ideally a test PDF that you can share.
  • Always make sure your contribution is based on the latest commit.
  • Please sign your commits.
  • Please sign the CLA before you submit a PR.

Contributors

Thanks goes to these wonderful people:


Horst Rutter


haldyr


Vyacheslav


Erik Unger

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Disclaimer

Usage of pdfcpu assumes you know about and respect all copyrights of any PDF content you may be processing. This applies to the PDF files as such, their content and in particular all embedded resources like font files or images. Credit goes to Renee French for creating our beloved Gopher.

License

Apache-2.0

Powered By

Directories

Path Synopsis
Package ccitt implements a CCITT Fax image decoder for Group3/1d and Group4.
Package ccitt implements a CCITT Fax image decoder for Group3/1d and Group4.
cmd
pdfcpu
Package main provides the command line for interacting with pdfcpu.
Package main provides the command line for interacting with pdfcpu.
Package lzw is an enhanced version of compress/lzw.
Package lzw is an enhanced version of compress/lzw.
pkg
api
Package api lets you integrate pdfcpu's operations into your Go backend.
Package api lets you integrate pdfcpu's operations into your Go backend.
cli
Package cli provides pdfcpu command line processing.
Package cli provides pdfcpu command line processing.
filter
Package filter contains PDF filter implementations.
Package filter contains PDF filter implementations.
log
Package log provides a logging abstraction.
Package log provides a logging abstraction.
pdfcpu
Package pdfcpu is a simple PDF processing library written in Go supporting encryption.
Package pdfcpu is a simple PDF processing library written in Go supporting encryption.
pdfcpu/fonts/metrics
Package metrics provides font metrics.
Package metrics provides font metrics.
pdfcpu/fonts/metrics/standard
Package standard provides font metrics for Adobe standard fonts.
Package standard provides font metrics for Adobe standard fonts.
pdfcpu/validate
Package validate implements validation against PDF 32000-1:2008.
Package validate implements validation against PDF 32000-1:2008.
types
Package types provides pdfcpu's base types.
Package types provides pdfcpu's base types.
Package tiff is an enhanced version of x/image/tiff.
Package tiff is an enhanced version of x/image/tiff.

Jump to

Keyboard shortcuts

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