Command Line Interface

Fast Integration of PDFix Functionality into Your Workflow

PDFix Command-Line Interface is easy to integrate not only for developers. It allows automating your processes through scripts. CLI provides many benefits like scalability, productivity, stability, simplicity and compatibility.

PDFix SDK CLI


./pdfix_app [OPTIONS] [SUBCOMMAND]

OPTIONS:

  -h,--help                   Print this help message and exit
  --help-all-html             Show all help in HTML format
  --help-all-md               Show all help in MD format
  -m,--email TEXT             License name or registered e-mail address.

                                Identifies the PDFix SDK license holder.
                                Required when activating the license via command line.
  -k,--key TEXT               License key.

                              Activation key associated with the provided license name or e-mail.
                              Required for license activation.
  --settings-path TEXT:FILE   Path to PDFix SDK settings file (JSON).

                              The settings file configures SDK behavior including:
                                • user options (font paths, tagging behavior, license data path)
                                • developer options (log level, profiler path, max processes)

                              If not specified, default SDK settings are used.
  --log_level INT:{nothing->0,critical->1,error->2,warning->3,info->4,debug->5} [nothing] 
Logging level
  --log_path TEXT [Default: auto-generated in system temp directory] 
Path to log file
  -v,--version                

SUBCOMMANDS

name description
batch Process a PDF document using a configuration file and execute a sequence of actions.
make-accessible Makes PDF Accessible. Converts PDF to fully compliant PDF/UA.If you have image-only PDF, please use OCR command before.
add-tags Add tags to PDF.
extract-data Extract PDF data into JSON/XML
pdf2table Extracts tables detected in the PDF into CSV files.Output should point to the folder where separate CSV files will be saved.
pdf2txt Extract text from PDF
pdf2image Extract images from PDF
extract-highlighted-text Extract highlighted text from PDF
pdf2html Converts PDF to HTML , output is the HTML file created during conversion. All necessary files generated during the conversion are saved in the same folder as the output file.
pdf2json Extract PDF data into JSON
preflight Preflight document template and output the config
import-data Import form data from JSON
acroform2json Extract PDF Form Fields into JSON
json2acroform Import PDF Form Fields from JSON
render-page Render Page
digital-signature Sign PDF
add-comment Add comment to PDF
remove-comments Remove comments from PDF
flatten Flatten all annotations into the PDF content.
embedfonts Embeds fonts into PDF
watermark Add watermark to PDF
parse-pds-objects Tag operations on PDF
create-document Create new PDF
create-page Create new page in PDF
move-page Move one page in document
delete-pages Delete pages from PDF
insert-pages Insert pages from PDF to another
document-metadata Get and set document metadata as XML
license License related commands
pages2json Convert PDF Pages into JSON
bmk2json Convert PDF Bookmarks into JSON
tags2json StructTree to JSON
content2json Page Content to JSON
dests2json Extract Named Destivations into JSON
test test commands
test-open-document test open document commands
test-incremental-save test incremental save
test-imposition test imposition
render-pages Render PDF pages into images. Expects the path to a PDF file as input and the path to an output folder where the rendered pages will be saved.
open-save Opens and saves the PDF.
add-tags-repeat Opens and saves the PDF.
create-documents Create new PDF files
redact Redact content using all redaction annotations.
pocess-control test commands
undo-redo undo-redo test command
tag Tag operations on PDF
remove-security Add tags to PDF.
test-edit-page-object-mcid Edit page object mcid.

batch Process a PDF document using a configuration file and execute a sequence of actions.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config TEXT REQUIRED Path to the JSON configuration file defining the batch actions. –progress Print progress information to stdout.

DESCRIPTION: The ‘batch’ command processes a PDF document according to the instructions defined in the provided JSON configuration file.

The configuration file specifies a sequence of actions that are executed in order. Each action produces an individual result, and the entire batch produces a final summary result.

OUTPUT BEHAVIOR: Standard Output (stdout): Displays progress information, warnings, and informational messages during processing.

Standard Error (stderr): Outputs a complete JSON report containing:

  • Results of all executed actions
  • Overall batch result
  • Detailed error information (if any)

The JSON written to stderr is intended for automated processing, logging, or integration with external systems.

EXIT CODES: 0 Processing completed successfully. 1 Processing failed (invalid arguments, file errors, or action failure when –fail-on-action-failure is enabled).

1 Internal or runtime error.

EXAMPLES: Basic usage: pdfix_app batch -i input.pdf -o output.pdf -c config.json

Stop on first failed action: pdfix_app batch -i input.pdf -o output.pdf -c config.json –fail-on-action-failure

Redirect output and JSON result separately: pdfix_app batch -i input.pdf -o output.pdf -c config.json > progress.log 2> result.json

make-accessible Makes PDF Accessible. Converts PDF to fully compliant PDF/UA.If you have image-only PDF, please use OCR command before.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –command-path TEXT Command file path. Default make accessible command will be used if it’s empty. -l, –lang TEXT The language to assign to the PDF document -t, –title TEXT The title to assign to the PDF document

add-tags Add tags to PDF.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config-path TEXT Layout template configuration file path. –preflight Preflight document template before processing –no-sequential-headings Disable sequential headings checks

extract-data Extract PDF data into JSON/XML

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config_path TEXT:FILE Config file path –preflight Preflight document template before processing -f, –format ENUM:{0,1} integer value defining the data file output format (0-JSON, 1-XML) –page-number INT the page number from which to extract data, default -1 extracts from all pages –doc-info extract document general information (metadata, num pages, etc.) –doc-outlines extract document outlines (bookmarks) –doc-acroform extract document forms (AcroForm) –doc-struct-tree extract document structure tree (tags) –page-info extract page general information (number, crop box, rotation) –page-content extract page objects (raw data) –page-map scrape page data (logical content extraction) –page-annots extract page annotstions –text extract page map text elements or content text objects –tables extract page map tables structure –images extract page map image elements or page contnet images –bbox extract element or object bbox –text-style extract text style of text element –text-state extract text state of text object or element –graphic-state extract page object’s graphic state

pdf2table Extracts tables detected in the PDF into CSV files.Output should point to the folder where separate CSV files will be saved.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

pdf2txt Extract text from PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config_path TEXT:FILE Config file path –page INT Page number from which text will be extracted (Default value -1 extract all pages

pdf2image Extract images from PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -w, –page-width INT with of the rendered page in pixels used for scaling the images -f, –format ENUM:{1,2} integer value defining the image output format (1-PNG, 2-JPG) -q, –quality INT:INT in [0 – 100] image quality. For JPG means the compression level otherwise it’s ignored

extract-highlighted-text Extract highlighted text from PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config-path TEXT path to config file

pdf2html Converts PDF to HTML , output is the HTML file created during conversion. All necessary files generated during the conversion are saved in the same folder as the output file.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config-path TEXT Path to config file -w, –page-width INT Page width -a, –append-html TEXT Append HTML code from file –page INT Convert specific page -f, –flags INT Conversion flags –export-js exports document JavaScript into HTML. –text-size retain original text size in created HTML. –text-color page number from which image will be created. –no-external use inline css, js and embeded images and fonts. –no-external-css use inline css instead of the external file. –no-external-js use inline javascript instead of the external file. –no-external-img use embedded based encoded images. –no-external-font use embedded based encoded fonts. –gray-background use gray background and page padding. –no-page-render do not render page. –export-fonts exports embedded TrueType fonts into HTML using CSS3. –preflight Preflight document template before processing –type ENUM:{0,1,2} integer value defining the conversion type (0-Original content layout type, 1-Responsive content layout type, 2-Derivation) –format ENUM:{1,2} integer value defining the image output format (1-PNG, 2-JPG)

pdf2json Extract PDF data into JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config_path TEXT:FILE Config file path –preflight Preflight document template before processing -f, –flags INT Conversion flags

preflight Preflight document template and output the config

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -f, –format ENUM:{0,1} integer value defining the data file output format (0-JSON, 1-XML)

import-data Import form data from JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -j, –json-path TEXT:FILE Path to JSON file -f, –flatten Flatten PDF

acroform2json Extract PDF Form Fields into JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). –widgets include information about the form field annotations – widgets.

json2acroform Import PDF Form Fields from JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -j, –json-path TEXT:FILE Path to JSON file

render-page Render Page

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -f, –format ENUM:{1,2} integer value defining the image output format (1-PNG, 2-JPG) -r, –rotate ENUM:{0,90,180,270} page rotation in degrees –page-number INT page number from which image will be created. -l, –left INT integer value specifying the page left of the clipping region in device units -t, –top INT integer value specifying the page top of the clipping region in device units -w, –width INT integer value specifying the width of the page left clipping region in device units -g, –height INT integer value specifying the height of the page left clipping region in device units -q, –quality INT:INT in [0 – 100] integer value defining the image output quality (0-100) -z, –zoom FLOAT floating point number of zoom level

digital-signature Sign PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -x, –pfx-path TEXT:FILE Path to .pfx file with signature. –pfx-password TEXT Password for .pfx file.

add-comment Add comment to PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

remove-comments Remove comments from PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

flatten Flatten all annotations into the PDF content.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

embedfonts Embeds fonts into PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

watermark Add watermark to PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -m, –image-path TEXT:FILE Path to image file used for watermark -s, –start-page INT First page where the watermark is placed [0]. -e, –end-page INT Last page where the watermark is placed [last page]. –order-top INT:NUMBER Control watermark z-order (0-bottom, [1]-top) –percentage Use percentage values instead of points –h-align ENUM:NUMBER Horizontal alignment ([1]-left, 2-right, 3-justify, 6-center) –v-align ENUM:NUMBER Vertical alignment ([4]-top, 5-bottom, 6-center) –h-value FLOAT:{1,2,3,6} Horizontal image offset [0] –v-value FLOAT:{4,5,6} Vertical image offset [0] –scale FLOAT:NUMBER Image scale [1] –rotation FLOAT:NUMBER Image counter-clockwise rotation in degrees [0] –opacity FLOAT:NUMBER Image opacity [1]

parse-pds-objects Tag operations on PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

create-document Create new PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

create-page Create new page in PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). –after-page INT page number after which the new page will be inserted.

move-page Move one page in document

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -f, –from INT page number of the page to move -t, –to INT new location of the page to move.

delete-pages Delete pages from PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -f, –from INT page number of first page to delete. -t, –to INT page number of the last page to delete.

insert-pages Insert pages from PDF to another

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -s, –src TEXT:FILE Source file -a, –after INT Page number after which pages will be inserted -f, –from INT Page number of first page to insert -t, –to INT Page number of the last page to insert

document-metadata Get and set document metadata as XML

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -x, –xml-path TEXT Path to .xml file with metadata.

license License related commands

OPTIONS: -a, –activate TEXT activate license using the key online or offline if –license-path is set, or request activation if –request-path is set –request create activation request, –license-path should be set to write request to, used only in combination with –activate –license-path TEXT path to a license file -d, –deactivate deactivate license online, for offline deactivation –license-path should be set -u, –update update license online, for offline update –license-path should be set -s, –status print license status -r, –reset reset local license

pages2json Convert PDF Pages into JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). –page-number INT page number, [0] default all pages) –text exports page text

bmk2json Convert PDF Bookmarks into JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

tags2json StructTree to JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

content2json Page Content to JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). –page-number INT page number.

dests2json Extract Named Destivations into JSON

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

test test commands

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -m, –image-path TEXT Path to image file used for watermark

test-open-document test open document commands

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

test-incremental-save test incremental save

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

test-imposition test imposition

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).

render-pages Render PDF pages into images. Expects the path to a PDF file as input and the path to an output folder where the rendered pages will be saved.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -f, –format ENUM:{1,2} integer value defining the image output format (1-PNG, 2-JPG) -r, –rotate ENUM:{0,90,180,270} page rotation in degrees –page-from INT page number from which to render (default page 1) –page-to INT page number to which to render (default -1 last page) -l, –left INT integer value specifying the page left of the clipping region in device units -t, –top INT integer value specifying the page top of the clipping region in device units -w, –width INT integer value specifying the width of the page left clipping region in device units -g, –height INT integer value specifying the height of the page left clipping region in device units -q, –quality INT:INT in [0 – 100] integer value defining the image output quality (0-100) -z, –zoom FLOAT floating point number of zoom level –thread-count UINT maximal number of threads to be used

open-save Opens and saves the PDF.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -c, –config-path TEXT Config file path. -r, –repeat TEXT Repeat.

add-tags-repeat Opens and saves the PDF.

OPTIONS: -c, –config-path TEXT Config file path. -r, –repeat TEXT Repeat. –preflight Preflight document template before processing

create-documents Create new PDF files

POSITIONALS: count UINT Document count thread-count UINT Thread count

OPTIONS: -c, –count UINT Document count -t, –thread-count UINT Thread count

redact Redact content using all redaction annotations.

OPTIONS: -p, –page-number INT page number where redaction mark will be created. -l, –left INT integer value specifying the top of the redaction mark on page -b, –bottom INT integer value specifying the bottom of the redaction mark on page -w, –width INT integer value specifying the width of the redaction mark on page -g, –height INT integer value specifying the height of the redaction mark on page

pocess-control test commands

undo-redo undo-redo test command

tag Tag operations on PDF

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted). -r, –remove
-a, –annotation
-f, –artefact
-g, –heading
-d, –reading-order
-s, –read-struct-tree
-e, –edit-struct-tree
-t, –table-as-figure

remove-security Add tags to PDF.

OPTIONS: –password TEXT Open password

test-edit-page-object-mcid Edit page object mcid.

OPTIONS: -i, –input TEXT Path to the input PDF file to be processed. -o, –output TEXT Path to the output PDF file that will be generated. -p, –password TEXT Password used to open the input PDF (if encrypted).