Conversion

Conversion

Cette page couvre le rendu d’un PDF vers d’autres formats et la conversion d’un document vers la conformité PDF/A. Document expose une méthode To*() par format de sortie pour l’ensemble du document; les mêmes méthodes existent sur Page pour rendre une seule page.


Rendu vers d’autres formats de document

Document.ToHtml(), Document.ToDocx() et Document.ToMarkdown() rendent chaque page; Page.ToSvg() et Page.ToImage() rendent une page en une chaîne SVG autonome ou des octets PNG. Chacun accepte ses propres options— mode sur DocxOptions (‘flow’ reflows content, ’textbox’ keeps each page’s own geometry) et images sur MarkdownExportOptions (‘inline’ embeds image data URIs, ’external’ writes separate files into 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 (pour Page.ToImage()) accepte également format, quality, scale, un width / height explicite, et background (‘white’ ou ’transparent’).


Conversion vers PDF/A

Document.ConvertToPdfA() tente de remédier un document vers un PDF/A level (‘b’ ou ‘u’) et le re-valide, renvoyant un ConversionReport avec applied (les actions de remédiation effectuées), unresolved (les problèmes qu’il n’a pas pu corriger), et passed. Exécutez-le sur une copie — par exemple une créée avec Document.ExtractPages() — afin que le document en cours d’utilisation ne soit jamais modifié par la conversion.

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

Autres formats d’exportation

Au-delà de HTML, Markdown, DOCX, SVG et PNG, la bibliothèque exporte également TIFF (TiffExportOptions, encodeTiff()) et importe/exports les valeurs de champ AcroForm en FDF et XFDF (exportFdfFile(), exportXfdfFile(), importFdfFile(), importXfdfFile()) — utile pour échanger les données de formulaire remplies séparément du PDF lui-même.


Conseils et meilleures pratiques

  • Exécutez Document.ConvertToPdfA() sur une copie (par exemple à partir de Document.ExtractPages()), jamais sur le document en direct que vous devez encore enregistrer non converti.
  • Vérifiez ConversionReport.unresolved même lorsque passed est true pour un niveau de validation plus souple — certaines actions de remédiation ne se résolvent complètement qu’à un niveau plus strict.
  • Utilisez mode: 'textbox' sur DocxOptions lorsque la sortie DOCX doit conserver la géométrie visuelle exacte de chaque page; utilisez le mode 'flow' par défaut lorsqu’elle doit se réenrouler comme un document de traitement de texte normal.
  • Fournissez images: 'external' et un imageDir sur MarkdownExportOptions pour les documents volumineux, plutôt que les URI de données en ligne par défaut, afin de garder le fichier Markdown lui-même petit.

Problèmes courants

ProblèmeCauseCorrection
ConvertToPdfA() signale toujours passed: falseTous les problèmes que ConversionReport.unresolved répertorie ne peuvent pas être automatiquement corrigés (p. ex. polices intégrées manquantes ou un /OutputIntent manquant)Appliquez manuellement les règles spécifiques de unresolved, puis relancez ConvertToPdfA()
Le document en direct a été modifié de façon inattendue après une tentative de conversion PDF/AConvertToPdfA() a été appelé directement sur le document de travail au lieu d’une copieAppelez-le sur une copie créée avec Document.ExtractPages()
L’export Markdown produit un seul gros fichierLe images: 'inline' par défaut intègre chaque image sous forme d’URI de donnéesPassez { images: 'external', imageDir: '...' } pour écrire les images en fichiers séparés
La sortie DOCX perd la mise en page originaleLe mode: 'flow' par défaut reformate le contenu comme un traitement de textePassez { mode: 'textbox' } pour conserver la géométrie propre à chaque page

FAQ

Vers quels formats un PDF peut-il être converti?

HTML, Markdown et DOCX pour le document complet (Document.ToHtml() / ToMarkdown() / ToDocx()); SVG et PNG par page (Page.ToSvg() / Page.ToImage()); plus TIFF et export de form-data FDF/XFDF.

La conversion en PDF/A modifie-t-elle mon document original?

Seulement si vous appelez ConvertToPdfA() directement dessus. Appelez-le sur une copie — par exemple doc.ExtractPages(doc.Pages.map((_, i) => i + 1)) — pour garder le document original non converti.

Comment savoir si une conversion PDF/A a réellement réussi?

Vérifiez ConversionReport.passed. applied indique ce que la conversion a corrigé, et unresolved indique ce qu’elle n’a pas pu corriger — inspectez unresolved même lorsque passed est true.

Puis-je exporter uniquement les valeurs des champs de formulaire remplis, sans le PDF lui-même?

Oui — exportFdfFile() et exportXfdfFile() écrivent les valeurs actuelles du champ AcroForm dans un fichier FDF ou XFDF séparé ; importFdfFile() / importXfdfFile() les lisent à nouveau dans un document.


API Reference Résumé

Classe/MéthodeDescription
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Rendre chaque page dans un autre format de document
Page.ToSvg() / Page.ToImage()Rendre une page unique au format SVG ou PNG
DocxOptions / MarkdownExportOptions / ImageOptionsOptions de rendu par format
Document.ConvertToPdfA()Remédier un document à un niveau PDF/A et le revalider
ConversionReportLe résultat de la conversion : applied, unresolved, passed
TiffExportOptions / encodeTiff()Exporter au format TIFF
exportFdfFile() / exportXfdfFile() / importFdfFile() / importXfdfFile()Exporter ou importer les valeurs du champ AcroForm en tant que FDF/XFDF

Voir aussi

 Français