PDF24 Creator 11 Manual

Contents

1. Preamble

The PDF24 Creator is a free and popular PDF solution with many features for Windows. The software brings all PDF24 tools as offline version, so all files stay on your PC and GDPR is not an issue here. The software has been under continuous development since 2006 and has delighted many people and businesses around the world. Companies can also use PDF24 Creator free of charge.

A MAC version is not available. MAC users can use the PDF24 Online Tools, which are also free of charge.

2. EXE installer

The EXE installer is based on Inno Setup. The installation process can be controlled via command line arguments. Besides the arguments Inno Setup supports, there are other PDF24 specific arguments.

/SP- Disables the "This will install... Do you wish to continue?" prompt at the beginning of Setup.

/COMPONENTS="comma separated list of component names"

Overrides the default component settings. Using this command line parameter causes the setup to automatically select a custom type. Only the specified components will be selected; the rest will be deselected. If a component name is prefixed with a "!" character, the component will be deselected. This parameter does not change the state of components that include the fixed flag.

Currently, the setup contains the following components:

2.1. Examples of use

3. MSI installer

PDF24 provides a MSI package of the PDF24 Creator which you can use to distribute the software on computers. The MSI installation can be customized via command line arguments. Currently, the following arguments are available:

AUTOUPDATE=Yes|No

Enables or disables the auto-update feature of the PDF24. Set the public property AUTOUPDATE=No for disabling the auto-update feature. The feature is disabled by default.

DESKTOPICONS=Yes|No

Creates or disables the Windows Desktop icons for PDF24-PDF and PDF24-Fax. Set the public property DESKTOPICONS=No for disabling the Windows Desktop icons. The Windows Desktop icons will be created by default.

FAXPRINTER=Yes|No

Enables or disables the Fax printer feature of PDF24. Set the public property FAXPRINTER=No for disabling the Fax printer feature. The feature is enabled by default.

REGISTERREADER=Yes|No

Enables or disables PDF24 Reader registration. Default value is Yes.

EXTENDSHELLCONTEXTMENU=Yes|No

Extends the shell context menu with the PDF24 entry. The DLL has some advantages and improves productivity. Default value is Yes.

USESHELLEXTENSIONDLL=Yes|No

If set to Yes, then the new shell context menu extension DLL is used instead of a static registry entry. Default value is No. The DLL has some advantages and improves productivity. Updates can be a bit more difficult because the DLL is loaded and blocked by Explorer, so that the Explorer has to be restarted for an update.

Example usage of the MSI properties:

pdf24-creator.msi AUTOUPDATE=[Yes|No] DESKTOPICONS=[Yes|No] FAXPRINTER=[Yes|No] /[qr|qb|qn|...]

The user interface, that installer displays, can be controlled with the /q options:

3.1. Examples of use:

4. Registry Settings

The PDF24 Creator stores settings into the Windows registry. Since version 10, the user settings are stored under HKCU\SOFTWARE\PDF24. The application settings and settings that apply to all users are stored under HKLM\SOFTWARE\PDF24. Older versions stored the settings under HKCU\SOFTWARE\PDFPrint and HKLM\SOFTWARE\PDFPrint.

The settings under HKCU overwrite the settings from the HKLM area. There is also an option to give more weight to the settings under HKLM. This can be achieved by putting a ! in front of the key name. Then the value from HKLM is always taken in any case, regardless of what is in HKCU.

Most of the settings can be manipulated by the PDF24 Settings GUI. If you make changes in the GUI then these changes will change the registry values.

4.1. Common registry settings

The PDF24 Reader also stores settings into the Windows registry. The registry path is HKCU\SOFTWARE\PDF24\PDF24 Reader. The following entries are currently supported by the PDF24 Reader:

5. Translation of language files

The PDF24 Creator has language files to offer the PDF printer in languages other than German and English. The languages German and English are maintained by the PDF24 team and are made available to every version. If you can translate into another language, we would be pleased if you could translate an existing language file into this language so that we can offer the PDF24 Creator in this language as well.

If you notice an error in one of the existing language files when translating a language file, tell us and we will fix these mistakes.

The language files of the PDF24 Creator can be found in the lang folder in the PDF24 installation directory. The language files end with the extension .lang and can be edited with a text editor. The language files are to be encoded with UTF-8 with BOM. A text editor like Notepad++ recognizes this automatically.

A language file is structured line by line. Lines beginning with # are comments and do not need to be translated. Each line contains the key and the text of a language element. Key and text are separated by a =. Only the text may be translated, the key must remain as it is so that the PDF24 Creator can find a text element. Here is an example:

# # PDF Quality # general/pdf-quality = Quality of PDF general/quality/low = Low quality general/quality/medium = Medium quality general/quality/good = Good quality

In the example above, e.g. general/pdf-quality is a key and Quality of PDF is the text to that key. Only the text Quality of PDF may be translated.

Already translated language files can contain the two characters #! as first characters in a line. This indicates that this line still needs to be translated. If new language elements are added to the PDF24 Creator, we add the missing elements to all language files with the content from the English language file and mark these lines with the characters #!. These lines are not yet translated. Translators can use this method to find elements that have not yet been translated and translate them. After the translation, the #! string must be removed.

Please send your translated or updated language file to team@pdf24.org. We will then integrate your translation into the PDF24 Creator.

6. PDF Printers

The PDF24 Creator is able to manage multiple PDF printers. Each PDF printer can be configured differently. For example, if you want to save a file automatically, you can easily do this with a dedicated PDF printer. To manage PDF printers, use the settings utility. There you can add, remove or configure PDF printers.

6.1. Ports

PDF printers use special ports from the system to receive printer data. The default or first PDF printer created by the installer has the port \\.\pipe\PDFPrint. Additional PDF printers will have ports like \\.\pipe\PDFPrint-1, \\.\pipe\PDFPrint-2 and so on.

If you have problems with your default PDF printer, e.g. if print jobs get stuck in the printer queue, please check the port to which the PDF printer is connected to. Make sure, that the default PDF printer is connected to port \\.\pipe\PDFPrint. If this is not the case, change this manually in the printer properties via the control panel of Windows.

7. pdf24-PrinterInstall.exe

The executable file pdf24-PrinterInstall.exe is used to install PDF printers. The installer uses this process to install the default PDF printer and the settings app uses it to install additional ones.

7.1. Command line

pdf24-PrinterInstall.exe [OPTIONS] ACTIONS

Actions are used to tell the printer installer what to do. See below for supported actions:

Options are used to give the actions the necessary information. See below for supported options:

The PDF24 installer uses the following command to install the PDF printer driver:

pdf24-PrinterInstall.exe -upgrade installPrinterDriver

The PDF24 installer uses the following command to install the default PDF printer:

pdf24-PrinterInstall.exe -printerName PDF24 -portName "\\.\pipe\PDFPrint" installPrinter

8. pdf24.exe

The pdf24.exe file provides backend services that are mainly responsible for listening to PDF printer ports, receiving print jobs, forwarding them to the correct user and opening the frontend application where the user can save the new file.

8.1. Windows Service

The pdf24.exe also provides the Windows service that must be installed and started in order for the PDF printers to receive print jobs. Without this service the PDF printers will not work. The installation/uninstallation is done automatically via the PDF24 installer. The installer runs the folowing commands to install and start the service and to stop and uninstall it:

pdf24.exe -install -start
pdf24.exe -stop -uninstall

If the service is no longer available in Windows, perhaps due to a Windows update, you can use the above command line to reinstall and restart it. The installation can only be performed if you run the command with extended administrator privileges. To do this, you must open a console by clicking "Run as administrator".

The Windows Service is started by the following command line:

pdf24.exe -service

9. pdf24-Toolbox.exe

The PDF24 Toolbox currently uses Webview2 to display the GUI. This normally works out of the box and you do not need to setup anything. By default PDF24 uses the WebView2 version which is installed by PDF24. This version is stored in the subfolder WebView2 of the PDF24 installation folder. You can also force the use of the evergreen version of Webview2. You can do this with the registry option webview2.useEvergreen.

9.1. Command line

pdf24-Toolbox.exe [OPTIONS] [FILES]

If you simply run pdf24-Toolbox.exe without options and files, the GUI opens and the start page is displayed where you can choose a function.

If you run pdf24-Toolbox.exe without options but with files, the GUI opens and the start page is displayed where you can select a tool to use with these files. Above the possible tools the files are displayed.

[OPTIONS]

Options are used to tell the Toolbox what to do and to set parameters. See below for supported options:

9.2. Notes about the Internet Explorer 11 component used in prior versions

In prior version of the PDF24 Toolbox the Internet Explorer 11 component was used to display the GUI. For this to work, settings had to be set correctly:

If Javascript is not active, then you will usually see inactive file boxes and you will not be able to interact with the GUI.

If the URL range pdf24://* is not allowed, then the UI cannot communicate with the app and thus the app will not work as it should.

9.3. Notes about Windows Server and Citrix

If PDF24 Toolbox does not start or displays a blank screen, then there are 2 ways to fix the problem. The entry at CTXHook has the advantage that you don't need a restart:

Possibility 1:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CtxUvi] UviProcessExcludes = „msedgewebview2“ [REG_SZ]

UviProcessExcludes entries can have a maximum of 14 characters. This works from Windows Server 2016 and requires a restart.

Possibility 2:

[HKEY_LOCAL_MACHINE\Software\Citrix\CTXhook] ExkludedImageNames = „msedgewebview2.exe“ [REG_SZ]

This works from Windows Server 2008 and does not require a restart.

If the registry value already exists, simply append msedgewebview2.exe or msedgewebview2 to the comma-separated list, e.g. msedge.exe,msedgewebview2.exe.

After restarting the affected system, the misbehavior should no longer occur. Often, it is sufficient to close the affected application completely.

10. pdf24-Ocr.exe

The pdf24-Ocr.exe is an app, that does optical character recognition on files. The app generates PDF files with text layer. Under the hood, the app uses Tesseract for text recognition. The result of tesseract is then combined with the actual file.

10.1. Command line

pdf24-Ocr.exe [OPTIONS] [FILES]

Invoking the application without arguments simply opens a GUI. Invoking the app with files, opens the GUI and loads the files specified on command line.

To apply OCR on a specific file and to save the resulting PDF file with a text layer, invoke the OCR tool like this:

pdf24-Ocr.exe -outputFile output.pdf [-language eng] [-dpi 300] [-applyProfile PROFILE] [-skipFilesWithText] [-skipPagesWithText] [-removeBackground] [-deskew] [-autoRotatePages] "input.pdf"

The -outputFile switch tells the app where to store the produced PDF file with recognized text.

The -language switch sets the language used by the OCR process. Multiple languages can be specified like eng+deu. Open the list of available language codes to see all language codes you can use.

The -dpi switch sets the DPI value used by the OCR process. In common, 300 is the recommended value.

The -applyProfile switch can be used to apply an output profile to the generated PDF file that contains the recognized text.

-skipFilesWithText tells the app to not process files that already contains text.

-skipPagesWithText tells the app to not process pages of a file that already contains text.

-removeBackground tells the app to detect and remove the background of the page.

-deskew tells the app to deskew the pages. This greatly improves the OCR result if the pages are slightly skewed.

-autoRotatePages tells the app to rotate the pages automatically based on the recognized text.

In general, the app downloads language files on demand. Otherwise the installer would be very large and would consume a lot of disk space. If you prefer a local installation of all language files, the read the next chapter.

10.2. Local installation of all language file

To install language files locally and to stop downloading language files from the internet, do the following:

  1. Download the language files list for local installation and put the file into the tesseract folder of the PDF24 installation directory. Rename the file to trainDataList.txt.

  2. Then download the individual language files specified in the language files list for download on demand into the tessdata folder INSTALL_DIR/tesseract/tessdata.

You also have to download the osd.traineddata because this file is required for orientation detection. Without the file, the OCR process will fail with a data file error message.

Please make sure that you use the language files that are compatible with Tesseract 4.0. The language files can be downloaded from the tesseract project on GitHub.

Compared to the online list the local list does not contain URLs for download. Please note to rename the file name from local-list.txt to trainDataList.txt.

You can shorten the list if you like. In the list you can only specify the language files that should be displayed in the software.

11. pdf24-DocTool.exe

11.1. Command line

pdf24-DocTool.exe [options] [file1] [file2] ...

[options]

Options are used to tell the DocTool what to do and to set parameters. Below are general options that apply to most commands and are described here.

-outputDir dir

Optional flag to specifiy an output folder where the DocTool should save generated files. The files are saved under the name of the file inside the specified directory.

-outputFile file

Optional flag to specifiy an output file under which the DocTool should save the generated file(s). If more than one file is specified on the command line to be processed then the DocTool modifies the file name and adds a number.

The output file can be the special "-" one. In that case the DocTool saves the processed files into the same directory like the input files.

[file1] [file2] ...

The DocTool is a file tool and you have to specify one or more files on the command line which are to be processed.


pdf24-DocTool.exe file1 [file2] ...

Converts the files on the command line to PDF and opens an PDF24 assistant to handle the converted files.

file1 [file2] ...

One or more files to process.


pdf24-DocTool.exe -webOptimize [-outputDir dir] [-outputFile file] file1 [file2] ...

Optimizes the files for web. Generates web optimized PDF files.

-webOptimize

The command to tell the DocTool to optimize the input files for web.

[-outputDir dir]

See description of common parameters.

[-outputFile file]

See description of common parameters.

file1 [file2] ...

See description of common parameters.


pdf24-DocTool.exe -applyProfile [-profile profileId] [-profileParam key value] [-outputDir dir] [-outputFile file] file1 [file2] ...

Applies a profile on the specified files. A profile can be specified on command line or can be selected via a profile select dialog.

-applyProfile

The command to tell the DocTool to apply a profile on the input files

[-profile profileId]

Optional flag to specify an ID of a profile to use. The ID of default profiles is like "default/xxx" where xxx is the name of a default profile, e.g. "good" or "best". The ID of user profiles is like "user/yyy" where yyy is the name of a user profile.

[-profileParam key value]

You can override profile values using the -profileParam argument. The [-profileParam key value] switch can be used multiple times to override multiple values. This makes it possible to use a base profile and then overwrite certain parameters of this profile. Available since version 11.7.0.

[-outputDir dir]

See description of common parameters.

[-outputFile file]

See description of common parameters.

file1 [file2] ...


pdf24-DocTool.exe -join [-sort] [-bookmarks bookmarksCmd] [-profile profileId] [-outputDir dir] [-outputFile file] file1 [file2] ...

Joins input files to one output file.

-join

Tells the DocTool to join the input files.

[-bookmarks bookmarksCmd]

Sets a command for handling bookmarks. If bookmarksCmd is keep, then the join app tries to keep bookmarks from input files. If bookmarksCmd is clear, the function clears all bookmarks. If bookmarksCmd is create, then the function creates bookmarks based on the filenames. The default commmand is keep. Available since version 11.16.0.

[-sort]

Optional flag to sort the input files by name before joining.

[-profile profileId]

@see Documentation of "pdf24-DocTool.exe -applyProfile"

[-outputDir dir]

See description of common parameters.

[-outputFile file]

See description of common parameters.

file1 [file2] ...

See description of common parameters.


pdf24-DocTool.exe -extractPages file1 [file2] ...

Opens a page extract dialog for the input files to extract pages from the documents.

-extractPages

Tells the DocTool to open the page extract dialog for the input files

file1 [file2] ...

The file(s) from which to extract


pdf24-DocTool.exe -splitByPage [-outputDir dir] [-outputFile file] file1 [file2] ...

Splits the documents page by page

-splitByPage

Tells the DocTool to split the input files page by page.

[-outputDir dir]

See description of common parameters.

[-outputFile file]

See description of common parameters.

file1 [file2] ...

See description of common parameters.


pdf24-DocTool.exe -autoRotatePages [-outputDir dir] [-outputFile file] file1 [file2] ...

Rotates pages of input pdf files automatically based on page contents. Since version 10.7.2.

-autoRotatePages

Tells the DocTool to rotate pages

[-outputDir dir]

See description of common parameters.

[-outputFile file]

See description of common parameters.

file1 [file2] ...

See description of common parameters.


pdf24-DocTool.exe -convertTo [-outputDir dir] [-outputFile file] file1 [file2] ...

Converts the input files. Opens the Save As dialog where the user can select a file type and where the user can specify specific output file options.

-convertTo

Tells the DoctTool to convert the input files

[-outputDir dir]

See description of common parameters.

[-outputFile file]

See description of common parameters.

file1 [file2] ...

See description of common parameters.


pdf24-DocTool.exe -convertToPDF [-profile profileId] [-outputDir dir] [-outputFile file] file1 [file2] ...

Converts the input files to PDF. The user can select a profile which is used to save the output file.

-convertToPDF

Tells the DoctTool to convert the input files to PDF

[-profile profileId]

@see Documentation of "pdf24-DocTool.exe -applyProfile"

[-outputDir dir]

See description of common parameters.

[-outputFile file]

See description of common parameters.

file1 [file2] ...

See description of common parameters.


pdf24-DocTool.exe -upload -url url file1 [file2] ...

Upload the input files to a web service, extracts the location header of the response and opens a browser window with the URL from the location header.

-upload

Tells the DocTool to upload the input files to a web service.

-url url

Specifies the URL of a web service to which to upload the input files.

file1 [file2] ...

The files to upload.


pdf24-DocTool.exe -sendAsMail [-profile profileId] file1 [file2] ...

Opens the send email dialog and attaches the input files so that the user can send the files as an email.

-sendAsMail

Tells the DocTool to send the input files as an email.

[-profile profileId]

Optional flag to specify an ID of a profile to use. The ID of default profiles is like "default/xxx" where xxx is the name of a default profile, e.g. "good" or "best". The ID of user profiles is like "user/yyy" where yyy is the name of a user profile.

file1 [file2] ...

The files to send.


pdf24-DocTool.exe -sendAsFax file1 [file2] ...

Sends the input files as a fax.

-sendAsFax

Tells th DocTool to send the input files as a fax.

file1 [file2] ...

The files to send.


pdf24-DocTool.exe -shellPrint [-printerName nameOfPrinter] file1 [file2] ...

Prints the input files on a printer. Uses the files print command of the windows shell.

-shellPrint

Tells the DocTool to print the files with the windows shell print command.

[-printerName nameOfPrinter]

Optional flag to print on a specific printer.

file1 [file2] ...

The files to print.


pdf24-DocTool.exe "<clipboard>"

Extract files from the windows clipboard and opens a PDF24 assistant to handle the files.

<clipboard>

Special file to tell the DocTool to import from windows clipboard.


pdf24-DocTool.exe "<twain>"

Imports files from the TWAIN interface (scanner or camery) and opens a PDF24 assistant to handle the files.

<twain>

Special file to tell the DocTool to import from TWAN interface


pdf24-DocTool.exe [-mode MODE] [-target TARGET] "<screen>"

Captures the screen. The capture mode and the target can be specified.

[-mode MODE]

Optional flag to set the capture mode. The mode can be one of the following:

[-target TARGET]

Optional flag to specify the target of the capture image. The target can be one of the following options:


pdf24-DocTool.exe -crop [-left value] [-top value] [-right value] [-bottom value] [-box value] [-outputDir dir] [-outputFile file] file1 [file2] ...

Crops the pages of input PDF files. Available since version 11.6.0.

-crop

The command to tell the DocTool to crop the pags of all input files.

-left value

The value for the left side of the media box. The value is a number and can have a siffix if either mm, inch, pt. If no suffix is specified, mm is used. Examples are 5mm, 0.5inch, 8pt.

-top value

The value for the top side of the media box. See description of -left above for information about the value.

-right value

The value for the right side of the media box. See description of -left above for information about the value.

-bottom value

The value for the bottom side of the media box. See description of -left above for information about the value.

-box value

The PDF box to define. The value can be cropBox or trimBox. If no box is specified, cropBox is used.

-outputDir dir

See description of common parameters.

-outputFile file

See description of common parameters.

file1 [file2] ...

The files whose pages will be cropped.


pdf24-DocTool.exe -compress [-useCompressionParamsDialog] [-dpi value] [-imageQuality value] [-colorModel value] [-outputDir dir] [-outputFile file] file1 [file2] ...

Compresses the files specified on command line and uses specified parameters for the compression function. Available since version 11.11.0.

-compress

The command to tell the DocTool to compress input files.

-dpi value

The DPI (dotts per inch) compression value. Lower values reduce the output file size, but also the quality of embedded images. Default value is 144.

-imageQuality value

The image quality value in % used to compress embedded images. Value range is 1 .. 100. Lower values reduce the output file size, but also the quality of embedded images. Default value is 75.

-colorModel value

The color model. Possible values are an empty string, rgb, cmyk, gray. The default value is an empty string which means not to change the color model.

-useCompressionParamsDialog

Tells the DocTool to show a dialog where the user can change compression params which are then used for the compression function.

-outputDir dir

See description of common parameters.

-outputFile file

See description of common parameters.

file1 [file2] ...

The files to compress.

12. pdf24-Reader.exe

The pdf24-Reader.exe is an application that can open and display PDF files. Internally PDFIUM is used as PDF library. PDF24 Reader is a fast and lightweight PDF reader that integrates well with Windows. A shell preview is available so that other applications like Outlook or Windows Explorer can preview PDF files.

12.1. Command line

pdf24-Reader.exe [OPTIONS] [FILE]

Invoking the application without arguments simply opens a GUI. Invoking the app with a file opens the GUI and loads the file specified on command line. There are switches and flags which can be used to control the behavior of PDF24 Reader. These are explained below:

The /newWindow switch tells the reader to open the specified PDF file in an seperate Window. Normally files are opened as tab in an existing instance.

The /print switch tells the reader to print the specified PDF file using the default printer in Windows.

The /printTo XXX option tells the reader to print the specified PDF file in the printer named XXX.

The /printFlags XXX option can be used to control the print function. XXX is a comma seperated list of flags. Currently the Reader supports forceImagePrint, forceEmfPrint, grayscalePrint. Supported since version 11.8.0.

13. FAQ

13.1. The PDF printer is not working properly. Print jobs are stuck in the print queue. What to do?

Sometimes it can happen, that the PDF printer is not working well. Most of the time it can be fixed by checking the following:

13.2. How to stop/remove the PDF24 autostart entry?

The PDF24 Autostart entry starts the user process that is used for the PDF printer to receive the print jobs from the PDF printer from the PDF24 Windows service and present them to the user.

In newer versions of the PDF24 Creator, it is possible to remove this autostart entry so that this process no longer starts with Windows. This is now possible because the PDF24 Windows Service tries to start this user process automatically if this process is not running. This makes it possible to start this process only when necessary.

To remove this autostart entry you have to change the Windows registry. Open the Registry Editor, open the path HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run and delete the PDF24 entry. This change prevents Windows from launching PDF24 on Windows startup.

13.3. How to update from version 9.x and keep settings?

In this case you would have to copy/rename the data in the registry, because there was a change in the past.

Versions below 10 used HKLM/Software/PDFPrint and HKCU/Software/PDFPrint to store settings in the registry. This has been changed to HKLM/Software/PDF24 and HKCU/Software/PDF24.

If you want to keep your data, you have to export them before installing the new version. Then update the software. After that, import your exported into the new pathes. This means that you have to update the pathes in the exported file.

HKLM/Software/PDFPrint must be changed to HKLM/Software/PDF24. HKCU/Software/PDFPrint must be changed to HKCU/Software/PDF24.

If you have a x64 system and if you now install a 64 bit version of PDF24, then you have to rename the following becaue of Wow6432Node redirection: HKLM/Software/Wow6432Node/PDFPrint must be changed to HKLM/Software/PDF24