All Projects → Zenika → goru

Zenika / goru

Licence: AGPL-3.0 license
Goru - the perfect looser to transform your pdf

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to goru

Docotic.Pdf.Samples
C# and VB.NET samples for Docotic.Pdf library
Stars: ✭ 52 (+333.33%)
Mutual labels:  pdf-manipulation
Pdfsam
PDFsam, a desktop application to extract pages, split, merge, mix and rotate PDF files
Stars: ✭ 1,829 (+15141.67%)
Mutual labels:  pdf-manipulation
PDF-Bot
A bot for PDF for doing Many Things....
Stars: ✭ 38 (+216.67%)
Mutual labels:  pdf-manipulation

Goru

Naming

Oru is the root of "Origami". Goru is the concatenation of Go+oru

This library aims to help people with pdf transformations like rotation, ordering...

Run in docker

docker run -d -p 8080:8080 zenika/goru

Installation

Link the project in your $GOPATH :

mkdir -p $GOPATH/src/github.com/Zenika
ln -s $(pwd) $GOPATH/src/github.com/Zenika/goru

As a prerequisite for managing dependencies, install govendor :

go get -u github.com/kardianos/govendor

Fetch go dependencies :

cd $GOPATH/src/github.com/Zenika/goru
govendor sync

Build

cd $GOPATH/src/github.com/Zenika/goru
go build

Run

Build then launch server :

./goru server

Upload new files with PUT requests on /document/:file/content (file without .pdf suffix) with content type application/pdf.

Download a file with a GET request on /document/:file/content (file without .pdf suffix).

Modify a file with a POST request on /document/:file/edit (file without .pdf suffix) with actions to perform.

Example :

[
  {
    "action": "LEFT_ROTATE_PAGE",
    "page": 1
  },
  {
    "action": "RIGHT_ROTATE_PAGE",
    "page": 2
  },
  {
    "action": "LEFT_ROTATE_PAGE",
    "page": 3
  },
  {
    "action": "LEFT_ROTATE_PAGE",
    "page": 3
  },
  {
    "action": "DELETE_PAGE",
    "page": 4
  },
  {
    "action": "MOVE_PAGE",
    "page": 53,
    "target": 1
  }
]

WARNING ! The PDF file gets modified in place without backup !

Run in CLI mode

Download a PDF to manipulate :

curl http://www.syntec.fr/fichiers/Annexes/20130719184036_Convention_Syntec_Annexe_06.pdf -o syntec.pdf

Examples

Left rotate a page :

./goru left-rotate-page syntec.pdf 1 test.pdf

Delete a page :

./goru delete-page syntec.pdf 2 test.pdf

Move a page :

./goru move-page syntec.pdf 54 1 test.pdf
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].