Funcționalități Aspose.PDF FOSS for TypeScript
Aspose.PDF FOSS pentru TypeScript Funcționalități
Această pagină examinează principalele domenii de capabilitate ale Aspose.PDF FOSS pentru TypeScript și clasele care acționează ca puncte de intrare, astfel încât să poți găsi pagina potrivită din ghidul pentru dezvoltatori pentru sarcina curentă. Fiecare domeniu este tratat în profunzime pe propria pagină.
Gestionarea documentelor și a paginilor
Document este punctul de intrare pentru fiecare operație: Document.New() pornește un document gol la un anumit PageFormat, iar Document.OpenFile() / Document.Open() încarcă unul existent dintr-o cale de fișier sau din octeți în memorie. doc.Pages este un tablou de obiecte Page, iar Document.WriteTo() / Document.Save() scriu rezultatul înapoi.
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');Vezi Core API pentru ciclul de viață al documentului, divizare, îmbinare și asamblarea paginilor.
Conversia de format
Document.ToHtml(), Document.ToDocx() și Document.ToMarkdown() redau fiecare pagină a unui document în alt format; aceleași metode există pe Page pentru a reda o singură pagină, plus Page.ToImage() pentru ieșire raster PNG și Page.ToSvg() pentru SVG autonom.
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
Vezi Conversion pentru setul complet de formate de export și opțiuni.
Anotări
Page.AddHighlight() și metoda sa înrudită Page.Add*() creează adnotări de tip markup și shape; fiecare returnează un handle Annotation activ. Annotation.Flatten() încorporează aspectul unei adnotări direct în fluxul de conținut al paginii și o elimină din /Annots, făcând-o permanentă și neinteractivă.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Vezi Annotations pentru setul complet de tipuri de adnotări și căutarea textului adnotărilor.
Formulare și aplatizarea câmpurilor
AcroForm câmpurile sunt create prin doc.Form, o fațadă Form, sau direct pe un Page cu Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() și Form.AddCheckbox() returnează un handle de câmp al cărui metodă Flatten() îl încorporează în conținut static în același mod în care o face Annotation.Flatten().
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Vezi Forms pentru setul complet de tipuri de câmp.
Security
Document.OpenFile() și Document.Open() acceptă o opţiune password pentru a deschide documente protejate, iar Document.Save() acceptă o opţiune encrypt pentru a proteja una la salvare. Document.Sign() și Document.Certify() adaugă semnături digitale, iar Document.VerifySignatures() verifică fiecare semnătură deja prezentă într-un document.
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;
}Vezi Security pentru criptare, semnare și verificarea semnăturii.
Redaction
Page.AddRedact() marchează o regiune rectangulară pentru redactare fără a schimba încă pagina; Page.ApplyRedactions() apoi rescrie distrugător fluxul de conținut, eliminând conținutul marcat definitiv și returnând numărul de redactări aplicate.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Vezi Redaction pentru modul de marcaj vs. redactări aplicate în detaliu.
Structura documentului și accesibilitatea
Document.AutoTag() inferă și creează un /StructTreeRoot din aspectul paginii — titluri prin gruparea dimensiunilor fontului, paragrafe și (cu opts.alt) figuri — și returnează un AutoTagReport. Document.GetStructTree() citește înapoi arborele de structură rezultat, iar Document.ValidatePdfUa() verifică documentul față de un subset verificabil de mașină al PDF/UA-1.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Vezi Structure pentru contururi, etichetare și destinații denumite.
Sfaturi și bune practici
- Modificați obiectele
Pageaccesate prindoc.Pagesdirect — o adnotare, un câmp sau o pagină deținută într-o variabilă separată care nu a fost obținută din documentul live nu este reflectată când apelațiSave()/WriteTo(). Flatten()este disponibil atât peAnnotation, cât și pe manipulatoarele de câmpuri de formular (TextField,CheckboxFieldși celelalte tipuri de câmp) — apelați-l o singură dată când conținutul interactiv trebuie să devină conținut de pagină permanent, neschimbabil.- Apelați
Page.ApplyRedactions()numai după ce fiecare marcajPage.AddRedact()pentru acea pagină a fost adăugat; marcajele adăugate după apel rămân neaplicate. - Prindeți
InvalidPasswordErrorîn mod specific înainte de un mecanism generic de captare când apelațiDocument.OpenFile()/Document.Open()pe intrări nesigure. Document.AutoTag()generează un arbore de structură euristică — verificați întotdeauna rezultatul cuDocument.GetStructTree()sauValidatePdfUa()în loc să presupuneți conformitatea completă cu accesibilitatea.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
Document.OpenFile() / Document.Open() aruncă InvalidPasswordError | Documentul este protejat prin parolă și nu a fost furnizată nicio parolă, sau a fost furnizată una greșită | Transmite { password: '...' } către Document.OpenFile() / Document.Open() |
| Marca de redactare nu are efect | Page.ApplyRedactions() nu a fost niciodată apelat, sau a fost apelat înainte ca marca să fie adăugată | Apelează Page.AddRedact() pentru fiecare marcă mai întâi, apoi Page.ApplyRedactions() o singură dată |
| Câmpul aplatizat sau adnotarea încă apare ca interactivă | Flatten() a fost apelat pe o copie în loc de manipulatorul returnat de apelul Add*() | Apelă Flatten() pe obiectul returnat direct de AddTextField() / AddHighlight() / etc. |
ValidatePdfUa() continuă să raporteze structură lipsă după AutoTag() | AutoTag() este euristic și s-ar putea să nu eticheteze fiecare figură fără un callback alt | Transmite o funcție opts.alt către AutoTag() pentru a furniza text alternativ pentru imagini |
FAQ
Depinde Aspose.PDF FOSS pentru TypeScript de un motor PDF comercial?
Nu. Este lansat sub licența MIT și logica sa de randare, conversie și semnare rulează în totalitate în TypeScript/JavaScript.
Pot să convertesc un PDF direct în HTML, Markdown sau DOCX?
Da — Document.ToHtml(), Document.ToMarkdown() și Document.ToDocx() redau fiecare pagină a documentului; metodele echivalente Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() redau o singură pagină.
Care este diferența dintre marcarea și aplicarea unei redactări?
Page.AddRedact() marchează doar o regiune — conținutul de bază este încă prezent și poate fi copiat până când este apelat Page.ApplyRedactions(), care îl elimină în mod distructiv.
Cum pot face o adnotare sau un câmp de formular permanent și neschimbabil?
Apelă Flatten() pe obiectul returnat de apelul Add*() care l-a creat — Annotation.Flatten() pentru adnotări, sau Flatten() propriu al manipulării câmpului pentru câmpurile AcroForm.
Unde merg mai departe?
Getting Started acoperă instalarea și un prim exemplu funcțional. Acest ghid pentru dezvoltatori continuă cu pagini dedicate pentru fiecare domeniu de capabilitate legat mai sus.
API Reference Rezumat
| Clasă/Metodă | Descriere: |
|---|---|
Document | Punct de intrare — creează, încarcă, salvează și gestionează un PDF |
Document.New() / Document.OpenFile() / Document.Open() | Începe un document gol sau încarcă unul dintr-o cale de fișier sau din bytes în memorie |
Document.WriteTo() / Document.Save() | Scrie documentul într-o cale de fișier sau returnează bytes |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Redă fiecare pagină într-un alt format |
Page.ToImage() / Page.ToSvg() | Redă o singură pagină în PNG sau SVG |
Page.AddHighlight() și alte metode de adnotare Page.Add*() | Creează o adnotare, returnând un handle activ |
Annotation.Flatten() | Încorporează aspectul unei adnotări în conținutul static al paginii |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm fațadă și creare de câmp |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Adaugă sau verifică semnăturile digitale |
Page.AddRedact() / Page.ApplyRedactions() | Marcați și aplicați redactarea conținutului |
Document.AutoTag() / Document.GetStructTree() | Autorizați și citiți arborele de structură logică al documentului |