Command Line Option Reference - pdfHarmony
In this chapter...
...you will learn how to run pdfHarmony on the command line.
- Using Options describes the command-line options available when running pdfHarmony.
- Sample pdfHarmony Commands shows how to run pdfHarmony software with various configurations of command-line options.
Using Commands
Command-line options are used in all Appligent Document Solutions server applications. The table below shows command-line options for pdfHarmony. The following is an example of command syntax for pdfHarmony:
pdfharmony [options] inPDFFile1 [inPDFFile2]
Command summary
| Type | Option | Description | Example |
|---|---|---|---|
| Document Save and Optimize |
-verifyonly | Verify only; search for corrupt files without creating new files. | pdfharmony -p -verifyonly input.pdf |
| -verifypage | Verify page drawing. Either -verifyonly or -o required. | pdfharmony -verifypage -verifyonly input.pdf | |
| -optimize | Combine -flate, -rascii, -nolzw, -optxobj, -optcontent and -optfonts. Either -verifyonly or -o required. | pdfharmony -optimize -o output.pdf input.pdf | |
| -nocomp | Do not compress using Object Streams; compatible with all versions of Acrobat.* Either -verifyonly or -o required. | pdfharmony -p -nocomp -verifyonly | |
| -comp | Compress using Object Streams; compatible with Acrobat 6 and later.* Either -verifyonly or -o required. | pdfharmony -p -comp -o output.pdf input.pdf | |
| -cstruct | Compress logical structure.* Either -verifyonly or -o required. | pdfharmony -cstruct -o output.pdf input.pdf | |
| * These options can all be off but only one can be used at a time. | |||
| -iso32000 | Set file for ISO 32000 compliance (PDF 1.7). Either -verifyonly or -o required | pdfharmony -iso32000 -o output.pdf input.pdf | |
| -flate | Encode non-encoded streams using Flate compression. Either -verifyonly or -o required | pdfharmony -flate -o output.pdf input.pdf | |
| -rascii | Remove ASCII85 filters from all streams. Either -verifyonly or -o required | pdfharmony -rascii -o output.pdf input.pdf | |
| -nolzw | Replace LZW encoded streams with Flate encodings. Either -verifyonly or -o required | pdfharmony -nolzw -o output.pdf input.pdf | |
| -optxobj | Merge identical XObjects and Images. Either -verifyonly or -o required | pdfharmony -optxobj -o output.pdf input.pdf | |
| -optcontent | Optimize common sequences in page content. Either -verifyonly or -o required | pdfharmony -optcontent -o output.pdf input.pdf | |
| -optfonts | Merge identical font descriptors and encodings. Either -verifyonly or -o required | pdfharmony -optfonts -o output.pdf input.pdf | |
| -xreadonly | Suppresses the generation of padding in the XMP metadata.Either -verifyonly or -o required | pdfharmony -xreadonly -o output.pdf input.pdf | |
| -xpadding <int> | XMP metadata padding bytes. Default is 2048. Either -verifyonly or -o required | pdfharmony -xpadding 3045 -o output.pdf input.pdf | |
| -w | Save the output as a linearized file. Either -verifyonly or -o required | pdfharmony -w -o output.pdf input.pdf | |
| -wauto | Auto-detect linearized and save linearized; otherwise, save as normal. Either -verifyonly or -o required | pdfharmony -wauto -o output.pdf in put.pdf | |
| -wforms | Extends "w" and "wauto" to linearize Acrobat forms. Default is to not linearize forms. Requires -w or -wauto. Either -verifyonly or -o required | pdfharmony -wforms -o outpuf.pdf input.pdf | |
| -nomod | Retain current file modification date. Either -verifyonly or -o required | pdfharmony -w -nomod -o output.pdf input.pdf | |
| -nosign | Ignore digital signatures. Default is to incrementally save files with digital signatures. Either -verifyonly or -o required | pdfharmony -optimize -nosign -o output.pdf input.pdf | |
| Document Metadata | -title <string> | Document title. | pdfharmony -title "This is the title" -o output.pdf input.pdf |
| -author <string> | Author of the document. | pdfharmony -author "John Doe" -o output.pdf input.pdf | |
| -subject <string> | Subject of the document. | pdfharmony -subject Test -o output.pdf input.pdf | |
| -keyword <string> | Keywords associated with the document, separated by commas. | pdfharmony -keyword Value1,Value2 -o output.pdf input.pdf | |
| -addinfo | Add the new information to any existing in the file. | pdfharmony -addinfo -author "Jane Smith" -o output.pdf input.pdf | |
| -custom <string> | Custom document information. For example, in -custom "name,value", name and value are separated by a comma. This option may be repeated. | pdfharmony -custom "Field1,Value1" -custom "Field2,Value2" -o output.pdf input.pdf | |
| Document Open and Layout |
-pageMode <string> | Set the document's page mode (DontCare | UseNone | UseThumbs | UseBookmarks | Fullscreen | UseOC | UseAttachments). | pdfharmony -pageMode UseBookmarks -o output.pdf input.pdf |
| -layout <string> | Set the document's layout (single | oneColumn | twoColLeft | twoColRight | twoPageLeft | twoPageRight). | pdfharmony -layout single -o output.pdf input.pdf | |
| -openAction <string> | Set the document's Open Action (FitPage | FitWidth | FitHeight | FitBoundingBox). | pdfharmony -openAction FitHeight -o output.pdf input.pdf | |
| -openToPage <int> | Open the document to the given page number. | pdfharmony -openToPage 3 -o output.pdf input.pdf | |
| -hideToolbar | Hide the toolbar upon opening the document. | pdfharmony -hideToolbar -o output.pdf input.pdf | |
| -hideMenubar | Hide the menubar upon opening the document. | pdfharmony -hideMenubar -o output.pdf input.pdf | |
| -hideWinUI | Hide scrollbars and other controls upon opening the document. | pdfharmony -hideWinUI -o output.pdf input.pdf | |
| -fitWin | Resize the window to the initial page. | pdfharmony -fitWin -o output.pdf input.pdf | |
| -centerWin | Center the window on the screen. | pdfharmony -centerWin -o output.pdf input.pdf | |
| -showTitle | Display the document title in the Windows title bar. | pdfharmony -showTitle -o output.pdf input.pdf | |
| -LeftToRight | Left-to-right reading order used to determine relative position of pages for side-by-side display. | pdfharmony -LeftToRight -o output.pdf input.pdf | |
| -RightToLeft | Right-to-left reading order; includes vertical writing systems like Chinese, Japanese and Korean. | pdfharmony -RightToLeft -o output.pdf input.pdf | |
| Bookmarks, Annotations and FormFields | -openBookmarks | Open all bookmarks. | pdfharmony -openBookmarks -o output.pdf input.pdf |
| -closeBookmarks | Close all bookmarks. | pdfharmony -closeBookmarks -o output.pdf input.pdf | |
| -openLevel <int> | Open all bookmarks up to and including the specified level. | pdfharmony -openLevel 2 -o output.pdf input.pdf | |
| -removeBookmarks | Remove all bookmarks. | pdfharmony -removeBookmarks -o output.pdf input.pdf | |
| -removeAnnots | Remove all annotations including notes, highlights, form fields, etc. | pdfharmony -removeAnnots -o output.pdf input.pdf | |
| -removeFields | Remove all form fields. | pdfharmony -removeFields -o output.pdf input.pdf | |
| Watched Folders |
-watch <string> | Path to watched folder base directory. | pdfharmony -optimize -watch OutDir |
| -watchin <string> | Path to input watched folder. Optional. |
pdfharmony -w -watch OutDir -watchin OutDir\NewDir . |
|
| -watchout <string> | Path to output of watched folder. Optional. |
pdfharmony -w -watch OutDir -watchout OutDir\NewOutDir **The above command line will create a sub-folder beneath OutDir called NewOutDir. This is the directory where the output files will be placed once processed. |
|
| General | -l <string> | Write progress information to log file. | pdfharmony -l logfile.txt -optimize -o output.pdf input.pdf |
| -p | Write progress information to the log file and/or stdout. | pdfharmony -p -title "this is a test" -author "Jane Smith" -o output.pdf input.pdf | |
| -r <string> | Pass registration number to pdfHarmony. | pdfharmony -r XXXX-XXXX-XXXX-XXXX-XXXX-XXXX -p -optimize -o output.pdf input.pdf | |
| -v | Display version information. | pdfharmony -v | |
| -h or -help | Display usage information. | pdfharmony -h or pdfharmony -help | |
| -html <string> | Output results to an HTML file. See an example report. | pdfharmony -html Report.html -verifyonly input.pdf | |
| -htmlurl <string> | Specify path to server hosting HTML support files. | ||
| -o <string> | Output directory name or PDF filename. | pdfharmony -openToPage 5 -o output.pdf input.pdf | |
| -d <string> | Owner password to open the document. | pdfharmony -d Ownerpass -subject "Test File" -o output.pdf input.pdf |
Notes on options
If -hideWinUI is on the command line, then pageMode is ignored.
If you are running pdfHarmony on a file that contains form fields and you want the output to be linearized, you must have both -wforms and -w on the command line. Running with -w alone does not linearize output files that contain active form fields.
The -html reporting option cannot be used with watched folders.
A note on using -p and -l <logfile> together
As outlined in the above sections the -p option gives you progress messages on your screen and the -l <logfile> option writes error messages to a file if errors occur. The table below provides more detail on using these options alone or together.
| -l | -p | errors found | Result |
|---|---|---|---|
| ✔ | Nothing will be written to the screen or to the log file you specify | ||
| ✔ | Progress message will be written to the screen and pdfHarmony.log | ||
| ✔ | ✔ | Progress messages will be written to the screen and to the log file you specify | |
| ✔ | A pdfHarmony.log file will be created with the errors in your working directory | ||
| ✔ | ✔ | Errors will be written to the log file you specify | |
| ✔ | ✔ | Errors will be written to pdfHarmony.log and your screen | |
| ✔ | ✔ | ✔ | Both progress and error messages will be written to the screen and to the log file you specify |
Therefore, -l <logfile> used on its own will only go into action if there are errors. With -p and -l <logfile> combined, you will get a text file with full details on pdfHarmony operations whether there are errors or not.
Sample pdfHarmony Commands
To optimize a PDF file:
pdfharmony -p -optimize -o output.pdf input.pdf
To optimize multiple files:
pdfharmony -p -optimize -o OutputDir input.pdf input2.pdf
To set document properties:
pdfharmony -p -subject pdfHarmony -author "Jane Smith" -title "Testing pdfHarmony" -o output2.pdf input.pdf