Start a document workflow
Jetformat Help is a task directory for converting, reading, and editing documents with the local CLI. Choose a guide for the file format and the output you need.
- Install Jetformat, then validate the source file with
jetformat validate. - Read the source with a free inspection command. Sign in before a write that uses credits.
- Write a separate output and check it with
pdf info, text extraction, or a page preview before sharing.
The CLI reference lists syntax and flags; the guides below explain one task at a time. For example, converting 12 output pages uses 12 credits; rendering 3 preview pages adds 3 credits. See billing units and plans.
Getting started
- What is Jetformat?Jetformat is a closed-source CLI that converts DOCX, XLSX, and PPTX to PDF on your machine, rebuilds DOCX from PDF, and edits Office files. Formats, limits, and why agents use it.
- Install the Jetformat CLIInstall Jetformat with Homebrew, npm, or a direct download, put it on PATH, run a first conversion, and connect a coding agent. No account needed to install.
Agent workflows
- Add the Claude pluginInstall the Jetformat plugin in Claude Code so Claude calls the local CLI for Office and PDF work instead of parsing files.
- Add the GPT SkillInstall the Jetformat Skill so GPT or Codex calls the local CLI for Office and PDF work instead of parsing files, and how the model should report results.
- Use Jetformat with DeepSeek HarnessRegister Jetformat as DeepSeek Harness tools that spawn the local CLI for to-pdf, text, validate, and pdf verbs. No MCP server involved.
Commands
- Convert a Word document to PDFRun jetformat word to-pdf on a DOCX, check the page count with pdf info, and know which inputs and fonts are supported.
- Convert an Excel workbook to PDFRun jetformat excel to-pdf for the visible worksheets of an XLSX, understand hidden sheets and page counts, and read or write cells.
- Convert PowerPoint to PDF and preview slidesRun jetformat ppt to-pdf on a PPTX, render a slide as PNG with pdf render, and handle fonts and unsupported inputs.
- Set up HTML to PDF rendering (beta)Render a local HTML file, a directory, or a URL to PDF with jetformat html to-pdf, wait for JavaScript, set page size, and point the CLI at the renderer service.
- Choose a PDF command and verify its outputUse jetformat pdf info, merge, extract, split, fill, encrypt, render, and to-word on local PDFs. Which ones are free and which use credits.
Word documents
- Insert an image into a Word paragraphInsert an image into a Word paragraph with Jetformat. Use an existing DOCX and a local PNG or JPEG.
- Append a paragraph to a Word documentAppend a paragraph to a Word document with Jetformat. This appends text to the end of an existing document.
- Append a table to a Word documentAppend a table to a Word document with Jetformat. Each --row supplies comma-separated cells.
- Add a bookmark to a Word paragraphAdd a bookmark to a Word paragraph with Jetformat. A bookmark gives a paragraph a stable name for navigation.
- List bookmarks in a Word documentList bookmarks in a Word document with Jetformat. Read bookmark names before referring to them in an automated workflow.
- Add a review comment to a Word documentAdd a review comment to a Word document with Jetformat. Attach review text to a 1-based paragraph and supply an author.
- Read review comments from a Word documentRead review comments from a Word document with Jetformat. Use this read operation to collect review feedback before editing.
- Add an endnote to a Word documentAdd an endnote to a Word document with Jetformat. An endnote attaches supporting text to a paragraph and belongs to the document endnote collection.
- Read endnotes from a Word documentRead endnotes from a Word document with Jetformat. The command lists body endnotes and excludes separator records.
- Extract embedded images from a Word documentExtract embedded images from a Word document with Jetformat. Extract the embedded picture assets when you need originals.
- Fill legacy Word form fields by nameFill legacy Word form fields by name with Jetformat. Use this for legacy form fields, after listing their exact names with word form-fields.
- Add a footnote to a Word paragraphAdd a footnote to a Word paragraph with Jetformat. Choose the current 1-based paragraph number and supply the note text.
- Read footnotes from a Word documentRead footnotes from a Word document with Jetformat. This lists body footnotes while excluding separator records.
- Find legacy form field names in WordFind legacy form field names in Word with Jetformat. Inspect the field inventory before building --set arguments for word fill-fields.
- Add header text to a Word documentAdd header text to a Word document with Jetformat. The command appends a header part.
- Read Word header and footer textRead Word header and footer text with Jetformat. Headers and footers can contain information outside the main body.
- Append formatted HTML text to a Word paragraphAppend formatted HTML text to a Word paragraph with Jetformat. This command supports a short formatted run such as bold or italic text.
- Add a hyperlink to a Word paragraphAdd a hyperlink to a Word paragraph with Jetformat. Supply a full destination URL and the paragraph to receive the link.
- Inspect the structure of a Word documentInspect the structure of a Word document with Jetformat. Inspect before choosing an edit strategy.
- Fill Word MERGEFIELD valuesFill Word MERGEFIELD values with Jetformat. Use mail-merge for Word MERGEFIELD codes.
- Merge Word documents in a chosen orderMerge Word documents in a chosen order with Jetformat. The input argument order determines the document sequence.
- Apply bullets or numbering to a Word paragraphApply bullets or numbering to a Word paragraph with Jetformat. Apply a list style to a 1-based paragraph in an existing DOCX.
- Set the title and author of a Word documentSet the title and author of a Word document with Jetformat. Core properties are document metadata, separate from the visible title paragraph.
- Remove a Word comment by IDRemove a Word comment by ID with Jetformat. List comments first and use the reported comment ID.
- Delete a paragraph from a Word documentDelete a paragraph from a Word document with Jetformat. Paragraph positions are 1-based and change after edits.
- Split a Word document at section breaksSplit a Word document at section breaks with Jetformat. Word split follows section breaks, not rendered page boundaries.
- Apply a Word style by its IDApply a Word style by its ID with Jetformat. List styles first and use the internal ID, such as Heading1.
- List style IDs in a Word documentList style IDs in a Word document with Jetformat. Read available styles before applying one to a paragraph.
- Extract tables from a Word documentExtract tables from a Word document with Jetformat. Use this when you need table data rather than all document text.
- Fill Word content controls with valuesFill Word content controls with values with Jetformat. Template filling matches content-control Tag or Alias values.
- Convert a DOCX file to PDFConvert a DOCX file to PDF with Jetformat. Convert an existing DOCX locally and supply the fonts used by the document.
- Insert a table of contents into WordInsert a table of contents into Word with Jetformat. The table of contents uses heading styles.
- Add a text watermark to a Word documentAdd a text watermark to a Word document with Jetformat. Use a watermark to label a document as draft or confidential.
Excel workbooks
- Create a named range in ExcelCreate a named range in Excel with Jetformat. Use an explicit worksheet reference for the new name.
- Append a row to an Excel worksheetAppend a row to an Excel worksheet with Jetformat. This adds a row at the end of a worksheet.
- Add an empty worksheet to ExcelAdd an empty worksheet to Excel with Jetformat. Supply a new worksheet name that is distinct from existing sheet names.
- Change an Excel column widthChange an Excel column width with Jetformat. Width is measured in character units, not pixels.
- Add a comment to an Excel cellAdd a comment to an Excel cell with Jetformat. Attach feedback to an exact sheet and cell address.
- Read comments from an Excel worksheetRead comments from an Excel worksheet with Jetformat. Pass --sheet to focus on one sheet, or omit it to read comments from visible worksheets.
- Copy a worksheet inside an Excel workbookCopy a worksheet inside an Excel workbook with Jetformat. Copy a visible worksheet and give the copy a new name.
- Extract embedded images from ExcelExtract embedded images from Excel with Jetformat. This extracts workbook picture assets.
- Add an AutoFilter range to ExcelAdd an AutoFilter range to Excel with Jetformat. An AutoFilter marks a range for filtering in a spreadsheet viewer.
- Freeze the first row or column in ExcelFreeze the first row or column in Excel with Jetformat. Choose --row, --col, or both.
- Read an Excel cell value and formulaRead an Excel cell value and formula with Jetformat. Use the exact worksheet name and a cell address such as B12.
- Set an Excel worksheet header and footerSet an Excel worksheet header and footer with Jetformat. This command reads or writes centered header and footer text.
- Hide a column in an Excel worksheetHide a column in an Excel worksheet with Jetformat. Hiding changes display rather than deleting cell data.
- Hide a row in an Excel worksheetHide a row in an Excel worksheet with Jetformat. Use a 1-based row number.
- Add a hyperlink to an Excel cellAdd a hyperlink to an Excel cell with Jetformat. Supply a cell address and full URL.
- Insert a blank row before an Excel rowInsert a blank row before an Excel row with Jetformat. The row number is 1-based and refers to the existing row that should move down.
- Inspect Excel sheets, ranges, and formulasInspect Excel sheets, ranges, and formulas with Jetformat. Use structural inspection before selecting a worksheet or editing cells.
- Merge visible sheets from Excel workbooksMerge visible sheets from Excel workbooks with Jetformat. Inputs are processed in argument order.
- Merge a range of Excel cellsMerge a range of Excel cells with Jetformat. Select a rectangular range such as A1:B1.
- List named ranges in an Excel workbookList named ranges in an Excel workbook with Jetformat. Named ranges make formulas readable but can point somewhere unexpected after workbook edits.
- Set an Excel worksheet print areaSet an Excel worksheet print area with Jetformat. Choose the cell range intended for printing.
- Protect Excel workbook structureProtect Excel workbook structure with Jetformat. Workbook protection restricts structural changes in supporting viewers.
- Protect an Excel worksheetProtect an Excel worksheet with Jetformat. Select the worksheet to protect.
- Recalculate cached Excel formula valuesRecalculate cached Excel formula values with Jetformat. Workbooks written by libraries may lack formula caches, leaving formula cells blank during conversion.
- Delete an Excel column and shift cells leftDelete an Excel column and shift cells left with Jetformat. This removes the named column and changes the positions of following columns.
- Delete a named range from ExcelDelete a named range from Excel with Jetformat. Use the exact name reported by excel names.
- Delete a visible Excel worksheetDelete a visible Excel worksheet with Jetformat. Confirm the sheet name before writing a new workbook.
- Rename a visible Excel worksheetRename a visible Excel worksheet with Jetformat. Use the current sheet name and a distinct replacement.
- Write Excel cell values and formulasWrite Excel cell values and formulas with Jetformat. Repeat --set and --set-formula to update multiple cells in one invocation.
- Sort an Excel worksheet by a columnSort an Excel worksheet by a column with Jetformat. Choose the sheet, sort column, and direction explicitly.
- Split Excel into one workbook per visible sheetSplit Excel into one workbook per visible sheet with Jetformat. Each visible worksheet becomes a separate workbook.
- Format an Excel range as a tableFormat an Excel range as a table with Jetformat. The range needs a header and at least one data row.
- Convert an XLSX workbook to PDFConvert an XLSX workbook to PDF with Jetformat. Visible worksheets are converted in workbook order into one PDF.
- Unhide an Excel columnUnhide an Excel column with Jetformat. Choose the column letter and worksheet name.
- Unhide an Excel rowUnhide an Excel row with Jetformat. Choose the existing 1-based row number.
- Remove Excel workbook structure protectionRemove Excel workbook structure protection with Jetformat. This removes workbook protection.
- Add an Excel drop-down validation listAdd an Excel drop-down validation list with Jetformat. Provide a range and a comma-separated set of allowed choices.
PowerPoint presentations
- Insert an image on a PowerPoint slideInsert an image on a PowerPoint slide with Jetformat. The image is placed at the top-left of the chosen slide.
- Append an empty PowerPoint slideAppend an empty PowerPoint slide with Jetformat. This adds a slide to an existing presentation.
- Add an empty table to a PowerPoint slideAdd an empty table to a PowerPoint slide with Jetformat. The table begins empty.
- Add a text box to a PowerPoint slideAdd a text box to a PowerPoint slide with Jetformat. New text is placed at the top-left.
- Duplicate a PowerPoint slide at the endDuplicate a PowerPoint slide at the end with Jetformat. Choose the 1-based source slide number.
- Extract embedded images from PowerPointExtract embedded images from PowerPoint with Jetformat. This retrieves picture assets from the PPTX package.
- Inspect PowerPoint slides and shapesInspect PowerPoint slides and shapes with Jetformat. Structural inspection reports slide, text-box, table, image, and chart counts.
- List PowerPoint slide layout namesList PowerPoint slide layout names with Jetformat. Read the available layout names in the source presentation.
- Merge PowerPoint decks in a chosen orderMerge PowerPoint decks in a chosen order with Jetformat. Input order sets the sequence of source decks.
- Extract PowerPoint speaker notesExtract PowerPoint speaker notes with Jetformat. Read speaker notes separately when preparing a script or reviewing a deck.
- Delete a PowerPoint slideDelete a PowerPoint slide with Jetformat. The --page argument is a 1-based slide number.
- Move a PowerPoint slide to a new positionMove a PowerPoint slide to a new position with Jetformat. Both source and destination positions are 1-based.
- Set speaker notes for a PowerPoint slideSet speaker notes for a PowerPoint slide with Jetformat. Supply the 1-based slide number and the complete note text you want to store.
- Read PowerPoint slide dimensionsRead PowerPoint slide dimensions with Jetformat. The command reports slide size in EMUs, the Office drawing coordinate unit.
- Split PowerPoint into one file per slideSplit PowerPoint into one file per slide with Jetformat. Each output presentation contains one source slide.
- Convert a PowerPoint presentation to PDFConvert a PowerPoint presentation to PDF with Jetformat. Each slide becomes a PDF page.
PDF documents
- Add a text form field to a PDFAdd a text form field to a PDF with Jetformat. Create a new named field on a 1-based page.
- Add a rectangle annotation to a PDFAdd a rectangle annotation to a PDF with Jetformat. Choose a page and rectangle coordinates.
- Embed a file in a PDF attachment catalogEmbed a file in a PDF attachment catalog with Jetformat. The attachment is stored in the PDF catalog.
- List files attached to a PDFList files attached to a PDF with Jetformat. Check attachments when reviewing a document package.
- Draw a circle annotation on a PDF pageDraw a circle annotation on a PDF page with Jetformat. Specify the annotation rectangle on a 1-based page.
- Crop PDF pages to a bounding boxCrop PDF pages to a bounding box with Jetformat. The coordinates define the MediaBox for every page.
- Decrypt a PDF using its passwordDecrypt a PDF using its password with Jetformat. Supply a password you are authorized to use and save an unlocked copy for subsequent operations.
- Protect a PDF with a user passwordProtect a PDF with a user password with Jetformat. Write a separate encrypted output and store the password through your usual secure process.
- Extract a contiguous PDF page rangeExtract a contiguous PDF page range with Jetformat. Choose one contiguous range such as 2-5, 1-last, or all.
- Extract embedded images from a PDFExtract embedded images from a PDF with Jetformat. This writes embedded page images as PNG.
- List PDF form field names as JSONList PDF form field names as JSON with Jetformat. Read the field inventory before creating the data for pdf fill.
- Fill PDF form fields from a JSON fileFill PDF form fields from a JSON file with Jetformat. The JSON input is a name/value array.
- Flatten PDF form fields into page contentFlatten PDF form fields into page content with Jetformat. Flatten after filling and reviewing the form.
- Mirror PDF pages horizontally or verticallyMirror PDF pages horizontally or vertically with Jetformat. Flipping mirrors every page; rotation turns pages without mirroring their content.
- List fonts used in a PDFList fonts used in a PDF with Jetformat. Inspect font usage when a rendered result has missing glyphs or unexpected text appearance.
- Convert PDF pages to grayscaleConvert PDF pages to grayscale with Jetformat. The conversion applies across the document.
- Highlight a rectangular area in a PDFHighlight a rectangular area in a PDF with Jetformat. The command adds a yellow rectangle at explicit coordinates.
- Read PDF page count and encryption statusRead PDF page count and encryption status with Jetformat. Use pdf info after conversion to learn the actual page count, PDF version, encryption state, and first-page dimensions.
- Add an ink-path annotation to a PDFAdd an ink-path annotation to a PDF with Jetformat. Provide a sequence of coordinate pairs for a path on a chosen page.
- Append another PDF to an existing PDFAppend another PDF to an existing PDF with Jetformat. The insert command appends every page of --file.
- Draw a line annotation on a PDF pageDraw a line annotation on a PDF page with Jetformat. Set two endpoints on a 1-based page.
- Merge PDF files in argument orderMerge PDF files in argument order with Jetformat. List PDFs in the order recipients should read them.
- Set PDF title and author metadataSet PDF title and author metadata with Jetformat. PDF metadata is separate from text drawn on the pages.
- Optimize a PDF file for storageOptimize a PDF file for storage with Jetformat. Optimization merges duplicate objects, compresses streams, and subsets fonts.
- Read PDF outline bookmarksRead PDF outline bookmarks with Jetformat. Outlines are the navigation bookmarks stored in the PDF, not an inferred list of headings from the page text..
- Rewrite a PDF for an archival PDF/A profileRewrite a PDF for an archival PDF/A profile with Jetformat. Select an explicit profile such as 1b.
- Write PDF/UA metadata to a PDFWrite PDF/UA metadata to a PDF with Jetformat. This command writes mechanical PDF/UA-1 metadata.
- Pin a file attachment to a PDF pagePin a file attachment to a PDF page with Jetformat. A pinned attachment is a page annotation, different from embedding a file only in the catalog.
- Redact PDF text with a regular expressionRedact PDF text with a regular expression with Jetformat. Each --term is a regular expression, not necessarily a literal string.
- Delete one page from a PDFDelete one page from a PDF with Jetformat. Use a 1-based page number; at least one page must remain.
- Render PDF pages as PNG or JPEGRender PDF pages as PNG or JPEG with Jetformat. Render selected pages for visual review.
- Rotate PDF pages by 90-degree incrementsRotate PDF pages by 90-degree increments with Jetformat. The operation rotates every page by a multiple of 90 degrees.
- Remove active actions from a PDFRemove active actions from a PDF with Jetformat. Sanitize removes JavaScript, URI, Launch, and similar actions.
- Apply a certificate signature to a PDFApply a certificate signature to a PDF with Jetformat. Supply a PEM certificate and RSA private key.
- Split a PDF into one file per pageSplit a PDF into one file per page with Jetformat. Each output file contains one page.
- Stamp text on a PDF pageStamp text on a PDF page with Jetformat. A stamp adds a visible label such as DRAFT.
- Extract detected PDF tables as dataExtract detected PDF tables as data with Jetformat. Table detection is heuristic and reads an existing text layer.
- Add a document timestamp through a TSAAdd a document timestamp through a TSA with Jetformat. A timestamp authority is a network dependency, so this step differs from a purely local edit.
- Convert a PDF text layer to editable WordConvert a PDF text layer to editable Word with Jetformat. The to-docx command, also available as to-word, rebuilds editable DOCX content from the PDF text layer.
HTML to PDF
Validation and utilities
- Inspect a TrueType or OpenType fontInspect a TrueType or OpenType font with Jetformat. Read font summary, table information, and character mappings when diagnosing missing glyphs.
- Normalize a font through a read-write round tripNormalize a font through a read-write round trip with Jetformat. The command parses and serializes an existing font.
- Subset a font to selected charactersSubset a font to selected characters with Jetformat. Choose runes when you know the text that must be rendered.
- Validate a TrueType or OpenType fontValidate a TrueType or OpenType font with Jetformat. Validate the file before using it in a conversion environment.
- Convert an EMF vector image to PNGConvert an EMF vector image to PNG with Jetformat. Render a standalone EMF asset when a workflow needs a bitmap preview.
- Read XMP metadata from a fileRead XMP metadata from a file with Jetformat. Read a standalone XMP sidecar or embedded XMP packet.
Office capabilities
Billing
Troubleshooting
- Fix fonts and layout differencesWhen a Jetformat PDF looks different from the source, install or pass the missing fonts with --font-dir, then render pages and compare.
- Supported and unsupported filesWhich Office, PDF, font, EMF, and XMP files Jetformat can process, and what is out of scope such as .doc, macros, OCR, and password-protected PDFs.
Security
- Where do my files go?Office and standard PDF operations run locally. Learn what billing and telemetry receive, and how the HTML renderer and timestamp service differ.
- What the usage ping sendsJetformat sends one anonymous ping per command with the command name, format, file type, duration, result, version, and OS. Never a file name or contents. One switch turns it off.