Funcționalități Aspose.PDF FOSS for TypeScript

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 Page accesate prin doc.Pages direct — 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ți Save() / WriteTo().
  • Flatten() este disponibil atât pe Annotation, 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 marcaj Page.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ți Document.OpenFile() / Document.Open() pe intrări nesigure.
  • Document.AutoTag() generează un arbore de structură euristică — verificați întotdeauna rezultatul cu Document.GetStructTree() sau ValidatePdfUa() în loc să presupuneți conformitatea completă cu accesibilitatea.

Probleme comune

ProblemăCauzăRemediere
Document.OpenFile() / Document.Open() aruncă InvalidPasswordErrorDocumentul 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 efectPage.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 altTransmite 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:
DocumentPunct 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

Vezi și:

 Română