Aspose.PDF FOSS for TypeScript Funktioner
Aspose.PDF FOSS för TypeScript Funktioner
Den här sidan ger en översikt över de viktigaste funktionsområdena för Aspose.PDF FOSS för TypeScript och de klasser som fungerar som deras ingångspunkter, så att du kan hitta rätt utvecklarguide-sida för den aktuella uppgiften. Varje område behandlas utförligt på en egen sida.
Dokument- och sidhantering
Document är ingångspunkten för varje operation: Document.New() startar ett tomt dokument vid en given PageFormat, och Document.OpenFile() / Document.Open() laddar ett befintligt från en filsökväg eller från minnes-byte. doc.Pages är en array av Page-objekt, och Document.WriteTo() / Document.Save() skriver tillbaka resultatet.
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');Se Kärna API för dokumentlivscykel, delning, sammanslagning och sidmontering.
Formatkonvertering
Document.ToHtml(), Document.ToDocx() och Document.ToMarkdown() renderar varje sida i ett dokument till ett annat format; samma metoder finns på Page för att rendera en enskild sida, samt Page.ToImage() för PNG-rasterutmatning och Page.ToSvg() för fristående 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
Se Conversion för hela uppsättningen av exportformat och alternativ.
Anmärkningar
Page.AddHighlight() och dess syster Page.Add*() metoder skapar markup- och shape-annotationer; varje returnerar ett levande Annotation handtag. Annotation.Flatten() bakar annotationens utseende direkt in i sidans content stream och tar bort den från /Annots, vilket gör den permanent och icke-interaktiv.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Se Annotations för hela uppsättningen av annoteringstyper och sökning i annoteringstext.
Formulär och fältplattning
AcroForm fält skapas via doc.Form, en Form fasad, eller direkt på en Page med Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() och Form.AddCheckbox() returnerar ett fält-handtag vars egen Flatten() metod bakar in det i statiskt innehåll på samma sätt som Annotation.Flatten() gör.
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Se Forms för den fullständiga uppsättningen av fälttyper.
Security
Document.OpenFile() och Document.Open() accepterar ett password alternativ för att öppna skyddade dokument, och Document.Save() accepterar ett encrypt alternativ för att skydda ett vid sparning. Document.Sign() och Document.Certify() lägger till digitala signaturer, och Document.VerifySignatures() kontrollerar varje signatur som redan finns i ett dokument.
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;
}Se Security för kryptering, signering och verifiering av signatur.
Redaction
Page.AddRedact() markerar en rektangulär region för redigering utan att ännu ändra sidan; Page.ApplyRedactions() skriver sedan destruktivt om innehållsströmmen, tar bort det markerade innehållet permanent och returnerar antalet tillämpade redigeringar.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Se Redaction för markläge vs. tillämpade raderingar i mer detalj.
Dokumentstruktur och tillgänglighet
Document.AutoTag() infererar och skapar en /StructTreeRoot från sidlayout — rubriker baserade på teckenstorleksklustring, stycken och (med opts.alt) figurer — och returnerar en AutoTagReport. Document.GetStructTree() läser tillbaka den resulterande strukturtträdet, och Document.ValidatePdfUa() kontrollerar dokumentet mot en maskinläslig delmängd av PDF/UA-1.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Se Structure för konturer, taggning och namngivna destinationer.
Tips och bästa praxis
- Ändra
Page-objekten som nås viadoc.Pagesdirekt — en annotation, ett fält eller en sida som hålls i en separat variabel och som inte hämtats från det levande dokumentet återspeglas inte när du anroparSave()/WriteTo(). Flatten()är tillgänglig både påAnnotationoch formulärfälthanterare (TextField,CheckboxFieldoch de andra fälttyperna) — anropa den när interaktivt innehåll ska bli permanent, icke-redigerbart sidinnehåll.- Anropa
Page.ApplyRedactions()endast efter att varjePage.AddRedact()-märke för den sidan har lagts till; märken som läggs till efter anropet förblir oapplyerade. - Fånga
InvalidPasswordErrorspecifikt innan ett bredare generellt fångst när du anroparDocument.OpenFile()/Document.Open()på opålitlig indata. Document.AutoTag()skapar ett heuristiskt strukturträd — kontrollera alltid resultatet medDocument.GetStructTree()ellerValidatePdfUa()istället för att anta full tillgänglighetskompatibilitet.
Vanliga problem
| Problem | Orsak | Åtgärd |
|---|---|---|
Document.OpenFile() / Document.Open() kastar InvalidPasswordError | Dokumentet är lösenordsskyddat och inget lösenord, eller fel lösenord, angavs. | Skicka { password: '...' } till Document.OpenFile() / Document.Open() |
| Röjningsmarkering har ingen effekt | Page.ApplyRedactions() anropades aldrig, eller anropades innan markeringen lades till | Anropa Page.AddRedact() för varje markering först, sedan Page.ApplyRedactions() en gång |
| Plattat fält eller annotation visas fortfarande som interaktiv | Flatten() anropades på en kopia snarare än handtaget som returnerades av Add*() anropet | Anropa Flatten() på objektet som returneras direkt av AddTextField() / AddHighlight() / osv. |
ValidatePdfUa() rapporterar fortfarande saknad struktur efter AutoTag() | AutoTag() är heuristisk och kanske inte märker varje figur utan ett alt callback | Skicka en opts.alt-funktion till AutoTag() för att tillhandahålla alt-text för bilder |
FAQ
Beror Aspose.PDF FOSS för TypeScript på en kommersiell PDF-motor?
Nej. Den är släppt under MIT-licensen och dess renderings-, konverterings- och signeringslogik körs helt i TypeScript/JavaScript.
Kan jag konvertera en PDF direkt till HTML, Markdown eller DOCX?
Ja — Document.ToHtml(), Document.ToMarkdown() och Document.ToDocx() renderar varje sida i dokumentet; de motsvarande Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx()-metoderna renderar en enskild sida.
Vad är skillnaden mellan att markera och att verkställa en redigering?
Page.AddRedact() markerar bara ett område — det underliggande innehållet är fortfarande närvarande och kan kopieras/markeras tills Page.ApplyRedactions() anropas, vilket destruktivt tar bort det.
Hur gör jag en annotation eller ett formulärfält permanent och icke-redigerbart?
Anropa Flatten() på objektet som returnerades av Add*()-anropet som skapade det — Annotation.Flatten() för annotationer, eller fälthandtagets egen Flatten() för AcroForm-fält.
Vart går jag härnäst?
Getting Started täcker installation och ett första fungerande exempel. Denna utvecklarguide fortsätter med dedikerade sidor för varje funktionsområde som länkas ovan.
API Reference Sammanfattning
| Klass/Metod | Beskrivning |
|---|---|
Document | Ingångspunkt — skapa, ladda, spara och hantera en PDF |
Document.New() / Document.OpenFile() / Document.Open() | Starta ett tomt dokument, eller ladda ett från en filsökväg eller in-memory-bytes |
Document.WriteTo() / Document.Save() | Skriv dokumentet till en filsökväg eller returnera bytes |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Rendera varje sida till ett annat format |
Page.ToImage() / Page.ToSvg() | Rendera en enskild sida till PNG eller SVG |
Page.AddHighlight() och andra Page.Add*() annoteringsmetoder | Skapa en annotering, som returnerar ett levande handtag |
Annotation.Flatten() | Baka in en annoterings utseende i statiskt sidinnehåll |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm fasad och fältgenerering |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Lägg till eller verifiera digitala signaturer |
Page.AddRedact() / Page.ApplyRedactions() | Markera och tillämpa innehållsröjning |
Document.AutoTag() / Document.GetStructTree() | Författa och läs dokumentets logiska strukturträd |