Aspose.PDF FOSS for TypeScript Λειτουργίες
Aspose.PDF FOSS για TypeScript Χαρακτηριστικά
Αυτή η σελίδα ερευνά τις κύριες περιοχές δυνατοτήτων του Aspose.PDF FOSS για TypeScript και τις κλάσεις που λειτουργούν ως σημεία εισόδου τους, ώστε να μπορείτε να βρείτε τη σωστή σελίδα οδηγού προγραμματιστή για την εργασία που χρειάζεται. Κάθε περιοχή καλύπτεται σε βάθος στη δική της σελίδα.
Διαχείριση Εγγράφων και Σελίδων
Document είναι το σημείο εισόδου για κάθε λειτουργία: το Document.New() ξεκινά ένα κενό έγγραφο σε ένα δεδομένο PageFormat, και το Document.OpenFile() / Document.Open() φορτώνει ένα υπάρχον από διαδρομή αρχείου ή από bytes στη μνήμη. Το doc.Pages είναι ένας πίνακας αντικειμένων Page, και το Document.WriteTo() / Document.Save() γράφει το αποτέλεσμα έξω.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4);
doc.Pages[0].AddText('Hello from Aspose.PDF FOSS!', 72, 720, { fontSize: 14 });
doc.WriteTo('hello.pdf');Δείτε Core API για τον κύκλο ζωής του εγγράφου, τη διαίρεση, τη συγχώνευση και τη συναρμολόγηση σελίδων.
Μετατροπή Μορφής
Document.ToHtml(), Document.ToDocx() και Document.ToMarkdown() αποδίδουν κάθε σελίδα ενός εγγράφου σε άλλη μορφή· οι ίδιες μέθοδοι υπάρχουν στο Page για απόδοση μιας μόνο σελίδας, καθώς και το Page.ToImage() για raster έξοδο PNG και το Page.ToSvg() για αυτόνομο SVG.
const doc = Document.OpenFile('report.pdf');
const html = doc.ToHtml(); // standalone HTML, all pages
const png = doc.Pages[0].ToImage({ scale: 2 }); // PNG bytes for page 1
Δείτε Conversion για το πλήρες σύνολο των μορφών εξαγωγής και των επιλογών.
Σχόλια
Page.AddHighlight() και η αδερφή του Page.Add*() μέθοδοι δημιουργούν markup και shape annotations· η κάθε μία επιστρέφει ένα ενεργό Annotation handle. Το Annotation.Flatten() ενσωματώνει την εμφάνιση μιας σημείωσης απευθείας στο ρεύμα περιεχομένου της σελίδας και την αφαιρεί από το /Annots, καθιστώντας τη μόνιμη και μη διαδραστική.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Δείτε Annotations για το πλήρες σύνολο των τύπων σχολιασμού και την αναζήτηση κειμένου σχολιασμού.
Φόρμες και Εξομάλυνση Πεδίων
AcroForm πεδία δημιουργούνται μέσω του doc.Form, μιας παρόδους Form, ή απευθείας σε ένα Page με Page.AddTextField() / Page.AddCheckbox(). Τα Form.AddTextField() και Form.AddCheckbox() επιστρέφουν ένα field handle του οποίου η δική του μέθοδος Flatten() το ενσωματώνει σε στατικό περιεχόμενο με τον ίδιο τρόπο που κάνει το Annotation.Flatten().
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Δείτε Forms για το πλήρες σύνολο των τύπων πεδίων.
Security
Document.OpenFile() και Document.Open() δέχονται μια επιλογή password για το άνοιγμα προστατευμένων εγγράφων, και Document.Save() δέχεται μια επιλογή encrypt για την προστασία ενός κατά την αποθήκευση. Document.Sign() και Document.Certify() προσθέτουν ψηφιακές υπογραφές, και Document.VerifySignatures() ελέγχει κάθε υπογραφή που υπάρχει ήδη σε ένα έγγραφο.
import { Document, InvalidPasswordError } from '@asposefoss/pdf';
try {
const doc = Document.OpenFile('secret.pdf', { password: 'hunter2' });
doc.WriteTo('decrypted.pdf');
} catch (e) {
if (e instanceof InvalidPasswordError) console.error('wrong password');
else throw e;
}Δείτε Security για κρυπτογράφηση, υπογραφή και επαλήθευση υπογραφής.
Redaction
Page.AddRedact() σημαδεύει μια ορθογώνια περιοχή για απόσυρση χωρίς να αλλάζει ακόμη τη σελίδα· Page.ApplyRedactions() στη συνέχεια ξαναγράφει καταστροφικά τη ροή περιεχομένου, αφαιρώντας μόνιμα το σημειωμένο περιεχόμενο και επιστρέφει τον αριθμό των εφαρμοσμένων αποσυρσεων.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Δείτε Redaction για το mark-mode έναντι των εφαρμοσμένων redactions με περισσότερες λεπτομέρειες.
Δομή εγγράφου και προσβασιμότητα
Document.AutoTag() προβλέπει και δημιουργεί ένα /StructTreeRoot από τη διάταξη της σελίδας — τίτλους με ομαδοποίηση κατά μέγεθος γραμματοσειράς, παραγράφους και (με opts.alt) εικόνες — και επιστρέφει ένα AutoTagReport. Document.GetStructTree() διαβάζει ξανά το προκύπτον δέντρο δομής, και Document.ValidatePdfUa() ελέγχει το έγγραφο έναντι ενός υποσυνόλου ελέγξιμου από μηχανή του PDF/UA-1.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Δείτε Structure για outlines, tagging και named destinations.
Συμβουλές και Καλές Πρακτικές
- Τροποποιήστε τα αντικείμενα
Pageπου προέρχονται από τοdoc.Pagesαπευθείας — μια σημείωση, πεδίο ή σελίδα που διατηρείται σε ξεχωριστή μεταβλητή και δεν ελήφθη από το ζωντανό έγγραφο δεν αντικατοπτρίζεται όταν καλείτε τοSave()/WriteTo(). Flatten()είναι διαθέσιμο τόσο στοAnnotationόσο και στις χειριστήριες πεδίων φόρμας (TextField,CheckboxFieldκαι άλλους τύπους πεδίων) — καλέστε το όταν το διαδραστικό περιεχόμενο πρέπει να μετατραπεί σε μόνιμο, μη επεξεργάσιμο περιεχόμενο σελίδας.- Καλέστε το
Page.ApplyRedactions()μόνο αφού προστεθεί κάθεPage.AddRedact()σημάδι για αυτή τη σελίδα· τα σημάδια που προστεθούν μετά την κλήση παραμένουν αδρανή. - Συλλάβετε το
InvalidPasswordErrorσυγκεκριμένα πριν από μια πιο γενική σύλληψη όταν καλείτε τοDocument.OpenFile()/Document.Open()σε μη αξιόπιστες εισόδους. Document.AutoTag()παράγει ένα ευριστικό δέντρο δομής — ελέγχετε πάντα το αποτέλεσμα με τοDocument.GetStructTree()ή τοValidatePdfUa()αντί να υποθέτετε πλήρη συμμόρφωση προσβασιμότητας.
Κοινά Προβλήματα
| Ζήτημα | Αιτία | Διόρθωση |
|---|---|---|
Document.OpenFile() / Document.Open() ρίχνει InvalidPasswordError | Το έγγραφο είναι προστατευμένο με κωδικό πρόσβασης και δεν δόθηκε κωδικός, ή δόθηκε λανθασμένος. | Περάστε το { password: '...' } στο Document.OpenFile() / Document.Open() |
| Η σήμανση διαγραφής δεν έχει καμία επίδραση | Το Page.ApplyRedactions() δεν κλήθηκε ποτέ, ή κλήθηκε πριν προστεθεί η σήμανση | Καλέστε το Page.AddRedact() για κάθε σήμανση πρώτα, μετά το Page.ApplyRedactions() μία φορά |
| Το επίπεδο πεδίο ή η σημείωση εξακολουθεί να εμφανίζεται ως διαδραστικό | Flatten() κλήθηκε σε αντίγραφο αντί για το χειριστή που επέστρεψε η κλήση Add*() | Καλείστε Flatten() στο αντικείμενο που επιστρέφεται απευθείας από το AddTextField() / AddHighlight() / κ.λπ. |
ValidatePdfUa() εξακολουθεί να αναφέρει ελλιπής δομή μετά το AutoTag() | AutoTag() είναι ευρετική και μπορεί να μην επισημαίνει κάθε σχήμα χωρίς κλήση επιστροφής alt | Περάστε μια συνάρτηση opts.alt στο AutoTag() για να παρέχετε κείμενο alt για τις εικόνες |
FAQ
Εξαρτάται το Aspose.PDF FOSS για TypeScript από εμπορική μηχανή PDF;
Όχι. Κυκλοφορεί υπό την άδεια MIT και η λογική απόδοσης, μετατροπής και υπογραφής εκτελείται εξ ολοκλήρου σε TypeScript/JavaScript.
Μπορώ να μετατρέψω ένα PDF απευθείας σε HTML, Markdown ή DOCX;
Ναι — το Document.ToHtml(), το Document.ToMarkdown() και το Document.ToDocx() αποδίδουν κάθε σελίδα του εγγράφου· οι αντίστοιχες μέθοδοι Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() αποδίδουν μία σελίδα.
Ποια είναι η διαφορά μεταξύ του σήμανσης και της εφαρμογής λογοκρισίας;
Το Page.AddRedact() μόνο σημαδεύει μια περιοχή — το υποκείμενο περιεχόμενο παραμένει και μπορεί να αντιγραφεί μέχρι να κληθεί το Page.ApplyRedactions(), το οποίο το αφαιρεί καταστροφικά.
Πώς μπορώ να κάνω ένα annotation ή ένα πεδίο φόρμας μόνιμο και μη επεξεργάσιμο;
Καλέστε το Flatten() στο αντικείμενο που επιστρέφεται από την κλήση Add*() που το δημιούργησε — το Annotation.Flatten() για annotations, ή το δικό του Flatten() του χειριστή πεδίου για πεδία AcroForm.
Πού πρέπει να πάω μετά;
Το Getting Started καλύπτει την εγκατάσταση και ένα πρώτο λειτουργικό παράδειγμα. Αυτός ο οδηγός προγραμματιστών συνεχίζει με αφιερωμένες σελίδες για κάθε περιοχή δυνατότητας που είναι συνδεδεμένες παραπάνω.
API Reference Περίληψη
| Κλάση/Μέθοδος | Περιγραφή |
|---|---|
Document | Σημείο εισόδου — δημιουργία, φόρτωση, αποθήκευση και διαχείριση ενός PDF |
Document.New() / Document.OpenFile() / Document.Open() | Ξεκινήστε ένα κενό έγγραφο ή φορτώστε ένα από διαδρομή αρχείου ή από bytes στη μνήμη |
Document.WriteTo() / Document.Save() | Γράψτε το έγγραφο σε διαδρομή αρχείου ή επιστρέψτε bytes |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Αποδώστε κάθε σελίδα σε άλλη μορφή |
Page.ToImage() / Page.ToSvg() | Render μια μόνο σελίδα σε PNG ή SVG |
Page.AddHighlight() και άλλες Page.Add*() μέθοδοι σημειώσεων | Δημιουργήστε μια σημείωση, επιστρέφοντας έναν ενεργό δείκτη |
Annotation.Flatten() | Ενσωματώστε την εμφάνιση μιας σημείωσης στο στατικό περιεχόμενο της σελίδας |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm πρόσοψη και δημιουργία πεδίου |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Προσθέστε ή επαληθεύστε ψηφιακές υπογραφές |
Page.AddRedact() / Page.ApplyRedactions() | Σημειώστε και εφαρμόστε την διαγραφή περιεχομένου |
Document.AutoTag() / Document.GetStructTree() | Δημιουργήστε και διαβάστε το λογικό δέντρο δομής του εγγράφου |