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.bundleduses only a bundled or cached Chromium and fails if there isn't one.systemtries 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.