Conversion

Conversion

Αυτή η σελίδα καλύπτει την απόδοση ενός PDF σε άλλες μορφές και τη μετατροπή ενός εγγράφου προς συμμόρφωση με PDF/A. Το Document εκθέτει μία To*() μέθοδο ανά μορφή εξόδου για ολόκληρο το έγγραφο· οι ίδιες μέθοδοι υπάρχουν στο Page για την απόδοση μιας μόνο σελίδας.


Απόδοση σε Άλλες Μορφές Εγγράφων

Document.ToHtml(), Document.ToDocx() και Document.ToMarkdown() αποδίδουν κάθε σελίδα· Page.ToSvg() και Page.ToImage() αποδίδουν μία σελίδα σε μια αυτόνομη συμβολοσειρά SVG ή σε bytes PNG. Κάθε μία δέχεται τις δικές της επιλογές — mode στο DocxOptions (‘flow’ επαναδιατάσσει το περιεχόμενο, ’textbox’ διατηρεί τη γεωμετρία της κάθε σελίδας) και images στο MarkdownExportOptions (‘inline’ ενσωματώνει εικόνες ως data URIs, ’external’ γράφει ξεχωριστά αρχεία στο 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 (για Page.ToImage()) δέχεται επίσης format, quality, scale, ένα ρητό width / height, και background (‘white’ ή ’transparent’).


Μετατροπή Προς PDF/A

Document.ConvertToPdfA() προσπαθεί να διορθώσει ένα έγγραφο προς μια PDF/A level (‘b’ ή ‘u’) και το επαληθεύει ξανά, επιστρέφοντας ένα ConversionReport με applied (τις ενέργειες διόρθωσης που έκανε), unresolved (τα ζητήματα που δεν μπόρεσε να διορθώσει) και passed. Εκτελέστε το σε ένα αντίγραφο — για παράδειγμα ένα που δημιουργήθηκε με Document.ExtractPages() — ώστε το ενεργό, λειτουργικό έγγραφο να μην τροποποιηθεί ποτέ από τη μετατροπή.

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

Άλλες μορφές εξαγωγής

Πέρα από το HTML, Markdown, DOCX, SVG και PNG, η βιβλιοθήκη εξάγει επίσης TIFF (TiffExportOptions, encodeTiff()) και εισάγει/εξάγει τιμές πεδίων AcroForm σε FDF και XFDF (exportFdfFile(), exportXfdfFile(), importFdfFile(), importXfdfFile()) — χρήσιμο για την ανταλλαγή συμπληρωμένων δεδομένων φόρμας ξεχωριστά από το ίδιο το PDF.


Συμβουλές και βέλτιστες πρακτικές

  • Εκτελέστε το Document.ConvertToPdfA() σε ένα αντίγραφο (για παράδειγμα από το Document.ExtractPages()), ποτέ στο ζωντανό έγγραφο που πρέπει ακόμη να αποθηκεύσετε αμετατράπητο.
  • Ελέγξτε το ConversionReport.unresolved ακόμη και όταν το passed είναι true για χαλαρότερο επίπεδο επικύρωσης — ορισμένες ενέργειες αποκατάστασης επιλύονται πλήρως μόνο σε πιο αυστηρό επίπεδο.
  • Χρησιμοποιήστε το mode: 'textbox' στο DocxOptions όταν η έξοδος DOCX πρέπει να διατηρήσει την ακριβή οπτική γεωμετρία κάθε σελίδας· χρησιμοποιήστε την προεπιλεγμένη λειτουργία 'flow' όταν πρέπει να αναδιαταχθεί όπως ένα κανονικό έγγραφο επεξεργασίας κειμένου.
  • Περάστε το images: 'external' και ένα imageDir στο MarkdownExportOptions για μεγάλα έγγραφα, αντί για τις προεπιλεγμένες ενσωματωμένες URI δεδομένων, ώστε να διατηρηθεί το αρχείο Markdown μικρό.

Κοινά προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
ConvertToPdfA() εξακολουθεί να αναφέρει passed: falseΔεν μπορούν όλα τα ζητήματα που καταγράφει το ConversionReport.unresolved να επιλυθούν αυτόματα (π.χ. ελλιπής ενσωματωμένη γραμματοσειρά ή ένα ελλείπον /OutputIntent)Αντιμετωπίστε τους συγκεκριμένους κανόνες του unresolved χειροκίνητα, στη συνέχεια εκτελέστε ξανά το ConvertToPdfA()
Το ενεργό έγγραφο τροποποιήθηκε απροσδόκητα μετά από μια προσπάθεια μετατροπής PDF/AConvertToPdfA() κλήθηκε άμεσα στο ενεργό έγγραφο αντί για αντίγραφοΚαλέστε το σε ένα αντίγραφο που δημιουργήθηκε με Document.ExtractPages()
Η εξαγωγή σε Markdown παράγει ένα τεράστιο αρχείοΤο προεπιλεγμένο images: 'inline' ενσωματώνει κάθε εικόνα ως data URIΠεράστε το { images: 'external', imageDir: '...' } για να γράψετε τις εικόνες ως ξεχωριστά αρχεία
Η έξοδος DOCX χάνει τη αρχική διάταξη της σελίδαςΤο προεπιλεγμένο mode: 'flow' αναδιατάσσει το περιεχόμενο όπως ένας επεξεργαστής κειμένουΠεράστε το { mode: 'textbox' } για να διατηρήσετε τη γεωμετρία κάθε σελίδας

FAQ

Σε ποιες μορφές μπορεί να μετατραπεί ένα PDF;

HTML, Markdown και DOCX για ολόκληρο το έγγραφο (Document.ToHtml() / ToMarkdown() / ToDocx()); SVG και PNG ανά σελίδα (Page.ToSvg() / Page.ToImage()); καθώς και εξαγωγή δεδομένων φόρμας σε TIFF και FDF/XFDF.

Η μετατροπή σε PDF/A τροποποιεί το αρχικό μου έγγραφο;

Μόνο αν καλέσετε το ConvertToPdfA() απευθείας σε αυτό. Καλέστε το σε ένα αντίγραφο — για παράδειγμα doc.ExtractPages(doc.Pages.map((_, i) => i + 1)) — ώστε το αρχικό έγγραφο να παραμείνει αμετάβλητο.

Πώς ξέρω αν μια μετατροπή PDF/A πέτυχε πραγματικά;

Ελέγξτε το ConversionReport.passed. Το applied καταγράφει τι διόρθωσε η μετατροπή, και το unresolved καταγράφει τι δεν μπόρεσε — ελέγξτε το unresolved ακόμη και όταν το passed είναι true.

Μπορώ να εξάγω μόνο τις τιμές των συμπληρωμένων πεδίων φόρμας, χωρίς το ίδιο το PDF;

Ναι — exportFdfFile() και exportXfdfFile() γράφουν τις τρέχουσες τιμές του πεδίου AcroForm σε ξεχωριστό αρχείο FDF ή XFDF; importFdfFile() / importXfdfFile() τα διαβάζουν ξανά σε ένα έγγραφο.


API Reference Περίληψη

Κλάση/ΜέθοδοςΠεριγραφή
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Απόδοση κάθε σελίδας σε άλλη μορφή εγγράφου
Page.ToSvg() / Page.ToImage()Απόδοση μιας μόνο σελίδας σε SVG ή PNG
DocxOptions / MarkdownExportOptions / ImageOptionsΕπιλογές απόδοσης ανά μορφή
Document.ConvertToPdfA()Διορθώστε ένα έγγραφο προς επίπεδο PDF/A και επαληθεύστε το ξανά
ConversionReportΤο αποτέλεσμα της μετατροπής: applied, unresolved, passed
TiffExportOptions / encodeTiff()Εξαγωγή σε TIFF
exportFdfFile() / exportXfdfFile() / importFdfFile() / importXfdfFile()Εξαγωγή ή εισαγωγή τιμών πεδίου AcroForm ως FDF/XFDF

Δείτε επίσης

 Ελληνικά