It does not support editing protected or encrypted PDF files or word processor-style text manipulation, however.
PDFedit GUI is based on the Qt 3 toolkit and scripting engine (QSA), so every operation is scriptable. Part of the program is also command line interface for PDF manipulation.
Xpdf is used for low level processing.
PDF is a complex format designed for publishing output, not for any further modifications.
PDFedit is a low-level tool for technical users that provides structured access to the internal structure of the PDF file.
It may require familiarity with PDF specifications to be able to make substantial modifications.
|Gentoo Linux||PDFedit is available via Sunrise Overlay.|
|Debian Linux||There are Debian Linux packages available.|
|NetBSD||PDFedit packages are in NetBSD package collection|
|openSUSE||There are openSUSE pdfedit packages|
These libraries are required to build and install PDF Editor:
|qt3||Qt GUI Toolkit (Version 3.x)|
|boost||Boost C++ Libraries (smart_ptr, iostreams)|
|xlib||X Window System libraries|
Modified version of qsa library (Qt Script for Applications), version 1.1.4 is included in the source tree.
We tested compiling with various g++ versions - 3.x and 4.x were fine, it may compile on older versions like 2.95, but it was not tested. Program uses extensively RTTI, so the compiler used to build the program must support it.
For building kernel tests, you need to have CPPunit installed.
For rebuilding documentation from DocBook .xml files, gmake (GNU make) is required and you also need:
For generating HTML : xsltproc from libxslt and docbook stylesheets
For generating PDF : xsltproc from libxslt, docbook stylesheets and Apache FOP from http://xmlgraphics.apache.org/fop/
If some of the required dependencies is missing, documentation in appropriate format will not be generated. In distributed archive, HTML documentation is already generated.
For rebuilding programmer reference, doxygen is required.
Compiling and installing from source.
Prerequisites. Make sure you have all needed libraries (qt3, boost and xlib) along with their headers. You also need the environment variable
QTDIR to be set to directory in which the Qt toolkit (version 3) is installed. Many distributions already set this when installing Qt, but some of them don't. In that case, you have to set the
QTDIR manually. Usually it is set to something like
QMAKESPEC have to be set to match your system type. For most linuxes is is
linux-g++, on BSD systems it can differ. If
QTDIR is set in your distribution, this environment variable is probably set too. Once you set
QTDIR, you may try typing ls $QTDIR/mkspecs -
QMAKESPEC need to be set to name of one of the directories that are in
mkspecs subdirectory in the Qt directory.
Configuration. First step is to run configuration script, it will do some checks of required libraries and environment. Also, it allow to alter default settings (which is that the application will be installed in /usr/local directory tree) In CVS root (or root of distribution archive) type ./configure [parameters] to run configuration
--prefix you can specify where to install the program, so if you do not have root privileges, you can install somewhere in your home directory, for example by specifying
--prefix=$HOME/pdfedit . Type ./configure --help to show all parameters of the configure script.
Compiling. After running configure, type make to compile PDF Editor and re-genereate documentation (if needed, in the distribution archive the documentation is already pre-generated in HTML format, if you have proper tools installed (xstlproc, apache fop), then PDF version of documentation is also generated, if not, it is simply skipped as it is not essential)
Installing. In CVS root (or root of distribution archive) type make install to install PDF Editor. It will check whether the project is compiled (if not, it will compile it) and install the editor.
Uninstalling. In CVS root (or root of distribution archive) type make uninstall to uninstall PDF Editor. The editor must be already built (and installed) for this to work. This will remove all the files that have been installed by make install