Aspose.PDF FOSS for TypeScript Functies

Aspose.PDF FOSS for TypeScript Functies

Aspose.PDF FOSS voor TypeScript Functies

Deze pagina geeft een overzicht van de belangrijkste capaciteitsgebieden van Aspose.PDF FOSS voor TypeScript en de klassen die als toegangspunten fungeren, zodat je de juiste ontwikkelaarsgids-pagina voor de taak kunt vinden. Elk gebied wordt uitgebreid behandeld op een eigen pagina.


Document- en paginabeheer

Document is het toegangspunt voor elke bewerking: Document.New() start een leeg document op een gegeven PageFormat, en Document.OpenFile() / Document.Open() laden een bestaande vanaf een bestandspad of in-memory bytes. doc.Pages is een array van Page objecten, en Document.WriteTo() / Document.Save() schrijven het resultaat terug.

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');

Zie Core API voor documentlevenscyclus, splitsen, samenvoegen en paginamontage.


Formaatconversie

Document.ToHtml(), Document.ToDocx() en Document.ToMarkdown() renderen elke pagina van een document naar een ander formaat; dezelfde methoden bestaan op Page om een enkele pagina te renderen, plus Page.ToImage() voor PNG-rasteroutput en Page.ToSvg() voor zelfstandige 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

Zie Conversion voor de volledige set exportformaten en opties.


Annotaties

Page.AddHighlight() en zijn verwante Page.Add*() methoden creëren markup- en vormannotaties; elk retourneert een live Annotation handle. Annotation.Flatten() verwerkt het uiterlijk van een annotatie direct in de contentstream van de pagina en verwijdert het uit /Annots, waardoor het permanent en niet-interactief wordt.

const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();

Zie Annotations voor de volledige set annotatietypen en het zoeken van annotatietekst.


Formulieren en Veldafvlakken

AcroForm velden worden aangemaakt via doc.Form, een Form façade, of direct op een Page met Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() en Form.AddCheckbox() retourneren een veldhandle waarvan de eigen Flatten() methode het in statische content verwerkt op dezelfde manier als Annotation.Flatten().

const field = doc.Form.AddTextField({
  page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();

Zie Forms voor de volledige set veldtypen.


Security

Document.OpenFile() en Document.Open() accepteren een password optie om beveiligde documenten te openen, en Document.Save() accepteert een encrypt optie om er een te beveiligen bij opslaan. Document.Sign() en Document.Certify() voegen digitale handtekeningen toe, en Document.VerifySignatures() controleert elke handtekening die al in een document aanwezig is.

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;
}

Zie Security voor versleuteling, ondertekening en verificatie van handtekeningen.


Redaction

Page.AddRedact() markeert een rechthoekig gebied voor redactie zonder de pagina nog te wijzigen; Page.ApplyRedactions() herschrijft vervolgens destructief de contentstream, verwijdert de gemarkeerde inhoud definitief en geeft het aantal toegepaste redacties terug.

page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();

Zie Redaction voor mark-modus versus toegepaste redactie in meer detail.


Documentstructuur en toegankelijkheid

Document.AutoTag() inferreert en maakt een /StructTreeRoot op basis van paginalay-out — koppen door lettergrootte-clustering, alinea’s, en (met opts.alt) figuren — en retourneert een AutoTagReport. Document.GetStructTree() leest de resulterende structuurboom terug, en Document.ValidatePdfUa() controleert het document tegen een machine-controleerbare subset van PDF/UA-1.

const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);

Zie Structure voor outlines, tagging en benoemde bestemmingen.


Tips en best practices

  • Wijzig de Page-objecten die via doc.Pages worden bereikt direct — een annotatie, veld of pagina die in een aparte variabele wordt gehouden en niet uit het live document is verkregen, wordt niet weergegeven wanneer je Save() / WriteTo() aanroept.
  • Flatten() is beschikbaar op zowel Annotation als formulierveld-handles (TextField, CheckboxField en de andere veldtypes) — roep het één keer aan wanneer interactieve inhoud permanente, niet-bewerkbare paginainhoud moet worden.
  • Roep Page.ApplyRedactions() alleen aan nadat elke Page.AddRedact()-markering voor die pagina is toegevoegd; markeringen die na de aanroep worden toegevoegd, blijven onverwerkt.
  • Vang InvalidPasswordError specifiek op vóór een bredere algemene vangst wanneer je Document.OpenFile() / Document.Open() aanroept op niet-vertrouwde invoer.
  • Document.AutoTag() genereert een heuristische structuurbomen — controleer het resultaat altijd steekproefsgewijs met Document.GetStructTree() of ValidatePdfUa() in plaats van volledige toegankelijkheidsconformiteit aan te nemen.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Document.OpenFile() / Document.Open() gooit InvalidPasswordErrorHet document is beveiligd met een wachtwoord en er is geen wachtwoord, of een verkeerd wachtwoord, opgegeven.Geef { password: '...' } door aan Document.OpenFile() / Document.Open()
Redactie-markering heeft geen effectPage.ApplyRedactions() is nooit aangeroepen, of is aangeroepen voordat de markering werd toegevoegdRoep eerst Page.AddRedact() aan voor elke markering, daarna Page.ApplyRedactions() één keer
Vlak gemaakt veld of annotatie wordt nog steeds als interactief weergegevenFlatten() werd aangeroepen op een kopie in plaats van de handle die werd geretourneerd door de Add*()-aanroepRoep Flatten() aan op het object dat rechtstreeks wordt geretourneerd door AddTextField() / AddHighlight() / enz.
ValidatePdfUa() meldt nog steeds een ontbrekende structuur na AutoTag()AutoTag() is heuristisch en tagt mogelijk niet elke afbeelding zonder een alt callbackGeef een opts.alt-functie door aan AutoTag() om alt-tekst voor afbeeldingen te leveren

FAQ

Is Aspose.PDF FOSS voor TypeScript afhankelijk van een commerciële PDF-engine?

Nee. Het is uitgebracht onder de MIT-licentie en de render-, conversie- en ondertekeningslogica draait volledig in TypeScript/JavaScript.

Kan ik een PDF direct omzetten naar HTML, Markdown of DOCX?

Ja — Document.ToHtml(), Document.ToMarkdown() en Document.ToDocx() renderen elke pagina van het document; de equivalente Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() methoden renderen één enkele pagina.

Wat is het verschil tussen markeren en het toepassen van een redactie?

Page.AddRedact() markeert alleen een gebied — de onderliggende inhoud is nog aanwezig en kan gekopieerd en geselecteerd worden totdat Page.ApplyRedactions() wordt aangeroepen, wat het destructief verwijdert.

Hoe maak ik een annotatie of formulierveld permanent en niet-bewerkbaar?

Roep Flatten() aan op het object dat wordt geretourneerd door de Add*() oproep die het heeft gemaakt — Annotation.Flatten() voor annotaties, of de eigen Flatten() van de veld-handle voor AcroForm velden.

Waar ga ik daarna naartoe?

Getting Started behandelt de installatie en een eerste werkend voorbeeld. Deze ontwikkelaarsgids gaat verder met toegewijde pagina’s voor elk capaciteitsgebied die hierboven zijn gelinkt.


API Reference Samenvatting

Klasse/MethodeBeschrijving
DocumentInstappunt — maak, laad, sla op en beheer een PDF
Document.New() / Document.OpenFile() / Document.Open()Begin een leeg document, of laad er één vanaf een bestandspad of uit geheugenbytes
Document.WriteTo() / Document.Save()Schrijf het document naar een bestandspad of geef bytes terug
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Render elke pagina naar een ander formaat
Page.ToImage() / Page.ToSvg()Render een enkele pagina naar PNG of SVG
Page.AddHighlight() en andere Page.Add*() annotatiemethodenCreëer een annotatie, die een live handle teruggeeft
Annotation.Flatten()Verwerk het uiterlijk van een annotatie in statische paginainhoud
Form / Form.AddTextField() / Form.AddCheckbox()AcroForm façade en veldcreatie
Document.Sign() / Document.Certify() / Document.VerifySignatures()Digitale handtekeningen toevoegen of verifiëren
Page.AddRedact() / Page.ApplyRedactions()Markeer en pas inhoudsredactie toe
Document.AutoTag() / Document.GetStructTree()Auteur en lees de logische structuurboom van het document

Zie ook

 Nederlands