Conversion

Conversion

Diese Seite behandelt das Rendern einer PDF in andere Formate und das Konvertieren eines Dokuments hin zu PDF/A-Konformität. Document stellt für jedes Ausgabeformat eine To*()-Methode für das gesamte Dokument bereit; dieselben Methoden existieren auf Page, um eine einzelne Seite zu rendern.


Rendern in andere Dokumentformate

Document.ToHtml(), Document.ToDocx() und Document.ToMarkdown() rendern jede Seite; Page.ToSvg() und Page.ToImage() rendern eine einzelne Seite zu einem eigenständigen SVG-String oder PNG-Bytes. Jede akzeptiert ihre eigenen Optionen — mode auf DocxOptions (‘flow’ fließt den Inhalt neu, ’textbox’ behält die Geometrie jeder Seite bei) und images auf MarkdownExportOptions (‘inline’ bettet Bild-Data-URIs ein, ’external’ schreibt separate Dateien in imageDir).

const doc = Document.OpenFile('in.pdf');
const svg = doc.Pages[0].ToSvg();               // standalone <svg> string
const png = doc.Pages[0].ToImage({ scale: 2 }); // Uint8Array of PNG bytes @144 DPI
const html = doc.ToHtml();                      // standalone semantic HTML, all pages
const md = doc.ToMarkdown();                    // GFM Markdown, all pages
const docx = doc.ToDocx();                      // .docx bytes, reflowed, images in the package
const fixed = doc.ToDocx({ mode: 'textbox' });  // .docx keeping each page's own geometry

ImageOptions (für Page.ToImage()) akzeptiert zudem format, quality, scale, ein explizites width / height und background (‘white’ oder ’transparent’).


Konvertieren hin zu PDF/A

Document.ConvertToPdfA() versucht, ein Dokument hin zu einem PDF/A level (‘b’ oder ‘u’) zu remediieren und validiert es erneut, wobei ein ConversionReport mit applied (die vorgenommenen Remediation-Aktionen), unresolved (Probleme, die nicht behoben werden konnten) und passed zurückgegeben wird. Führen Sie es auf einer Kopie aus — zum Beispiel einer, die mit Document.ExtractPages() erstellt wurde — damit das live arbeitende Dokument niemals durch die Konvertierung verändert wird.

// ExtractPages gives an independent copy; ConvertToPdfA never touches the original.
const copy = doc.ExtractPages(doc.Pages.map((_, i) => i + 1));
const conversion = copy.ConvertToPdfA('2b');

console.log(`applied ${conversion.applied.length} action(s), `
  + `${conversion.unresolved.length} unresolved, `
  + `result: ${conversion.passed ? 'passes' : 'still fails'} PDF/A-2b`);
copy.WriteTo('output-pdfa.pdf');

Weitere Exportformate

Über HTML, Markdown, DOCX, SVG und PNG hinaus exportiert die Bibliothek außerdem TIFF (TiffExportOptions, encodeTiff()) und importiert/exportiert AcroForm-Feldwerte in FDF und XFDF (exportFdfFile(), exportXfdfFile(), importFdfFile(), importXfdfFile()) — nützlich für den Austausch ausgefüllter Formulardaten getrennt vom PDF selbst.


Tipps und bewährte Verfahren

  • Führen Sie Document.ConvertToPdfA() auf einer Kopie aus (zum Beispiel von Document.ExtractPages()), niemals auf dem Live-Dokument, das Sie noch unkonvertiert speichern müssen.
  • Überprüfen Sie ConversionReport.unresolved selbst dann, wenn passed true für ein lockeres Validierungsniveau ist — einige Korrekturmaßnahmen werden erst bei einem strengeren Niveau vollständig wirksam.
  • Verwenden Sie mode: 'textbox' auf DocxOptions, wenn die DOCX-Ausgabe die exakte visuelle Geometrie jeder Seite beibehalten muss; verwenden Sie den Standardmodus 'flow', wenn sie sich wie ein normales Textverarbeitungsdokument neu fließen soll.
  • Übergeben Sie images: 'external' und ein imageDir auf MarkdownExportOptions für große Dokumente, anstatt die standardmäßigen Inline-Data-URIs zu verwenden, um die Markdown-Datei selbst klein zu halten.

Häufige Probleme

ProblemUrsacheLösung
ConvertToPdfA() meldet immer noch passed: falseNicht jedes Problem, das ConversionReport.unresolved auflistet, kann automatisch behoben werden (z.B. fehlende eingebettete Schriftarten oder ein fehlendes /OutputIntent)Beheben Sie die spezifischen unresolved-Regeln manuell, und führen Sie dann ConvertToPdfA() erneut aus
Das Live-Dokument wurde nach einem PDF/A-Konvertierungsversuch unerwartet geändertConvertToPdfA() wurde direkt am Arbeitsdokument anstelle einer Kopie aufgerufenRufen Sie es auf einer Kopie auf, die mit Document.ExtractPages() erstellt wurde
Der Markdown-Export erzeugt eine riesige DateiDer Standard-images: 'inline' bettet jedes Bild als Data-URI einÜbergeben Sie { images: 'external', imageDir: '...' }, um Bilder als separate Dateien zu schreiben
DOCX-Ausgabe verliert das ursprüngliche SeitenlayoutDer Standard-mode: 'flow' formatiert den Inhalt wie ein Textverarbeitungsprogramm neuÜbergeben Sie { mode: 'textbox' }, um die Geometrie jeder Seite beizubehalten

FAQ

In welche Formate kann ein PDF konvertiert werden?

HTML, Markdown und DOCX für das gesamte Dokument (Document.ToHtml() / ToMarkdown() / ToDocx()); SVG und PNG pro Seite (Page.ToSvg() / Page.ToImage()); plus TIFF und FDF/XFDF Formulardaten-Export.

Verändert das Konvertieren zu PDF/A mein Originaldokument?

Nur wenn Sie ConvertToPdfA() direkt darauf aufrufen. Rufen Sie es auf einer Kopie auf – zum Beispiel doc.ExtractPages(doc.Pages.map((_, i) => i + 1)) – um das Originaldokument unverändert zu lassen.

Wie erkenne ich, ob eine PDF/A-Konvertierung tatsächlich erfolgreich war?

Prüfen Sie ConversionReport.passed. applied listet auf, was die Konvertierung korrigiert hat, und unresolved listet auf, was nicht korrigiert werden konnte – prüfen Sie unresolved sogar, wenn passed true ist.

Kann ich nur die ausgefüllten Formularfeldwerte exportieren, ohne das PDF selbst?

Ja — exportFdfFile() und exportXfdfFile() schreiben die aktuellen AcroForm Feldwerte in eine separate FDF- oder XFDF-Datei; importFdfFile() / importXfdfFile() lesen sie zurück in ein Dokument.


API Reference Zusammenfassung

Klasse/MethodeBeschreibung
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Render jede Seite in ein anderes Dokumentformat
Page.ToSvg() / Page.ToImage()Rendern Sie eine einzelne Seite nach SVG oder PNG
DocxOptions / MarkdownExportOptions / ImageOptionsRendering-Optionen pro Format
Document.ConvertToPdfA()Korrigieren Sie ein Dokument bis zu einem PDF/A-Level und validieren Sie es erneut
ConversionReportDas Konvertierungsergebnis: applied, unresolved, passed
TiffExportOptions / encodeTiff()Export nach TIFF
exportFdfFile() / exportXfdfFile() / importFdfFile() / importXfdfFile()Export oder Import von AcroForm-Feldwerten als FDF/XFDF

Siehe auch

 Deutsch