113 lines
7.8 KiB
Markdown
113 lines
7.8 KiB
Markdown
# File format parity
|
||
|
||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** major (first format matrix; Acrobat's formats from its bundle) · **Target:** Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)
|
||
|
||
Every format Acrobat Pro reads or writes, and PdfCraft's support for it. Acrobat's list comes from
|
||
its bundle's `Info.plist` `CFBundleDocumentTypes` (what it opens) and its public documentation
|
||
(Create PDF and Export PDF). PdfCraft's support comes from the code and
|
||
`parity/acrobat-features.toml`. Summary in [target-app-parity.md](target-app-parity.md); gaps
|
||
in [gaps.md](gaps.md).
|
||
|
||
Legend: **R** read/import, **W** write/export. Fidelity: *high* (tested against an external oracle
|
||
or round-trips exactly), *good* (tested, known limits), *basic* (works, visibly lossy), *none*.
|
||
|
||
**File formats and conversion ≈ 40% ready** (estimated): PDF itself is strong except encrypted
|
||
output interoperability; the conversion formats users reach for most (Word, Excel, PowerPoint,
|
||
Office to PDF, OCR beyond English) are weak or missing. **120–220 h** to parity (within the
|
||
features total).
|
||
|
||
## PDF
|
||
|
||
| Format | Acrobat | PdfCraft | Fidelity | Tests and evidence |
|
||
|---|---|---|---|---|
|
||
| PDF 1.0–1.7, ISO 32000-1 | R W | R W | high for reading and unencrypted writing | 958-file pdf.js corpus open/edit/save; `qpdf --check` on saved outputs; `xtask check` baselines |
|
||
| PDF 2.0 (ISO 32000-2) | R W | R W (2.0-only features ignored but preserved) | good | No UTF-8 strings, `/AF`, DPart, namespaces ([pdf-spec-parity.md](pdf-spec-parity.md)) |
|
||
| Encrypted PDF (standard security R2–R6) | R W | R W | **reading high; writing fails in Acrobat and Reader** | `crates/crypt`, `crates/cos` tests; all 7 corpus encrypted files open; **#774** |
|
||
| Certificate-encrypted PDF (public-key handler) | R W | none (clear message) | none | `core.unsupported-handlers` |
|
||
| Linearized PDF (Fast Web View) | R W | R (as normal PDF); no W | none for W | `core.linearization` planned |
|
||
| Damaged PDF | R (repair) | R (repair, logged) | high | `core.repair-broken-files`, nightly fuzzing |
|
||
| PDF/A-1, 2, 3, 4 | R W, verify | R; verify/convert 2b and 3b (partial) | basic | `optimize.pdfa-*`; veraPDF not yet used as oracle |
|
||
| PDF/X, PDF/UA, PDF/E, PDF/VT | R W, verify | R only | none | [pdf-spec-parity.md](pdf-spec-parity.md) |
|
||
| PDF Portfolio (collection) | R W | R as a PDF with attachments; no portfolio view | none | `organize.portfolio-*` planned |
|
||
| XFA forms (in PDF) | R W (fill) | R, lay out dynamic forms, fill, save datasets (partial) | basic | `form.xfa-*` partial; `crates/xfa` tests |
|
||
|
||
## Data and interchange formats
|
||
|
||
| Format | Acrobat | PdfCraft | Fidelity | Tests and evidence |
|
||
|---|---|---|---|---|
|
||
| FDF (`.fdf`) comments and form data | R W | R W | good | `crates/xfdf`; bugs #807, #809, #819 in comment exchange |
|
||
| XFDF (`.xfdf`, ISO 19444-1) | R W | R W | good | as above |
|
||
| XML form data | R W | R W | good | `form.data-xml-csv-txt` |
|
||
| XDP (`.xdp`, XFA data package) | R | none | none | Acrobat opens `.xdp` as a document type |
|
||
| CSV / tab-delimited form data | W (merge to spreadsheet) | R W; merge to spreadsheet | good | `form.merge-to-spreadsheet` |
|
||
| Comment summary (PDF) | W | W (comments only layout) | basic | `comment.summarize` partial |
|
||
| Measurement CSV | W | W | good | `comment.measure-export` |
|
||
| Compare report (PDF) | W | W | good | `misc.compare-report` |
|
||
| Action Wizard sequences (`.sequ`) | R W | own JSON actions; no `.sequ` | none for `.sequ` | `misc.action-wizard-*` |
|
||
| Security settings (`.acrobatsecuritysettings`), `.apf` profiles, `.secstore` | R W | none | none | out of scope unless asked |
|
||
| Search index (`.pdx`) | R W | none | none | `view.search-index` planned |
|
||
| JDF / MJD job definitions | R | none | none | `print.jdf` planned (P3) |
|
||
| Preflight profiles (`.kfp`) and reports | R W | none | none | gap 9 |
|
||
| PDF Optimizer settings (`.optimize`) | R W | none (dialog settings not saved as presets) | none | `optimize.optimizer-presets` planned |
|
||
|
||
## Certificates and keys
|
||
|
||
| Format | Acrobat | PdfCraft | Fidelity | Tests and evidence |
|
||
|---|---|---|---|---|
|
||
| PKCS #12 digital IDs (`.p12`, `.pfx`) | R W | R W (self-signed IDs) | high | OpenSSL-made fixtures (`crates/sign/tests/data/README.md`) |
|
||
| Certificates (`.cer`, `.der`, `.pem`, `.p7c`, `.p7b`) | R W | R (`.cer/.pem/.der/.p12` trust import); W public certificate | good; `.p7c/.p7b` bundles not read | `sign.trust-import` partial, `sign.export-certificate` |
|
||
| CMS / PKCS #7 signatures, RFC 3161 tokens, OCSP, CRL | R W | R W | high | `pdfsig` and OpenSSL oracles |
|
||
|
||
## Create PDF from
|
||
|
||
| Source | Acrobat | PdfCraft | Fidelity | Tests and evidence |
|
||
|---|---|---|---|---|
|
||
| JPEG, PNG, TIFF (multipage), GIF, BMP, JPEG 2000 | yes | yes (ICC profiles kept; DPI choices) | good | `create.from-images`, `create.from-multipage-tiff` |
|
||
| PCX | yes | no | none | in Acrobat's document types |
|
||
| Plain text | yes | yes | good | `create.from-text` |
|
||
| Clipboard (image or text) | yes | yes | good | `create.from-clipboard` |
|
||
| Screenshot | yes | no | none | `create.from-screenshot` planned |
|
||
| Word, Excel, PowerPoint (and Visio, Publisher on Windows) | yes | no | none | `create.from-office` planned (LibreOffice sidecar) |
|
||
| HTML file, web page URL | yes | no | none | `create.from-html`, `create.from-web-page` planned |
|
||
| RTF | yes | no | none | |
|
||
| PostScript / EPS (Distiller) | yes | no | none | `create.distiller` planned (P3) |
|
||
| Markdown | no | no | none | `create.from-markdown` planned (P2; not an Acrobat feature) |
|
||
| Scanner | yes | no | none | `ocr.scanner-acquire` planned |
|
||
| Several files at once | yes | yes (PDFs, images and text) | good | `create.create-multiple` |
|
||
|
||
## Export PDF to
|
||
|
||
| Target | Acrobat | PdfCraft | Fidelity | Tests and evidence |
|
||
|---|---|---|---|---|
|
||
| Word (`.docx`) | yes, layout-preserving | flowing document: paragraphs, headings, bold/italic, colour, images, tables | **basic** (#773: layout lost, fake borders, duplicated pages) | `create.export-docx` partial |
|
||
| Word 97–2003 (`.doc`) | yes | no | none | |
|
||
| Excel (`.xlsx`), XML Spreadsheet 2003 | yes | no | none | `create.export-xlsx` planned |
|
||
| PowerPoint (`.pptx`) | yes | no | none | `create.export-pptx` planned |
|
||
| RTF | yes | yes | basic | `create.export-rtf` |
|
||
| HTML (single page, multiple pages) | yes | single file with headings, paragraphs, images, tables | basic | `create.export-html` partial |
|
||
| Plain text | yes | yes (reading order) | good (word-F1 0.98 vs `pdftotext`) | `create.export-text`, `xtask text-oracle` |
|
||
| Accessible text (from tags) | yes | no | none | `create.export-accessible-text` planned |
|
||
| PNG, JPEG, TIFF | yes | yes | good | `create.export-png`, `create.export-jpeg-tiff` |
|
||
| JPEG 2000 | yes | no | none | `create.export-jpeg2000` planned |
|
||
| All embedded images | yes | yes | good | `create.export-all-images` |
|
||
| XML 1.0 | yes | no | none | `create.export-xml` planned |
|
||
| SVG | no (dropped by Adobe) | no | none | `create.export-svg` planned |
|
||
| PostScript, EPS | yes | no | none | `create.export-ps`, `create.export-eps` planned |
|
||
|
||
## OCR (scans to searchable PDF)
|
||
|
||
| Capability | Acrobat | PdfCraft | Fidelity |
|
||
|---|---|---|---|
|
||
| Searchable image (invisible text layer) | yes | yes (Tr 3 text fitted to word boxes) | good for English |
|
||
| Editable text and images output | yes | no | none |
|
||
| Languages | dozens (Latin with accents, Cyrillic, Greek, CJK, Arabic, Hebrew, Indic) | Latin without accents only (ocrs models) | **basic** (#744) |
|
||
| Deskew, rotation, despeckle, background and halo removal, descreen | yes | no | none |
|
||
| Camera images (edges, perspective, whiteboard, card) | yes | no | none |
|
||
| MRC (adaptive) compression, PDF/A output of scans | yes | no | none |
|
||
|
||
## Revision history
|
||
|
||
| Date | Change | Summary |
|
||
|---|---|---|
|
||
| 2026-10-10 | major | Created from Acrobat 26.002.21931's `CFBundleDocumentTypes`, Acrobat's public Create/Export documentation, and PdfCraft's code and checklist |
|