Giter VIP home page Giter VIP logo

pdfcpu's Introduction

pdfcpu: a golang pdf processor

Build Status GoDoc Coverage Status Go Report Card Hex.pm

logo

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.

There you will find explanations of all the commands, their parameters and examples which use the CLI because this makes it easier to understand how the commands work. Even if you want to dive right into pdfcpu backend integration it is highly recommended to read the docs first.

GoDoc

Status

Version: 0.1.23

  • Support for multiline stamps/watermarks such as in pdfcpu stamp 'This\nis a\nmultiline stamp' test.pdf
  • Fixes #27, #61, #63

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

pdfcpu's People

Contributors

haldyr avatar hhrutter avatar simepel avatar ungerik avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.