Aspose.PDF FOSS for TypeScript Funkce
Aspose.PDF FOSS pro TypeScript funkce
Tato stránka přehledně popisuje hlavní oblasti schopností Aspose.PDF FOSS pro TypeScript a třídy, které slouží jako jejich vstupní body, takže můžete najít správnou stránku vývojářské příručky pro daný úkol. Každá oblast je podrobně rozebrána na své vlastní stránce.
Správa dokumentů a stránek
Document je vstupní bod pro každou operaci: Document.New() spustí prázdný dokument na daném PageFormat a Document.OpenFile() / Document.Open() načtou existující dokument z cesty k souboru nebo z paměťových bajtů. doc.Pages je pole objektů Page, a Document.WriteTo() / Document.Save() zapíšou výsledek zpět.
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');Viz Core API pro životní cyklus dokumentu, rozdělování, slučování a sestavování stránek.
Převod formátů
Document.ToHtml(), Document.ToDocx() a Document.ToMarkdown() vykreslí každou stránku dokumentu do jiného formátu; stejné metody existují na Page pro vykreslení jedné stránky, plus Page.ToImage() pro PNG rastrový výstup a Page.ToSvg() pro samostatný 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
Viz Conversion pro kompletní sadu exportních formátů a možností.
Anotace
Page.AddHighlight() a jeho související Page.Add*() metoda vytvářejí značkovací a tvarové anotace; každá vrací živý Annotation handle. Annotation.Flatten() zapracuje vzhled anotace přímo do obsahového proudu stránky a odstraní jej z /Annots, čímž se stane trvalým a neinteraktivním.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Viz Annotations pro kompletní sadu typů anotací a vyhledávání textu anotací.
Formuláře a zplošťování polí
AcroForm pole jsou vytvářena pomocí doc.Form, Form fasády, nebo přímo na Page s Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() a Form.AddCheckbox() vrací pole handle, jehož vlastní metoda Flatten() ji zapracuje do statického obsahu stejným způsobem jako Annotation.Flatten().
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Viz Forms pro úplnou sadu typů polí.
Security
Document.OpenFile() a Document.Open() přijímají volbu password pro otevření chráněných dokumentů a Document.Save() přijímá volbu encrypt pro ochranu při ukládání. Document.Sign() a Document.Certify() přidávají digitální podpisy a Document.VerifySignatures() kontroluje každý podpis již v dokumentu.
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;
}Viz Security pro šifrování, podepisování a ověření podpisu.
Redaction
Page.AddRedact() označuje obdélníkovou oblast pro redakci, aniž by zatím změnil stránku; Page.ApplyRedactions() pak destruktivně přepíše obsahový proud, trvale odstraní označený obsah a vrátí počet provedených redakcí.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Viz Redaction pro podrobnější informace o režimu označování vs. aplikovaném redigování.
Struktura dokumentu a přístupnost
Document.AutoTag() odvozuje a vytváří /StructTreeRoot z rozvržení stránky — nadpisy podle seskupování podle velikosti písma, odstavce a (s opts.alt) obrázky — a vrací AutoTagReport. Document.GetStructTree() načte zpět vzniklý strom struktury a Document.ValidatePdfUa() kontroluje dokument oproti strojově ověřitelné podmnožině PDF/UA-1.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Viz Structure pro osnovy, tagování a pojmenované cíle.
Tipy a osvědčené postupy
- Upravte objekty
Pagezískané přesdoc.Pagespřímo — anotace, pole nebo stránka držená v samostatné proměnné, která nebyla získána ze živého dokumentu, se neodrazí při voláníSave()/WriteTo(). Flatten()je k dispozici jak naAnnotation, tak na ovladačích polí formuláře (TextField,CheckboxFielda dalších typech polí) — zavolejte jej, až se interaktivní obsah má stát trvalým, neupravitelným obsahem stránky.- Zavolejte
Page.ApplyRedactions()až po přidání všech značekPage.AddRedact()pro tuto stránku; značky přidané po volání zůstanou nepoužité. - Zachyťte
InvalidPasswordErrorkonkrétně před obecnějším zachycením při voláníDocument.OpenFile()/Document.Open()na nedůvěryhodném vstupu. Document.AutoTag()vytváří heuristický strom struktury — vždy prověřte výsledek pomocíDocument.GetStructTree()neboValidatePdfUa()místo toho, abyste předpokládali úplnou shodu s přístupností.
Časté problémy
| Problém | Příčina | Oprava |
|---|---|---|
Document.OpenFile() / Document.Open() vyhazuje InvalidPasswordError | Dokument je chráněn heslem a nebylo zadáno žádné heslo nebo bylo zadáno nesprávné heslo | Předat { password: '...' } do Document.OpenFile() / Document.Open() |
| Značka redakce nemá žádný efekt | Page.ApplyRedactions() nebyl nikdy zavolán, nebo byl zavolán před přidáním značky | Nejprve zavolejte Page.AddRedact() pro každou značku, pak jednou Page.ApplyRedactions() |
| Zploštěné pole nebo anotace se stále zobrazuje jako interaktivní | Flatten() byl zavolán na kopii místo rukojeti vrácené voláním Add*() | Zavolejte Flatten() na objekt vrácený přímo AddTextField() / AddHighlight() / atd. |
ValidatePdfUa() stále hlásí chybějící strukturu po AutoTag() | AutoTag() je heuristický a nemusí označit každou figuru bez alt callbacku | Předávejte funkci opts.alt do AutoTag(), abyste dodali alt text pro obrázky |
FAQ
Závisí Aspose.PDF FOSS pro TypeScript na komerčním PDF enginu?
Ne. Je vydáno pod licencí MIT a jeho renderovací, konverzní a podepisovací logika běží výhradně v TypeScript/JavaScript.
Mohu převést PDF přímo na HTML, Markdown nebo DOCX?
Ano — Document.ToHtml(), Document.ToMarkdown() a Document.ToDocx() vykreslují každou stránku dokumentu; ekvivalentní metody Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() vykreslují jedinou stránku.
Jaký je rozdíl mezi označením a aplikací redakce?
Page.AddRedact() pouze označuje oblast — podkladový obsah je stále přítomen a lze jej kopírovat, dokud není zavoláno Page.ApplyRedactions(), které jej destruktivně odstraní.
Jak mohu učinit anotaci nebo formulářové pole trvalým a needitovatelným?
Zavolejte Flatten() na objekt vrácený voláním Add*(), které jej vytvořilo — Annotation.Flatten() pro anotace, nebo vlastní Flatten() pole pro AcroForm pole.
Kam mám jít dál?
Úvod pokrývá instalaci a první funkční příklad. Tento vývojářský průvodce pokračuje věnovanými stránkami pro každou oblast schopností, na které jsou odkazy výše.
API Reference Shrnutí
| Třída/Metoda | Popis: |
|---|---|
Document | Vstupní bod — vytvořit, načíst, uložit a spravovat PDF |
Document.New() / Document.OpenFile() / Document.Open() | Začněte s prázdným dokumentem nebo jej načtěte z cesty k souboru či z paměťových bajtů |
Document.WriteTo() / Document.Save() | Zapište dokument do souborové cesty nebo vraťte bajty |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Vykreslete každou stránku do jiného formátu |
Page.ToImage() / Page.ToSvg() | Vykreslit jednu stránku do PNG nebo SVG |
Page.AddHighlight() a další Page.Add*() metody anotací | Vytvořit anotaci, vracející živý handle |
Annotation.Flatten() | Zakomponovat vzhled anotace do statického obsahu stránky |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm fasáda a tvorba pole |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Přidat nebo ověřit digitální podpisy |
Page.AddRedact() / Page.ApplyRedactions() | Označit a aplikovat redakci obsahu |
Document.AutoTag() / Document.GetStructTree() | Vytvořit a číst logický strukturovací strom dokumentu |