Aspose.PDF FOSS for TypeScript Jellemzők
Aspose.PDF FOSS for TypeScript Jellemzők
Ez az oldal áttekinti a Aspose.PDF FOSS for TypeScript fő képességterületeit és azokat az osztályokat, amelyek belépési pontként szolgálnak, hogy megtalálja a megfelelő fejlesztői útmutató oldalt az adott feladathoz. Minden terület részletesen le van fedve egy saját oldalon.
Dokumentum- és oldalkezelés
Document minden művelet belépési pontja: Document.New() egy üres dokumentumot indít egy adott PageFormat alapján, és a Document.OpenFile() / Document.Open() meglévőt tölt be egy fájl útvonalról vagy memória-bájtokból. doc.Pages egy Page objektumok tömbje, és a Document.WriteTo() / Document.Save() írja vissza az eredményt.
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');Lásd Core API a dokumentum életciklusához, felosztáshoz, egyesítéshez és oldalösszeállításhoz.
Formátumkonverzió
Document.ToHtml(), Document.ToDocx() és Document.ToMarkdown() minden dokumentumoldalt egy másik formátumba renderel; ugyanazok a metódusok elérhetők a Page esetén is egyetlen oldal rendereléséhez, valamint a Page.ToImage() PNG raszter kimenethez és a Page.ToSvg() önálló SVG-hez.
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
Lásd Conversion a teljes exportformátumok és beállítások készletéhez.
Annotációk
Page.AddHighlight() és testvérmetódusa, a Page.Add*() létrehozza a jelölő és alakzat annotációkat; mindegyik egy élő Annotation kezelőt ad vissza. Annotation.Flatten() beégeti az annotáció megjelenését közvetlenül az oldal tartalomfolyamába, és eltávolítja azt a /Annots-ből, így állandóvá és nem interaktívvá teszi.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Lásd Annotations a teljes annotációtípusok és az annotáció szövegének keresése készletéhez.
Űrlapok és mezőlaposítás
AcroForm mezők a doc.Form segítségével, egy Form felületén keresztül, vagy közvetlenül egy Page-n Page.AddTextField() / Page.AddCheckbox() használatával jönnek létre. Form.AddTextField() és Form.AddCheckbox() egy mezőkezelőt ad vissza, amelynek saját Flatten() metódusa ugyanúgy beégeti azt a statikus tartalomba, mint a Annotation.Flatten().
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Lásd Forms a mezőtípusok teljes halmazához.
Security
Document.OpenFile() és Document.Open() elfogad egy password opciót a védett dokumentumok megnyitásához, és Document.Save() egy encrypt opciót fogad el, hogy mentéskor védje azt. Document.Sign() és Document.Certify() digitális aláírásokat adnak hozzá, és Document.VerifySignatures() ellenőrzi a dokumentumban már lévő minden aláírást.
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;
}Lásd Security a titkosításhoz, aláíráshoz és az aláírás ellenőrzéséhez.
Redaction
Page.AddRedact() egy téglalap alakú területet jelöl meg redakcióhoz anélkül, hogy a lapot módosítaná; Page.ApplyRedactions() ezután destruktívan újraírásra kerül a tartalomfolyam, végleg eltávolítva a megjelölt tartalmat, és visszaadja az alkalmazott redakciók számát.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Lásd Redaction a mark-mode és az alkalmazott redakciók részletesebb ismertetéséhez.
Dokumentumszerkezet és hozzáférhetőség
Document.AutoTag() a lapelrendezésből – betűméretcsoportosítás szerinti címsorok, bekezdések és (a opts.alt segítségével) ábrák – levezet egy /StructTreeRoot-t, és visszaad egy AutoTagReport-t. Document.GetStructTree() visszaolvassa a keletkezett struktúrafát, és Document.ValidatePdfUa() ellenőrzi a dokumentumot a PDF/UA-1 géppel ellenőrizhető részhalmaza ellen.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Lásd Structure a vázlatokhoz, címkézéshez és a megnevezett célpontokhoz.
Tippek és legjobb gyakorlatok
- Módosítsa a
Pageobjektumokat, amelyeket adoc.Pagesútján ér el közvetlenül — egy annotáció, mező vagy oldal, amely egy külön változóban van, és nem a élő dokumentumból származik, nem tükröződik, amikor aSave()/WriteTo()hívást használja. Flatten()mind aAnnotation, mind az űrlapmező kezelőkön (TextField,CheckboxFieldés a többi mezőtípus) elérhető – hívja meg egyszer, amikor az interaktív tartalom állandó, nem szerkeszthető oldal tartalommá kell, hogy váljon.- Hívja meg a
Page.ApplyRedactions()függvényt csak azután, hogy mindenPage.AddRedact()jelzést hozzáadtak az adott oldalhoz; a hívás után hozzáadott jelzések nem fognak alkalmazódni. - Fogja el a
InvalidPasswordErrorkivételt kifejezetten, mielőtt egy általánosabb catch-all-ra támaszkodna aDocument.OpenFile()/Document.Open()hívásakor megbízhatatlan bemenet esetén. Document.AutoTag()egy heurisztikus struktúrafát hoz létre — mindig ellenőrizze a végeredménytDocument.GetStructTree()vagyValidatePdfUa()segítségével, ahelyett, hogy feltételezné a teljes akadálymentességi megfelelőséget.
Gyakori problémák
| Kérdés | Ok | Javítás |
|---|---|---|
Document.OpenFile() / Document.Open() kivételt dob InvalidPasswordError | A dokumentum jelszóval védett, és nem lett megadva jelszó, vagy rossz jelszót adtak meg | Adja át a { password: '...' } a Document.OpenFile() / Document.Open() |
| A redakciójelzésnek nincs hatása | Page.ApplyRedactions() soha nem lett meghívva, vagy a jelzés hozzáadása előtt lett meghívva | Hívja meg először a Page.AddRedact() minden jelzéshez, majd egyszer a Page.ApplyRedactions() |
| A laposított mező vagy annotáció továbbra is interaktívként jelenik meg | Flatten() egy másolaton lett meghívva, nem pedig a Add*() hívás által visszaadott kezelőn | Hívd meg a(z) Flatten() függvényt azon az objektumon, amelyet közvetlenül a AddTextField() / AddHighlight() / stb. ad vissza. |
ValidatePdfUa() továbbra is hiányzó struktúrát jelent a AutoTag() után | AutoTag() heurisztikus, és előfordulhat, hogy nem címkézi az összes ábrát alt visszahívás nélkül | Adj át egy opts.alt függvényt a AutoTag() számára, hogy alternatív szöveget biztosítson a képekhez |
FAQ
A Aspose.PDF FOSS a TypeScript számára függ-e egy kereskedelmi PDF motorra?
Nem. MIT licenc alatt került kiadásra, és a renderelési, konvertálási és aláírási logikája teljes egészében a TypeScript/JavaScript környezetben fut.
Átkonvertálhatom közvetlenül a PDF-et HTML, Markdown vagy DOCX formátumba?
Igen — a Document.ToHtml(), Document.ToMarkdown() és Document.ToDocx() minden oldalt renderel a dokumentumból; az ekvivalens Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() módszerek egyetlen oldalt renderelnek.
Mi a különbség a megjelölés és a redakció alkalmazása között?
A Page.AddRedact() csak egy területet jelöl meg — a mögöttes tartalom továbbra is jelen van és másolható, amíg a Page.ApplyRedactions() nem hívódik meg, amely destruktívan eltávolítja azt.
Hogyan tehetem egy megjegyzést vagy űrlapmezőt állandóvá és nem szerkeszthetővé?
Hívja meg a Flatten() függvényt azon az objektumon, amelyet a Add*() hívás hozott létre — Annotation.Flatten() a megjegyzéseknél, vagy a mezőkezelő saját Flatten() a AcroForm mezőknél.
Hová menjek tovább?
Getting Started lefedi a telepítést és egy első működő példát. Ez a fejlesztői útmutató a fent hivatkozott képességi területekhez dedikált oldalakon folytatódik.
API Reference Összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
Document | Belépési pont — létrehozás, betöltés, mentés és egy PDF kezelése |
Document.New() / Document.OpenFile() / Document.Open() | Kezdjen egy üres dokumentummal, vagy töltsön be egyet fájlútvonalból vagy memória-bájtokból |
Document.WriteTo() / Document.Save() | Írja a dokumentumot egy fájlútvonalra, vagy adjon vissza bájtokat |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Renderelje minden oldalt egy másik formátumba |
Page.ToImage() / Page.ToSvg() | Egyetlen oldal renderelése PNG vagy SVG formátumba |
Page.AddHighlight() és egyéb Page.Add*() annotációs módszerek | Annotáció létrehozása, élő kezelőt visszaadva |
Annotation.Flatten() | Az annotáció megjelenésének beégetése a statikus oldal tartalmába |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm felület és mező létrehozása |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Digitális aláírások hozzáadása vagy ellenőrzése |
Page.AddRedact() / Page.ApplyRedactions() | Jelölje ki és alkalmazza a tartalomkitakarást |
Document.AutoTag() / Document.GetStructTree() | Szerző és olvassa a dokumentum logikai struktúrafáját |