Aspose.PDF FOSS for TypeScript Funzionalità

Aspose.PDF FOSS for TypeScript Funzionalità

Caratteristiche Aspose.PDF FOSS per TypeScript

Questa pagina esamina le principali aree di funzionalità di Aspose.PDF FOSS per TypeScript e le classi che fungono da punti di ingresso, così da poter trovare la pagina della guida per sviluppatori più adatta al compito in questione. Ogni area è trattata in profondità nella sua pagina.


Gestione dei Documenti e delle Pagine

Document è il punto di ingresso per ogni operazione: Document.New() avvia un documento vuoto a un dato PageFormat, e Document.OpenFile() / Document.Open() caricano uno esistente da un percorso file o da byte in memoria. doc.Pages è un array di oggetti Page, e Document.WriteTo() / Document.Save() scrivono il risultato in uscita.

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

Vedi Core API per il ciclo di vita del documento, la divisione, l’unione e l’assemblaggio delle pagine.


Conversione di Formato

Document.ToHtml(), Document.ToDocx() e Document.ToMarkdown() rendono ogni pagina di un documento in un altro formato; gli stessi metodi esistono su Page per rendere una singola pagina, oltre a Page.ToImage() per l’output raster PNG e Page.ToSvg() per SVG autonomo.

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

Vedi Conversion per l’intero insieme di formati di esportazione e opzioni.


Annotazioni

Page.AddHighlight() e i suoi metodi fratelli Page.Add*() creano annotazioni di markup e forma; ciascuno restituisce un handle Annotation attivo. Annotation.Flatten() incorpora l’aspetto di un’annotazione direttamente nel flusso di contenuto della pagina e lo rimuove da /Annots, rendendolo permanente e non interattivo.

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

Vedi Annotations per l’intero insieme di tipi di annotazione e la ricerca del testo delle annotazioni.


Moduli e appiattimento dei campi

AcroForm i campi sono creati tramite doc.Form, una facciata Form, o direttamente su un Page con Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() e Form.AddCheckbox() restituiscono un handle di campo il cui metodo Flatten() lo incorpora nel contenuto statico nello stesso modo in cui lo fa Annotation.Flatten().

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

Vedi Forms per l’intero insieme di tipi di campo.


Security

Document.OpenFile() e Document.Open() accettano un’opzione password per aprire documenti protetti, e Document.Save() accetta un’opzione encrypt per proteggerne uno al salvataggio. Document.Sign() e Document.Certify() aggiungono firme digitali, e Document.VerifySignatures() verifica ogni firma già presente in un documento.

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

Vedi Security per la crittografia, la firma e la verifica della firma.


Redaction

Page.AddRedact() segna una regione rettangolare per la redazione senza ancora modificare la pagina; Page.ApplyRedactions() quindi riscrive distruttivamente lo stream di contenuto, rimuovendo definitivamente il contenuto contrassegnato e restituendo il numero di redazioni applicate.

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

Vedi Redaction per mark-mode vs. redazioni applicate in modo più dettagliato.


Struttura del documento e accessibilità

Document.AutoTag() inferisce e crea un /StructTreeRoot dal layout della pagina — intestazioni per raggruppamento per dimensione del carattere, paragrafi e (con opts.alt) figure — e restituisce un AutoTagReport. Document.GetStructTree() legge nuovamente l’albero di struttura risultante, e Document.ValidatePdfUa() verifica il documento rispetto a un sottoinsieme verificabile da macchina di PDF/UA-1.

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

Vedi Structure per le outline, il tagging e le destinazioni nominate.


Suggerimenti e migliori pratiche

  • Modifica direttamente gli oggetti Page raggiunti tramite doc.Pages — un’annotazione, campo o pagina mantenuta in una variabile separata che non è stata ottenuta dal documento live non viene riflessa quando chiami Save() / WriteTo().
  • Flatten() è disponibile sia su Annotation sia sui gestori di campi modulo (TextField, CheckboxField e gli altri tipi di campo) — chiamalo una volta che il contenuto interattivo dovrebbe diventare contenuto di pagina permanente e non modificabile.
  • Chiama Page.ApplyRedactions() solo dopo che ogni contrassegno Page.AddRedact() per quella pagina è stato aggiunto; i contrassegni aggiunti dopo la chiamata rimangono non applicati.
  • Cattura InvalidPasswordError specificamente prima di un catch-all più ampio quando chiami Document.OpenFile() / Document.Open() su input non attendibili.
  • Document.AutoTag() genera un albero di struttura euristico — verifica sempre il risultato con Document.GetStructTree() o ValidatePdfUa() invece di presumere la piena conformità di accessibilità.

Problemi comuni

ProblemaCausaCorrezione
Document.OpenFile() / Document.Open() lancia InvalidPasswordErrorIl documento è protetto da password e non è stata fornita alcuna password, o è stata fornita quella sbagliataPassa { password: '...' } a Document.OpenFile() / Document.Open()
Il segno di redazione non ha effettoPage.ApplyRedactions() non è mai stato chiamato, o è stato chiamato prima che il segno fosse aggiuntoChiama Page.AddRedact() per ogni segno prima, poi Page.ApplyRedactions() una volta
Il campo o l’annotazione appiattito appare ancora come interattivoFlatten() è stato chiamato su una copia anziché sull’handle restituito dalla chiamata Add*()Chiama Flatten() sull’oggetto restituito direttamente da AddTextField() / AddHighlight() / ecc.
ValidatePdfUa() segnala ancora struttura mancante dopo AutoTag()AutoTag() è euristico e potrebbe non etichettare ogni figura senza una callback altPassa una funzione opts.alt a AutoTag() per fornire testo alternativo per le immagini

FAQ

Il Aspose.PDF FOSS per TypeScript dipende da un motore PDF commerciale?

No. È rilasciato sotto licenza MIT e la sua logica di rendering, conversione e firma viene eseguita interamente in TypeScript/JavaScript.

Posso convertire un PDF direttamente in HTML, Markdown o DOCX?

Sì — Document.ToHtml(), Document.ToMarkdown() e Document.ToDocx() rendono ogni pagina del documento; i metodi equivalenti Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() rendono una singola pagina.

Qual è la differenza tra marcare e applicare una censura?

Page.AddRedact() segna solo una regione — il contenuto sottostante è ancora presente e selezionabile per la copia finché non viene chiamato Page.ApplyRedactions(), che lo rimuove in modo distruttivo.

Come posso rendere un’annotazione o un campo modulo permanente e non modificabile?

Chiama Flatten() sull’oggetto restituito dalla chiamata Add*() che lo ha creato — Annotation.Flatten() per le annotazioni, o il Flatten() proprio della maniglia del campo per i campi AcroForm.

Dove devo andare dopo?

Getting Started copre l’installazione e un primo esempio funzionante. Questa guida per gli sviluppatori continua con pagine dedicate per ciascuna area di capacità collegata sopra.


API Reference Riepilogo

Classe/MetodoDescrizione
DocumentPunto di ingresso — crea, carica, salva e gestisci un PDF
Document.New() / Document.OpenFile() / Document.Open()Avvia un documento vuoto, oppure caricane uno da un percorso file o da byte in memoria
Document.WriteTo() / Document.Save()Scrivi il documento su un percorso file o restituisci i byte
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Renderizza ogni pagina in un altro formato
Page.ToImage() / Page.ToSvg()Genera una singola pagina in PNG o SVG
Page.AddHighlight() e altri metodi di annotazione Page.Add*()Crea un’annotazione, restituendo un handle attivo
Annotation.Flatten()Incorpora l’aspetto di un’annotazione nel contenuto statico della pagina
Form / Form.AddTextField() / Form.AddCheckbox()AcroForm facciata e creazione del campo
Document.Sign() / Document.Certify() / Document.VerifySignatures()Aggiungi o verifica le firme digitali
Page.AddRedact() / Page.ApplyRedactions()Contrassegna e applica la redazione del contenuto
Document.AutoTag() / Document.GetStructTree()Autore e leggi l’albero della struttura logica del documento

Vedi anche

 Italiano