Compiere is an OpenSource Enterprise Resource Planning (ERP) software for small and medium enterprises. Two commercial applications are necessary to run it:
The Compiere Libero-Project gives the possibility to replace Oracle by the OpenSource alternative PostgreSQL. For jPDF there was not such alternative.
By combining the OpenSource packages iText (PDF creation) und JPedal (PDF viewer) as well as the free icons of the Tango Projects we were able to develop a replacement for jPDF. It allows the creating and viewing of PDF files that are used by Compiere for archiving documents. An opened document can be printed and even saved. Thus it is now possible to get a fully functional Compiere installation solenly based on OpenSource applications.
For installation you only need the file freepdf.jar, which contains all necessary classes as well as a patched iText and JPedal. It is more than twice as large as the original jPDF file which is because two PDF program libraries has been combined which means that all PDF fonts are included twice. The fonts might be combined, but we wanted to make as few changes to the original packages as possible. We could not succeed without as iText does not support color attributes for strings, a feature that is used by Compiere. The patch adds this functionality.
The file freepdf.jar is all you need and has to be copied into the 'lib' directory of Compiere. The client installation of Compiere contains all necessary classes in a single jar file that has been digitally signed. Therefore you cannot simply replace the classes in this file. Also it is mentionend before the system's classpath in the CLASSPATH variable, so you cannot put it there. You have to put it in front of the 'CompiereCLib.jar' in the Compiere startup script by changing the setting of the CLASSPATH like this:
--- RUN_Compiere2.sh.orig 2005-10-29 00:51:52.000000000 +0200 +++ RUN_Compiere2.sh 2005-11-27 10:58:42.561761226 +0100 @@ -19,9 +19,9 @@ ## Check Compiere Home if [ $COMPIERE_HOME ]; then - CLASSPATH=$COMPIERE_HOME/lib/Compiere.jar:$COMPIERE_HOME/lib/CompiereCLib.jar:$CLASSPATH + CLASSPATH=$COMPIERE_HOME/lib/freepdf.jar:$COMPIERE_HOME/lib/Compiere.jar:$COMPIERE_HOME/lib/CompiereCLib.jar:$CLASSPATH else - CLASSPATH=lib/Compiere.jar:lib/CompiereCLib.jar:$CLASSPATH + CLASSPATH=lib/freepdf.jar:lib/Compiere.jar:lib/CompiereCLib.jar:$CLASSPATH echo COMPIERE_HOME is not set echo You may not be able to start Compiere echo Set COMPIERE_HOME to the directory of Compiere2.
--- RUN_Compiere2.bat.orig 2005-10-29 00:51:52.000000000 +0200 +++ RUN_Compiere2.bat 2005-11-27 10:59:31.993268344 +0100 @@ -22,7 +22,7 @@ :CHECK_COMPIERE @if not "%COMPIERE_HOME%" == "" goto COMPIERE_HOME_OK -Set CLASSPATH=lib\Compiere.jar;lib\CompiereCLib.jar;%CLASSPATH% +Set CLASSPATH=lib\freepdf.jar;lib\Compiere.jar;lib\CompiereCLib.jar;%CLASSPATH% set COMPIERE_HOME=%~dp0.. @Echo COMPIERE_HOME is not set. @Echo You may not be able to start Compiere @@ -31,7 +31,7 @@ @Echo cscript WinEnv.js C:\Compiere2 C:\j2sdk1.4.2_08 @goto MULTI_INSTALL :COMPIERE_HOME_OK -@Set CLASSPATH=%COMPIERE_HOME%\lib\Compiere.jar;%COMPIERE_HOME%\lib\CompiereCLib.jar;%CLASSPATH% +@Set CLASSPATH=%COMPIERE_HOME%\lib\freepdf.jar;%COMPIERE_HOME%\lib\Compiere.jar;%COMPIERE_HOME%\lib\CompiereCLib.jar;%CLASSPATH% :MULTI_INSTALL @REM To switch between multiple installs, copy the created Compiere.properties file
A '+' means you have to add and a '-' that you have to remove the line.
The source of the glue code is ©2005 iKu Systemhaus AG und is made available under the Gnu General Public License (GPL).
iKu Systemhaus AG
Kurt Huwig
Am Roemerkastell 4
66121 Saarbruecken