Skip to content

Command line

platefold exports DOC, DOCX, ODT, RTF, XLSX, Markdown, CSV and TSV files or folders to PDF. python -m platefold runs the same command. DOC, ODT and RTF need a compatible LibreOffice or Pandoc already installed, on PATH or in its standard install location (where Plate|Fold looks); no converter is included with Plate|Fold. These formats are converted to a temporary DOCX, then laid out again from their structure. Their original pages are not reproduced. Each visible XLSX worksheet becomes a section and table. CSV and TSV dialects are detected from comma, tab, semicolon or pipe delimiters; quoted delimiters, doubled quotes and multiline fields are preserved. The first row becomes a repeating header unless --no-header is set.

This is the help text from the version this site was built with, generated from the command's own argument parser:

usage: platefold [-h] [-o OUTPUT]
                 [--preset {auto,letter,legal,tabloid,a5,a4,a3,a2,a1,a0,ansi-c,ansi-d,ansi-e,uniform-letter}]
                 [--output-mode {online,print,tiled}]
                 [--margins {full,none,bottom-right}]
                 [--orientation {portrait,landscape}] [--locale LOCALE]
                 [--ui-locale UI_LOCALE] [--page-width PAGE_WIDTH]
                 [--page-height PAGE_HEIGHT] [--inline-fit INLINE_FIT]
                 [--plate-fit PLATE_FIT] [--max-custom-width MAX_CUSTOM_WIDTH]
                 [--caption-px CAPTION_PX] [--tile-overlap TILE_OVERLAP]
                 [--body-size-pt BODY_SIZE_PT] [--margin-edges TOP RIGHT BOTTOM LEFT]
                 [--mermaid-font-px MERMAID_FONT_PX]
                 [--mermaid-wrap-px MERMAID_WRAP_PX] [--theme THEME]
                 [--save-theme NAME] [--version]
                 [--font {apple,arial,calibri,cambria,georgia,gnome,segoe,sora}]
                 [--dpi DPI] [--config CONFIG] [--no-soft-breaks] [--no-header]
                 [--document-language DOCUMENT_LANGUAGE] [--sheets SHEET [SHEET ...]]
                 [--no-bookmarks] [--no-toc] [--clear-cache] [--browser BROWSER]
                 [--quiet] [--json] [--timings] [--list-themes]
                 [input]

Render DOC, DOCX, ODT, RTF, XLSX, Markdown, CSV, or TSV documents to print-quality
PDFs.

positional arguments:
  input                 folder of documents, or one .doc, .docx, .odt, .rtf, .xlsx,
                        .md, .csv, or .tsv file

options:
  -h, --help            show this help message and exit
  -o, --output OUTPUT   output folder (default: <input>/../PDF Export)
  --preset {auto,letter,legal,tabloid,a5,a4,a3,a2,a1,a0,ansi-c,ansi-d,ansi-e,uniform-letter}
                        paper size (auto: existing Letter online layout, local paper
                        for print)
  --output-mode {online,print,tiled}
                        online (default), whole diagrams on fixed paper, or full-size
                        diagram tiles
  --margins {full,none,bottom-right}
  --orientation {portrait,landscape}
  --locale LOCALE       paper suggestion locale, e.g. en-US or de-DE
  --ui-locale UI_LOCALE
                        interface language locale (falls back to English)
  --theme THEME         theme name/path, or 'source' to import each available
                        DOCX/XLSX palette and requested fonts, including after legacy
                        conversion
  --save-theme NAME     with --theme source and one DOCX/XLSX, save its imported theme
                        for reuse
  --version             show program's version number and exit
  --font {apple,arial,calibri,cambria,georgia,gnome,segoe,sora}
                        typeface set
  --dpi DPI             resample images to this DPI (default 300)
  --config CONFIG       settings file: platefold.yml, platefold.yaml or platefold.json
                        (default: look beside input)
  --no-soft-breaks      collapse single newlines
  --no-header           treat every CSV/TSV row as data instead of using a repeating
                        header
  --document-language DOCUMENT_LANGUAGE
                        source document BCP 47 language (independent of interface
                        locale)
  --sheets SHEET [SHEET ...]
                        XLSX sheets by exact name or one-based workbook index: #2 is
                        always the second sheet, name:#2 is always the sheet named #2
                        (default: all visible)
  --no-bookmarks
  --no-toc
  --clear-cache         re-render every diagram instead of using cache
  --browser BROWSER     rendering engine: auto, bundled, system (checked installed
                        browser with bundled fallback), edge, chrome, chromium, brave,
                        or an executable path
  --quiet
  --json                write a versioned JSON result to stdout
  --timings             print a phase-by-phase timing breakdown
  --list-themes         print available themes and font sets, then exit

advanced layout (overrides the preset):
  --page-width PAGE_WIDTH
                        sheet width in mm before orientation is applied
  --page-height PAGE_HEIGHT
                        sheet height in mm before orientation is applied
  --inline-fit INLINE_FIT
                        minimum inline figure scale, greater than 0 through 1
  --plate-fit PLATE_FIT
                        Online: minimum scale on a standard plate, greater than 0
                        through 1
  --max-custom-width MAX_CUSTOM_WIDTH
                        Online: custom plate width cap in mm; 0 disables custom plates
  --caption-px CAPTION_PX
                        vertical space reserved for figure captions in CSS px
  --tile-overlap TILE_OVERLAP
                        Tiled print: mm of the figure repeated where sheets meet; 0
                        butts sheets edge to edge
  --body-size-pt BODY_SIZE_PT
                        body text size in points
  --margin-edges TOP RIGHT BOTTOM LEFT
                        exact margins in mm on every page; overrides --margins and
                        omits headers/footers
  --mermaid-font-px MERMAID_FONT_PX
                        diagram font size in CSS px
  --mermaid-wrap-px MERMAID_WRAP_PX
                        diagram label wrap width in CSS px

Common runs

platefold notes -o pdfs
platefold notes/report.md -o pdfs --theme bristol
platefold notes/report.docx -o pdfs --theme source
platefold notes/archive.doc -o pdfs
platefold notes/open-document.odt -o pdfs
platefold notes/rich-text.rtf -o pdfs
platefold notes/report.docx -o pdfs --theme source --save-theme office-template
platefold data/workbook.xlsx -o pdfs --sheets Summary "Quarter 2"
platefold data/workbook.xlsx -o pdfs --theme source
platefold data/report.csv -o pdfs
platefold data/raw.tsv -o pdfs --no-header
platefold notes -o pdfs --output-mode print --preset a4
platefold diagram.md -o pdfs --output-mode tiled --preset letter --margins bottom-right
platefold notes -o pdfs --browser chrome --font arial
platefold notes -o pdfs --json > result.json
platefold --list-themes --json

--theme source derives an effective palette and requested heading/body fonts independently for each DOCX or XLSX, including the temporary DOCX produced from a legacy document. Conversion can change or lose the original theme details. Inputs without a complete DrawingML theme visibly warn and use the selected settings-file/default fallback. An explicit named --theme selects that named theme instead. --save-theme requires --theme source and exactly one DOCX or XLSX; it creates a complete user theme and refuses name collisions.

--sheets SHEET [SHEET ...] limits an XLSX export to exact sheet names or one-based workbook indexes. The default is every visible worksheet. # followed by a whole number from 1 without leading zeros, such as #2, always selects by position. Any other text is an exact name, including names that begin with #, such as #Summary; a bare number such as 2 selects the sheet named 2 if there is one and otherwise the second sheet. Prefix a selector with name: to make it an exact name whatever it looks like: name:#2 selects the sheet named #2. Excel doesn't allow a colon in a sheet name, so the prefix never clashes with one. Hidden sheets and chart sheets cannot be selected.

Choosing a browser

--browser takes auto, bundled, system, edge, chrome, chromium, brave, or a path to an executable.

  • auto, the default, tries a bundled or cached Chromium, then installed browsers.
  • bundled uses only a bundled or cached Chromium and fails if there isn't one.
  • system tries installed browsers that pass a rendering check first, then falls back to the bundled Chromium.
  • A browser name uses only that browser.

Output

Without --json, progress goes to the terminal: one line per document, then a summary. --quiet drops the per-document lines. --timings adds a breakdown of where the time went.

With --json, stdout carries exactly one JSON object and everything else goes to stderr. The result and exit codes are documented with automation.

--ui-locale selects human-readable command-line messages and falls back to English when Plate|Fold does not ship a matching human translation. When --ui-locale isn't given, PLATEFOLD_UI_LOCALE makes the same choice, for the command line and for the older desktop interface. It is separate from --locale, which only supplies a regional paper default. Neither option sets or translates the source document's language. JSON field names, status values and error codes are stable across interface locales.

Every export writes _export-report.json into the output folder, with or without --json.

For .doc, Plate|Fold uses a detected LibreOffice soffice route. For .odt and .rtf, it can also use Pandoc when that exact installation advertises the input format, DOCX output and --sandbox, then passes a small sandboxed RTF-to-DOCX self-test. Some Pandoc builds advertise the formats but cannot use their DOCX writer while sandboxed; Plate|Fold reports those builds as unsupported. Pandoc is never offered for binary DOC. If no supported route is available, the command exits nonzero, names the converter options and suggests re-saving as DOCX. Successful reports include the converter name, version, input/output formats and containment mode, plus any converter warnings.

Conversion may lose layout, styles, active content and source-theme details before DOCX ingestion; --theme source never promises to reproduce the original legacy document's theme. Pandoc runs with its own sandbox. LibreOffice safe mode and a private profile are not a filesystem or network sandbox; see the security policy before converting untrusted files.

The other entry point

platefold-gui opens the older Tk interface. The newer desktop app is a separate build.