Conversion

Conversion

Den här sidan behandlar rendering av en PDF till andra format och konvertering av ett dokument mot PDF/A efterlevnad. Document exponerar en To*() metod per utdataformat för hela dokumentet; samma metoder finns på Page för att rendera en enskild sida.


Rendering till andra dokumentformat

Document.ToHtml(), Document.ToDocx() och Document.ToMarkdown() renderar varje sida; Page.ToSvg() och Page.ToImage() renderar en sida till en fristående SVG-sträng eller PNG-bytes. Var och en accepterar sina egna alternativ — mode på DocxOptions (‘flow’ omflödar innehåll, ’textbox’ behåller varje sidas egen geometri) och images på MarkdownExportOptions (‘inline’ bäddar in bild-data-URI:er, ’external’ skriver separata filer till 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()) accepterar även format, quality, scale, en explicit width / height, och background (‘white’ eller ’transparent’).


Konvertering mot PDF/A

Document.ConvertToPdfA() försöker åtgärda ett dokument mot en PDF/A level (‘b’ eller ‘u’) och validerar det på nytt, och returnerar ett ConversionReport med applied (de åtgärdssteg den utförde), unresolved (problem den inte kunde lösa) och passed. Kör den på en kopia — till exempel en som skapats med Document.ExtractPages() — så att det levande, fungerande dokumentet aldrig ändras av konverteringen.

// 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');

Andra exportformat

Utöver HTML, Markdown, DOCX, SVG och PNG exporterar biblioteket också TIFF (TiffExportOptions, encodeTiff()) och importerar/exporterar AcroForm fältvärden i FDF och XFDF (exportFdfFile(), exportXfdfFile(), importFdfFile(), importXfdfFile()) — användbart för att utbyta ifyllda formulärdata separat från PDF-filen själv.


Tips och bästa praxis

  • Kör Document.ConvertToPdfA() på en kopia (till exempel från Document.ExtractPages()), aldrig på live-dokumentet som du fortfarande behöver spara okonverterat.
  • Kontrollera ConversionReport.unresolved även när passed är true för en lösare valideringsnivå — vissa åtgärder för korrigering blir först helt lösta på en striktare nivå.
  • Använd mode: 'textbox' på DocxOptions när DOCX-utdata måste behålla varje sidas exakta visuella geometri; använd standardläget 'flow' när den ska flöda om som ett vanligt ordbehandlingsdokument.
  • Skicka images: 'external' och en imageDir på MarkdownExportOptions för stora dokument, snarare än standard inline data URIs, för att hålla Markdown-filen själv liten.

Vanliga problem

ProblemOrsakÅtgärd
ConvertToPdfA() rapporterar fortfarande passed: falseInte alla problemlistor för ConversionReport.unresolved kan automatiskt åtgärdas (t.ex. saknade inbäddade typsnitt eller en saknad /OutputIntent)Hantera de specifika unresolved-reglerna manuellt, kör sedan om ConvertToPdfA()
Live-dokumentet ändrades oväntat efter ett PDF/A konverteringsförsökConvertToPdfA() anropades direkt på arbetsdokumentet istället för en kopiaAnropa den på en kopia gjord med Document.ExtractPages()
Markdown-exporten skapar en enda stor filStandard-images: 'inline' bäddar in varje bild som en data-URISkicka { images: 'external', imageDir: '...' } för att skriva bilder som separata filer
DOCX-utdata förlorar den ursprungliga sidlayoutenStandard-mode: 'flow' flödar om innehållet som en ordbehandlareSkicka { mode: 'textbox' } för att behålla varje sidas egen geometri

FAQ

Vilka format kan en PDF konverteras till?

HTML, Markdown och DOCX för hela dokumentet (Document.ToHtml() / ToMarkdown() / ToDocx()); SVG och PNG per sida (Page.ToSvg() / Page.ToImage()); samt TIFF och FDF/XFDF formulärdataexport.

Modifierar konvertering till PDF/A mitt originaldokument?

Endast om du anropar ConvertToPdfA() på den direkt. Anropa den på en kopia — till exempel doc.ExtractPages(doc.Pages.map((_, i) => i + 1)) — för att behålla originaldokumentet oförändrat.

Hur vet jag om en PDF/A-konvertering faktiskt lyckades?

Kontrollera ConversionReport.passed. applied listar vad konverteringen fixade, och unresolved listar vad den inte kunde — inspektera unresolved även när passed är true.

Kan jag exportera bara de ifyllda formulärfältsvärdena, utan själva PDF-filen?

Ja — exportFdfFile() och exportXfdfFile() skriver de aktuella AcroForm fältvärdena till en separat FDF- eller XFDF-fil; importFdfFile() / importXfdfFile() läser tillbaka dem i ett dokument.


API Reference Sammanfattning

Klass/MetodBeskrivning
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Rendera varje sida till ett annat dokumentformat
Page.ToSvg() / Page.ToImage()Rendera en enskild sida till SVG eller PNG
DocxOptions / MarkdownExportOptions / ImageOptionsRenderingsalternativ per format
Document.ConvertToPdfA()Remediate ett dokument mot en PDF/A-nivå och validera på nytt
ConversionReportKonverteringsresultatet: applied, unresolved, passed
TiffExportOptions / encodeTiff()Exportera till TIFF
exportFdfFile() / exportXfdfFile() / importFdfFile() / importXfdfFile()Exportera eller importera AcroForm fältvärden som FDF/XFDF

Se även

 Svenska