:userdoc.:title.PDFMergeNX Manual :docprof toc=123. .*************************************************** .*** IPF-Generator Version 0.82 for Framework IV *** .*************************************************** :h1 res=100.Introduction :font facename='Default' size=0x0.:lines align=center.:hp2.PDFMergeNX Version 2.0.beta.4 for eCS (OS&slr.2):elines. :p.:ehp2.PDFMergeNX is the next tool to deal with sets of PDF or PS files in various ways. :p.PDFMergeNX is more or less a frontend with a conveniant graphical user interface to various other programs. In order to enable PDFMergeNX to perform all the above tasks&comma. all these other programs have to be installed and configured properly. :p.PDFMergeNX eliminates to need to utilize more than a dozen of command line utilities&comma. many of them with different syntax models. :p.PDFMergeNX (and its companions) can perform the following tasks&colon. :ul. :li.Concatenate multiple PDF&slr.PS&slr.TIF&slr.FAX&slr.image files into a single PDF file. :li.Create and edit bookmarks and add these to PDF files. :li.Split PDF&slr.PS files into single PS pages. :li.Rearrange pages within in a PDF file. :li.Flip pages upside down. :li.Compose a new PDF file with single (or multiple) pages from other PDF files. :li.Save sets of PDF files to disk and reload these sets later for further processing. :li.Pack a set of PDF&slr.PS files into a ZIP archive. :li.Preview pages while manipulating using a built in Mini-PDF-Viewer. :li.Print multiple PDF files to virtually any printer at once (experimental). :eul. :h1 res=200.License :font facename='Default' size=0x0.:p.Copyright of this license model (c) 1982&comma. 1986&comma. 1990&comma. 1991&comma. 1993 by the Regents of the University of California. All rights reserved. :p.Redistribution and use in source and binary forms&comma. with or without modification&comma. are permitted provided that the following conditions are met&colon. :ol compact. :li.Redistributions of source code must retain the above copyright notice&comma. this list of conditions and the following disclaimer. :li.Redistributions in binary form must reproduce the above copyright notice&comma. this list of conditions and the following disclaimer in the documentation and&slr.or other materials provided with the distribution. :li.All advertising materials mentioning features or use of this software must display the following acknowledgement&colon. "This product includes software developed by Herwig Bauernfeind and contributors." :li.Neither the name of Herwig Bauernfeind nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. :eol. :p.THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES&comma. INCLUDING&comma. BUT NOT LIMITED TO&comma. THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT&comma. INDIRECT&comma. INCIDENTAL&comma. SPECIAL&comma. EXEMPLARY&comma. OR CONSEQUENTIAL DAMAGES (INCLUDING&comma. BUT NOT LIMITED TO&comma. PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE&comma. DATA&comma. OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY&comma. WHETHER IN CONTRACT&comma. STRICT LIABILITY&comma. OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE&comma. EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. :p.In addition you are only allowed to use this program legally if you accept the fact that it is perfectly acceptable to post eComStation related issues in OS&slr.2 newsgroups and&slr.or mailing lists. Yes&comma. there is no valid license for FUDsters. :p.You are not allowed to think nasty about the author. :h1 res=300.Requirements and installation :font facename='Default' size=0x0.:p.As indicated before various other programs have to be installed and configured properly. Here is a quick guide how to get things going. :note.This guide is not intended to be a replacement for the ePDF&comma. GhostScript and XPDF readmes and documentation. It is strongly recommended that you read at least the most important parts of these manuals. :ul. :li.ePDF (by Frank Wochatz) must be installed and configured properly. PDFMergeNX uses settings and capabilities of ePDF and must be installed into the same directory as ePDF. :li.Both ePDF and PDFMergeNX heavily rely on GhostScript. As a consequence GhostScript must be installed properly. :note.PDFMergeNX comes with the EXEHDR.EXE utility from the OS&slr.2 Toolkit and creates a patched version of GSOS2.EXE in the gsN.NN&bsl.bin directory named GSOS2PM.EXE. This executable is required to use the complete printing functionality (especially the os2prn device does not work without it). :li.Make sure VROBJ.DLL is somewhere in your LIBPATH. :li.Make sure DRCTL017.DLL is somewhere in your LIBPATH. :li.Make sure VRPRINT.DLL is somewhere in your LIBPATH. :li.The file Empty.PDF&comma. which is an empty page in PDF format (A4 size) must reside in the same directory as PDFMergeNX.EXE. :li.tiff2ps.exe and nconvert.exe are used to convert TIF&comma. FAX and image files into Postscript. tiff2ps.exe and tiff2ps.dll must be located in the PDFMergeNX directory. In addition it requires the EMX runtime. :li.nconvert.exe must be located somewhere in your PATH. :li.pstops.exe is used to perform various conversion tasks on PostScript files. It must be located somewhere in your PATH. :li.psselect.exe is used to split PostScript files into single pages. It must be located somewhere in your PATH. :li.PDFMergeNX comes with tiff2ps.exe&comma. tiff.dll&comma. jpeg2ps.exe and pstops.exe. :li.XPDF 3.01.pl1 is used to gather and extract various information from PDF and PS files. Installing XPDF can be quite difficult. If you experience empty fields in PDFMergeNX&comma. the most likely reason is that XPDF is not installed properly. Make sure the PATH_TO_XPDF environment variable is properly set. Also make sure the IBM-858.unicodemap file is there. :note.XPDF 3.01.pl1 is the recommended version of XPDF to use with PDFMergeNX. Both the older version 3.00 and the more recent version 3.01.pl2 basically work with PDFMergeNX. However they are slower than 3.01.pl1 as they were built with an older compiler and linked differently. :eul. :p.PDFMergeNX supports both 96dpi and 120dpi systems i.e. it comes with buttons in two different sizes. In order to determine&comma. which size to use it honors the SET SDDICONS=SMALL&slr.LARGE in CONFIG.SYS. :h1 res=400.Usage :font facename='Default' size=0x0.:p.The GUI should be pretty self explanatory as all elements display explanatory hints in the status line at the bottom of the main window. :p.You should consider PDFMergeNX as a toolbox that provides easier access to the various utilities that it make use of. :p.The basic idea behind PDFMergeNX is that the user should be enabled to merge arbitrary files (available as Postscript&comma. PDF&comma. TIF&comma. FAX or image files) into one PDF file. That is the main task. :p.All other functionality provided reflect the typical tasks required to properly setup the source files for processing. :h2 res=420.The selected PDF/PS file :font facename='Default' size=0x0.:p.The selected PDF&slr.PS file is the one and only PDF&slr.PS that has a gray background. It's always the one that is shown in the preview window. :p.The operations in the "Selected" menu are executed only onto the selected PDF&slr.PS file. :note.In addition the options "Apply to" "all files"&comma. "marked files only"&comma. "unmarked files only" must be set appropriately. :h2 res=430.Mark or unmark PDF/PS files :font facename='Default' size=0x0.:p.The "Mark&slr.Unmark" button in conjunction with the "Use all files"&comma. "Use marked files only"&comma. "Use unmarked files only" options enables the user to create 3 different target PDF files from one set of source PDF&slr.PS files. :p.The idea behind this concept is to be able to ignore certain PDF&slr.PS files temporarily without the requirement to unload them from the list. :p.For example&colon. :p.You have 20 PDF files loaded. The 3rd&comma. 7th&comma. 15th should be put into one new PDF file. You "mark" these three by double clicking on them and select "Appy to" "marked files only". Pressing on "merge" will merge the 3rd&comma. 7th and 15th file into a new one and ignore the rest. Select "unmarked files only" now&comma. press "Print" and all files except the 3rd&comma. 7th and 15th will be printed... Select "all files" and press Menu "Tools" - "Convert to PostScript" all 20 files regardless whether they are "marked" with a hook or not will be converted into PostScript. :p.The whole program honors these options. You will end up with unexpected results in case you carelessly set the options first and forget about them later. :p.So my advice for beginners is&comma. to set the "use all files" option and do not use "Mark&slr.Unmark" function at all&comma. until you really understand how they work. :h2 res=440.Concatenating :font facename='Default' size=0x0.:p.1. Add multiple PDF&slr.PS&slr.TIF&slr.FAX&slr.imagefiles to the list box using the "Add file" button. A valid target filename is created automatically (this behaviour can be turned off by using the target filenames entry field context menu or by pressing the "Pick target filename" button and choosing a filename manually). As soon as you left click on a file a little preview window showing a thumbnail of the first page of the document will appear. The size of the preview can be configured in the properties menu. :p.2. Press "Merge". :p.3. The freshly created PDF file will be launched immediately. :p.4. Eventually press "Erase source PDF files" in order to erase the source files from disk. :p. NOTE&colon. The "Remove PDF" button only removes the source PDF&slr.PS files from the list but not from disk. :p.In addition you might want to add empty pages in between. The source PDF&slr.PS files list also has a context menu. :h2 res=450.Splitting :font facename='Default' size=0x0.:p.In order to split a multipage PDF or PS file into single pages&comma. you have to do the following&colon. :p.1. Select a PDF or PS file. :p.2. Right click on it&comma. the context menu appears. :p.3. Select "Split into pages". Now the entry of the PDF file is replaced by a list of PS files representing the single pages of the PDF file. The PDF file itself is removed from the listbox (but nor erased from disk&comma. unless chosen otherwise in the import options!). :p.4. Now you can reorder the pages (or remove some of them) just as you like. :p.5. As soon as you are ready press "Merge" and you end up with a new PDF files composed only of those pages and document you left in the listbox. :h2 res=460.Printing :font facename='Default' size=0x0.:p.Ever wanted to print a bunch of PDF files at once? :p.Well&comma. here is an (experimental) answer to this problem. :p.Choose some .PDF files as you would do to concatenate them and press the new printing button. :p.A dialogue will appear that lets you choose a valid OS&slr.2 printer. :p.After that a dialogue will appear that lets you choose the output device for GhostScript&comma. do that and press ok and all files should be printed (at least in theory&comma. your mileage may vary). :p.Please note&colon. This functionality is still very experimental! :h2 res=470.Set PDF metadata :font facename='Default' size=0x0.:p.PDFmergeNX can set the PDF metadata such as title&comma. subject&comma. author and keywords. :p.It uses the same history data as ePDF with 2 differences&colon. :ol compact. :li.It sorts the history alphabetically. :li.It removes duplicate entries. :eol. :note.Pressing the little diskette button right to the entry field writes the reorganiszed history back to ePDF's configuration file&comma. so that the reorganised history can be used also from ePDF.:h2 res=480.Convert to PostScript :font facename='Default' size=0x0.:p.Sometimes it desirable to deal with PostScript files instead of PDF files. :p.You can use this function to convert any PDF file to PostScript. :note.The original PDF file will not be touch unless the "Delete original PDF file" option is set in the properties dialogue. :h2 res=490.Compare content :font facename='Default' size=0x0.:p.This operation extracts the text data from 2 PDF files and fire up PMDIFF in order to visually compare whether the text content of these 2 PDF files is the same. :note.You have to mark exactly 2 PDF files in order to use this function. :h2 res=4100.Align on even pages :font facename='Default' size=0x0.:p.This operations inserts a one page empty page PDF file after each source PDF file that has an odd number of pages. :h2 res=4110.Bookmarks :font facename='Default' size=0x0.:p.The bookmark functionality is limited at the moment&colon. :p.You cannot create nested structures that have more than two levels. :p.If you want more than two levels you have to study Frank Wochatz bookmark file structure found in the ePDF manual. :p.Bookmarks that are already present in PDF files will be lost. PDFMergeNX cannot read bookmarks present in PDF files. It only can add new ones. :p.PDFMergeNX provides various tools to help you to create new bookmarks with up to two levels. It can&colon. :ul compact. :li.Import bookmarks texts from the sourcefiles&comma. either from meta data or filenames. :li.Create bookmarks by creating simple enumerations. These can eventually be appended or prepended to existing bookmarks. :li.Create bookmarks by adding a row of months&comma. fixed texts :li.Create bookmarks by providing a translation table file. PDFMergeNX checks the filename against a translation table provided in a simple textfile. The syntax is simple&colon. One line holds a pair of phrases separated by a |. :xmp.Part of filename|Words for bookmark:exmp. If PDFMergeNX finds the left part of the line in the filename&comma. the bookmark is set to the right part of the line. :li.Deleting bookmarks already created. :eul. :p.By default&comma. PDFMergeNX will add bookmarks automatically in case you provided at least one. This behaviour can be changed in the settings dialogue. :h1 res=500.Settings :h2 res=510.Properties :h3 res=511.Distiller options :font facename='Default' size=0x0.:p.PDFMergeNX has a simple built in distiller. Alternatively ePDF can be used as a distiller (This is the recommended way). :p.Advantages and disadvantages of the simple builtin distiller&colon. :ul compact. :li.It is faster&comma. because it does not convert all PDF files to PostScript before distilling. In case you observe conversion problems&comma. using the simple builtin distiller might be a workaround. :li.It cannot add bookmarks. The simple builtin distiller cannot handle ePDF's bookmark feature. Bookmarks present in the source files will be preserved. :li.By using ePDF as distiller you can make use of the advanced features ePDF offers (Password protection&comma. encryption&comma. various qualities&comma. watermarks etc.). :eul. :note.The simple builtin distiller can add PDF metadata (such as Title&comma. Subject&comma. Author and Keywords). :p.PDFMergeNX can be used to configure ePDF's distiller and profile settings. :h3 res=512.Template option :font facename='Default' size=0x0.:p.This option controls the default file mask applied in the "Add PDF" file dialogue. :h3 res=513.History options :font facename='Default' size=0x0.:p.PDFMergeNX uses ePDFs builtin history for PDF meta data. In addition it has the capability to reorganize ePDFs history (it sorts all entries alphabetically and removes double entries). By checking the autoreorganize option&comma. PDFMergeNX saves this reorganized data automatically&comma. so that ePDF itself also can use the reorganized data. :p.If "store directory only" is enabled&comma. the filename of the target file will not be stored in the history. :h3 res=514.Preview options :font facename='Default' size=0x0.:p.These settings control the behaviour of the builtin Mini-PDF-viewer. :p.The size in DPI controls the size of the preview window. 25 or 35 DPi is usually enough to get an idea which page you just have selected. In order to be able to read the content of the selected page you need to increase this value to 90 to 120 DPI. :p.This setting can also be configured from the preview window's toolbar. :p.Sometimes it is conveniant to turn off the preview completely because this allows some operations to be executed considerably faster. This option enables you to do so. :p.This option can also be configured from the toolbar on the main window. :p.On slower PCs it might be desirable to turn on the fast preview option. The previews are show with 16 colors only&comma. which results in considerably faster preview creation than the default 256 colors. :h3 res=515.Import options :font facename='Default' size=0x0.:p.The concept behind the import of files is the following&colon. :p.PDF and PS files are loaded directly into PDFMergeNX without any conversion. :p.TIF&comma. Fax and all other imagefiles are run through an import process and are converted into PS files before being loaded into PDFMergeNX. :p.PDFMergeNX will not touch the original TIF&slr.FAX&slr.imagefiles and perform all operations on their PS equivalents. :p.By setting the option to delete original TIF&slr.FAX&slr.images these original files are deleted when PDFMergeNX is closed or the filelist is cleared or erased. :p.By setting the option to delete original PDF files&comma. the original PDF files are treated like TIF&slr.FAX&slr.imagefiles only after a conversion to PS (but not after other "normal" operations) has been applied (eg. they were converted to PostScript or split into pages). :caution.Currently changing this option during work has no effect on files already marked for deletion. As all erasing happens when PDFMergeNX is closed or the filelist is cleared or erased&comma. you can "save" any "original" file from deletion by renaming it or moving it to a different place while PDFMergeNX is still open.:ecaution. :h3 res=516.XPDF options :font facename='Default' size=0x0.:p.The XPDF executables are core components of PDFMergeNX. Without their proper installation&comma. many functions in PDFMergeNX will not work properly. :p.PDFMergeNX forces the XPDF executables to use their configuration file named .xpdfrc either in the %HOME% directory (this is the default location) or in the %PATH_TO_XPDF% directory (where the XPDF executables and the IBM-858.unicodemap file reside). :p.Checking the option "Read PDF metadata without .xpdfrc" is not recommended. This is only meant to be a fallback mechanism in case the PDF metadata cannot be read otherwise. :caution.Checking this option might enable you to use most parts of PDFMergeNX&comma. however you should definitely try to resolve the problem&comma. that causes this failure. Usually a missing ".xpdfrc" or a missing "IBM-858.unicodemap" file is the reason for that.:ecaution. :h3 res=517.Cleanup options :font facename='Default' size=0x0.:p.Over time the temporary directory is cluttered with .TTF files that are subsets of fonts embedded into PDF files. It is GhostScript that leaves these files in the temporary directory. :p.Checking this option will make PDFMergeNX to erase these files upon exit. :h2 res=520.ePDF properties :font facename='Default' size=0x0.:p.Using this menu option you can open ePDF's property window in order to configure ePDF options not found in PDFMergeNX's property dialogue. :h2 res=530.Components :font facename='Default' size=0x0.:p.As PDFmergeNX uses various "companions" (called components) to perform its job&comma. it sometimes is difficult to be sure that everything is in the right place. :p.This page shows all other programs that PDFmergeNX makes use of. :p.A red cross to the left of the name of the companion indicates that PDFMergeNX thinks that this component is missing or configured wrongly. :h1 res=600.Customization :font facename='Default' size=0x0.:p.You can customize PDFMergeNX in a few ways&colon. :ul compact. :li.Drag a font from the font palette and drop it on to the main window. It will be stored across sessions. 9.WarpSans is recommended&comma. but 8. Helv and 10.Helv and a few others work&comma. too. :li.Drag a color from the color palette and drop it on to the main window. It will be stored across sessions. :eul. :h1 res=700.Restrictions :font facename='Default' size=0x0.:p.The printing functionality is highly dependent on your printer&slr.printer driver. It may not work reliably with your equipment. :p.Distilling into a drive's root directory does not work (this might be an ePDF or GhostScript issue) :p.Password protected PDF files cannot be handled at the moment (will definitely be added later). :p.Many operations have the A4 paper format hardcoded (this will change later). :h1 res=800.Author and contributors :font facename='Default' size=0x0.:p.My thanks go to the following people (order of no importance)&colon. :ul compact. :li.:hp2.Kris Steenhaut:ehp2.&comma. for providing the Dutch language files&comma. :li.:hp2.Hanno Sedlmayr:ehp2.&comma. for extensive testing and bug reports&comma. :li.:hp2.Stephan E. Bucher:ehp2.&comma. for pointing me to bookmarks&comma. :li.:hp2.Frank Wochatz:ehp2.&comma. for creating ePDF&comma. :li.:hp2.Chris Wohlgemuth:ehp2.&comma. for providing DrCtlXXX.DLL&comma. :li.:hp2.Pierre E. Gougelet:ehp2.&comma. for providing NConvert&comma. :li.all the others&comma. who also found bugs and suggested new features :eul. :artwork align=left name='.\HERWIG.BMP' . :p.:hp2.Herwig Bauernfeind:ehp2.&comma. 21-01-2007 :p.St.Veit&slr.Glan&comma. Austria&comma. European Union :p.EMail&colon. herwig.bauernfeind@aon.at :h1 res=900.Copyrights :font facename='Default' size=0x0.:font facename='Default' size=0x0.:p.All terms and trademarks used in this documents are copyrights by their respective owners. :p. :ul compact. :li.OS&slr.2 is a trademark of International Business Machines Corporation. :li.eComStation is a trademark of Serenity Systems&comma. Inc. :li.Yahoo! is a trademark of Yahoo!&comma. Inc. :li.DrCtlXXX.DLL is copyright of Chris Wohlgemuth. .br For more information see :link reftype=launch object='NETSCAPE.EXE' data='http://www.geocities.com/SiliconValley/Sector/5785/'.http&colon.&slr.&slr.www.geocities.com&slr.SiliconValley&slr.Sector&slr.5785&slr.:elink. and :link reftype=launch object='NETSCAPE.EXE' data='http://www.os2world.com/cdwriting'.http&colon.&slr.&slr.www.os2world.com&slr.cdwriting:elink. :li.(tiff2ps&comma. psutils missing) .br For more information see :link reftype=launch object='NETSCAPE.EXE' data='http://home.att.net/~ASchw'.http&colon.&slr.&slr.missing:elink. :li.NConvert.EXE is provided by Pierre E. Gougelet .br For more information see :link reftype=launch object='NETSCAPE.EXE' data='http://www.xnview.com'.http&colon.&slr.&slr.www.xnview.com:elink. :li.WarpIN is released as open source [:link reftype=launch object='NETSCAPE.EXE' data='HTTP://www.opensource.org/'.OpenSource.org:elink.] under the GNU General Public Licence (GPL). :eul. :euserdoc.