Aspose.PDF FOSS for TypeScript Fonctionnalités

Aspose.PDF FOSS for TypeScript Fonctionnalités

Aspose.PDF FOSS pour TypeScript Fonctionnalités

Cette page passe en revue les principales zones de capacité de Aspose.PDF FOSS pour TypeScript ainsi que les classes qui servent de points d’entrée, afin que vous puissiez trouver la page du guide du développeur appropriée pour la tâche à accomplir. Chaque zone est traitée en profondeur sur sa propre page.


Gestion des documents et des pages

Document est le point d’entrée pour chaque opération: Document.New() démarre un document vierge à un PageFormat donné, et Document.OpenFile() / Document.Open() chargent un existant depuis un chemin de fichier ou des octets en mémoire. doc.Pages est un tableau d’objets Page, et Document.WriteTo() / Document.Save() écrivent le résultat en sortie.

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

Voir Core API pour le cycle de vie des documents, le fractionnement, la fusion et l’assemblage des pages.


Conversion de format

Document.ToHtml(), Document.ToDocx() et Document.ToMarkdown() rendent chaque page d’un document dans un autre format; les mêmes méthodes existent sur Page pour rendre une page unique, ainsi que Page.ToImage() pour la sortie raster PNG et Page.ToSvg() pour le SVG autonome.

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

Voir Conversion pour l’ensemble complet des formats d’exportation et des options.


Annotations

Page.AddHighlight() et sa méthode sœur Page.Add*() créent des annotations de balisage et de forme; chacune renvoie un handle Annotation en direct. Annotation.Flatten() intègre l’apparence d’une annotation directement dans le flux de contenu de la page et la supprime de /Annots, la rendant permanente et non interactive.

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

Voir Annotations pour l’ensemble complet des types d’annotation et la recherche de texte d’annotation.


Formulaires et aplatissement des champs

AcroForm les champs sont créés via doc.Form, une façade Form, ou directement sur un Page avec Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() et Form.AddCheckbox() renvoient un handle de champ dont la propre méthode Flatten() l’intègre dans le contenu statique de la même manière que Annotation.Flatten() le fait.

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

Voir Forms pour l’ensemble complet des types de champs.


Security

Document.OpenFile() et Document.Open() acceptent une option password pour ouvrir des documents protégés, et Document.Save() accepte une option encrypt pour en protéger un lors de l’enregistrement. Document.Sign() et Document.Certify() ajoutent des signatures numériques, et Document.VerifySignatures() vérifie chaque signature déjà présente dans un document.

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

Voir Security pour le chiffrement, la signature et la vérification de signature.


Redaction

Page.AddRedact() marque une région rectangulaire pour la rédaction sans modifier encore la page ; Page.ApplyRedactions() réécrit alors de manière destructive le flux de contenu, supprimant définitivement le contenu marqué et renvoie le nombre de rédactions appliquées.

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

Voir Redaction pour le mode de marquage versus les rédactions appliquées, plus en détail.


Structure du document et accessibilité

Document.AutoTag() déduit et crée un /StructTreeRoot à partir de la mise en page — titres par regroupement de tailles de police, paragraphes, et (avec opts.alt) figures — et renvoie un AutoTagReport. Document.GetStructTree() relit l’arbre de structure résultant, et Document.ValidatePdfUa() vérifie le document par rapport à un sous-ensemble vérifiable par machine de PDF/UA-1.

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

Voir Structure pour les signets, le balisage et les destinations nommées.


Conseils et meilleures pratiques

  • Modifiez les objets Page atteints via doc.Pages directement — une annotation, un champ ou une page détenus dans une variable distincte qui n’a pas été obtenue à partir du document en direct n’est pas reflétée lorsque vous appelez Save() / WriteTo().
  • Flatten() est disponible à la fois sur Annotation et les poignées de champs de formulaire (TextField, CheckboxField et les autres types de champs) — appelez-le une fois que le contenu interactif doit devenir du contenu de page permanent, non modifiable.
  • Appelez Page.ApplyRedactions() uniquement après que chaque marque Page.AddRedact() pour cette page a été ajoutée; les marques ajoutées après l’appel restent non appliquées.
  • Attrapez InvalidPasswordError spécifiquement avant un attrape-tout plus large lors de l’appel de Document.OpenFile() / Document.Open() sur des entrées non fiables.
  • Document.AutoTag() génère un arbre de structure heuristique — vérifiez toujours le résultat avec Document.GetStructTree() ou ValidatePdfUa() plutôt que de supposer une conformité totale à l’accessibilité.

Problèmes courants

ProblèmeCauseCorrection
Document.OpenFile() / Document.Open() lance InvalidPasswordErrorLe document est protégé par mot de passe et aucun mot de passe, ou le mauvais, n’a été fourniPassez { password: '...' } à Document.OpenFile() / Document.Open()
La marque de rédaction n’a aucun effetPage.ApplyRedactions() n’a jamais été appelé, ou a été appelé avant que la marque ne soit ajoutéeAppelez Page.AddRedact() pour chaque marque d’abord, puis Page.ApplyRedactions() une fois
Le champ ou l’annotation aplati apparaît toujours comme interactifFlatten() a été appelé sur une copie plutôt que sur le handle renvoyé par l’appel Add*()Appelez Flatten() sur l’objet renvoyé directement par AddTextField() / AddHighlight() / etc.
ValidatePdfUa() signale toujours une structure manquante après AutoTag()AutoTag() est heuristique et peut ne pas taguer chaque figure sans un alt callbackPassez une fonction opts.alt à AutoTag() pour fournir du texte alternatif aux images

FAQ

Le Aspose.PDF FOSS pour TypeScript dépend-il d’un moteur PDF commercial?

Non. Il est publié sous licence MIT et sa logique de rendu, de conversion et de signature s’exécute entièrement dans TypeScript/JavaScript.

Puis-je convertir directement un PDF en HTML, Markdown ou DOCX?

Oui — Document.ToHtml(), Document.ToMarkdown() et Document.ToDocx() rendent chaque page du document; les méthodes équivalentes Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() rendent une seule page.

Quelle est la différence entre marquer et appliquer une rédaction?

Page.AddRedact() ne fait que marquer une région — le contenu sous-jacent est toujours présent et sélectionnable jusqu’à ce que Page.ApplyRedactions() soit appelé, ce qui le supprime de manière destructive.

Comment rendre une annotation ou un champ de formulaire permanent et non modifiable?

Appelez Flatten() sur l’objet renvoyé par l’appel Add*() qui l’a créé — Annotation.Flatten() pour les annotations, ou la propre Flatten() du handle de champ pour les champs AcroForm.

Où dois-je aller ensuite?

Getting Started couvre l’installation et un premier exemple fonctionnel. Ce guide du développeur se poursuit avec des pages dédiées pour chaque domaine de capacité liés ci-dessus.


API Reference Résumé

Classe/MéthodeDescription
DocumentPoint d’entrée — créer, charger, enregistrer et gérer un PDF
Document.New() / Document.OpenFile() / Document.Open()Démarrer un document vierge, ou en charger un depuis un chemin de fichier ou des octets en mémoire
Document.WriteTo() / Document.Save()Écrire le document vers un chemin de fichier ou renvoyer les octets
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Rendre chaque page dans un autre format
Page.ToImage() / Page.ToSvg()Rendre une page unique en PNG ou SVG
Page.AddHighlight() et d’autres méthodes d’annotation Page.Add*()Créer une annotation, renvoyant un handle actif
Annotation.Flatten()Intégrer l’apparence d’une annotation dans le contenu statique de la page
Form / Form.AddTextField() / Form.AddCheckbox()AcroForm façade et création de champ
Document.Sign() / Document.Certify() / Document.VerifySignatures()Ajouter ou vérifier les signatures numériques
Page.AddRedact() / Page.ApplyRedactions()Marquer et appliquer la censure du contenu
Document.AutoTag() / Document.GetStructTree()Rédiger et lire l’arbre de la structure logique du document

Voir aussi

 Français