Learning in public — this documentation is written in the open and updated as the engine moves.
paged.Paged Docs
Plugins

paged.publish — IDML and PDF

The format plugins — IDML import and export that round-trips InDesign packages byte for byte where nothing changed, and PDF opened as an editable native document.

Tier: IntermediateIntermediateIIexplanationDraft

In short paged.publish is how foreign formats enter and leave paged. Its IDML importer and exporter carry InDesign packages in and out, and an unchanged package comes back identical to the byte. Its PDF plugin turns a PDF into a native document: pages, vectors with their colours mapped to swatches, images, and (in development) text rebuilt into editable paragraphs.

What it does

  • IDML import through the engine's native-document door, and IDML export, as typed commands scripts can call.
  • A corpus sweep that checks every package in the test corpus survives a round trip unchanged.
  • PDF reading with PDFium: vectors and colours become native shapes and swatches, and images decode whatever their filter chain.
  • In development: opening a PDF in the editor end to end, and rebuilding its positioned glyphs into paragraphs of styled runs for editing.

How it's built

The idml-import and idml-export crates and the pdf-import crate, plus two TS bundles (@paged-media/publish, @paged-media/pdf).

Capability state

● shipped & verified · ○ shipped, re-test pending · ◍ shipped, untested · ◐ partial · ✗ failing · · planned

Plugin · publish (IDML/PDF interchange) 6 features · 50% green

FeatureShellPublish
Corpus byte-identity sweep — 99/99 packages identical, and what it does NOT measure
plugin-publish.byte-identity-sweep
◍
IDML interchange adapter (idml-import + idml-export crates, re-homed to plugin-publish)
plugin-publish.idml-adapter-crates
●
.idml exporter — the outbound half of the bundle (media.paged.publish.exporter.idml)
plugin-publish.idml-exporter
◍◍
.idml importer via host.nativeDocument (@paged-media/publish bundle)
plugin-publish.idml-importer
●
Save-path defect class — nine defects between a parsed document and its bytes
plugin-publish.save-back-defects
◍
IDML import and export as typed commands
plugin-publish.typed-commands
●

● shipped & verified · ○ shipped, re-test pending · ◍ shipped, untested · ◐ partial · ✗ failing · · planned

Plugin · pdf 7 features · 60% green

FeaturePDF
Editable text reconstruction — positioned glyphs → paragraphs of styled runs
plugin-pdf.editable-text
◐
Editable vectors + PDF colours mapped to document swatches
plugin-pdf.editable-vector
●
Non-JPEG image import — PDFium bitmap decode for every filter chain
plugin-pdf.image-filters
◍
crates/pdf-import writes the native `.paged` OCF the engine load path expects
plugin-pdf.native-ocf-writer
●
Open/read PDF files in the editor (.pdf importer → native document)
plugin-pdf.pdf-import
◐
PDFium is the reader engine (pdf.js dropped)
plugin-pdf.pdfium-reader
◍
PDF import as a typed command
plugin-pdf.typed-commands
●

Recent activity

On this page