PDF Manipulation Utility
PDF Manipulation Utility (PDFMU) lets you perform the following operations with PDF documents using command line interface:
- set PDF version
- set or clear properties
- attach a file
- add a digital signature
- display PDF version, properties and signatures
This project is maintained by Hobrasoft s.r.o.
Homepage: http://hobrasoft-cz.github.io/PDFMU/
Source code: https://github.com/hobrasoft-cz/PDFMU
Email: pdfmu@hobrasoft.cz
PDFMU is used in GeoSign.
Quick start in Windows
- Download and install JDK 7u80
- Download and install NetBeans 8.1
- Run NetBeans
- File > Open Project > “.” (the root directory of this repository)
- Run > Build Project (PDF Manipulation Utility)
An executable will be generated in “target/exe/pdfmu.exe”. Go to “target/exe” and run pdfmu --help to see the available operations.
Actions
All the paths mentioned below are relative to the repository root.
Build for Windows using Maven
- Go to “.” in command line
- mvn package
The resulting file is “target/exe/pdfmu.exe”. The executable depends on all the other files in “target/exe”. The whole directory is expected to be distributed.
Skip tests
Maven automatically executes the tests during the build. If you would prefer to omit executing the tests, run mvn package -DskipTests=true. If you wish to omit building the tests as well, run mvn package -Dmaven.test.skip=true instead.
Build a self-contained JAR using Maven
- Go to “.” in command line
- mvn package assembly:single
The resulting file is “target/pdfmu-1.1.3-jar-with-dependencies.jar”.
Run the self-contained jar
- Build the self-contained JAR (see above)
- Go to “target” in command line
- java -jar pdfmu-1.1.3-jar-with-dependencies.jar
Generate the documentation using Maven and javadoc
- Go to “.” in command line
- mvn javadoc:javadoc
To inspect the resulting documentation open “target/site/apidocs/index.html”.
Generate the site
- Go to “.” in command line
- mvn verify site
The site is generated in “target/site”.
Options
SSL
Information on the web:
TrustStore
Only the types JKS and JCEKS (not PKCS #12) are supported for TrustStore (--ssl-truststore-type). You do not need to specify the password (--ssl-truststore-password) – it seems that the CA certificates in the keystore are not password protected.
KeyStore
The KeyStore must be protected by a non-empty password (--ssl-keystore-password). All the private keys in a JKS or JCEKS KeyStore must be protected by the same password as the KeyStore.
Copyright and license
Copyright (C) 2016 Hobrasoft s.r.o.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program 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
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
The full text of the GNU Affero General Public License can be inspected in the file LICENSE.txt.