Aspose.PDF FOSS for TypeScript Características

Aspose.PDF FOSS for TypeScript Características

Aspose.PDF FOSS para TypeScript Características

Esta página examina las principales áreas de capacidad de Aspose.PDF FOSS para TypeScript y las clases que actúan como sus puntos de entrada, para que puedas encontrar la página adecuada de la guía del desarrollador para la tarea en cuestión. Cada área se cubre en profundidad en su propia página.


Gestión de Documentos y Páginas

Document es el punto de entrada para cada operación: Document.New() inicia un documento en blanco en un PageFormat dado, y Document.OpenFile() / Document.Open() cargan uno existente desde una ruta de archivo o bytes en memoria. doc.Pages es un array de objetos Page, y Document.WriteTo() / Document.Save() escriben el resultado de nuevo.

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

Ver Core API para el ciclo de vida del documento, división, fusión y ensamblaje de páginas.


Conversión de Formato

Document.ToHtml(), Document.ToDocx() y Document.ToMarkdown() renderizan cada página de un documento a otro formato; los mismos métodos existen en Page para renderizar una sola página, además Page.ToImage() para salida rasterizada PNG y Page.ToSvg() para SVG independiente.

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

Ver Conversion para el conjunto completo de formatos de exportación y opciones.


Anotaciones

Page.AddHighlight() y su método hermano Page.Add*() crean anotaciones de marcado y forma; cada uno devuelve un manejador Annotation en vivo. Annotation.Flatten() incorpora la apariencia de una anotación directamente en el flujo de contenido de la página y la elimina de /Annots, haciéndola permanente y no interactiva.

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

Ver Annotations para el conjunto completo de tipos de anotación y búsqueda de texto de anotación.


Formularios y aplanado de campos

Los campos AcroForm se crean a través de doc.Form, una fachada Form, o directamente en un Page con Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() y Form.AddCheckbox() devuelven un manejador de campo cuyo propio método Flatten() lo incorpora al contenido estático de la misma manera que lo hace Annotation.Flatten().

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

Ver Forms para el conjunto completo de tipos de campo.


Security

Document.OpenFile() y Document.Open() aceptan una opción password para abrir documentos protegidos, y Document.Save() acepta una opción encrypt para proteger uno al guardar. Document.Sign() y Document.Certify() añaden firmas digitales, y Document.VerifySignatures() verifica cada firma ya presente en 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;
}

Ver Security para cifrado, firma y verificación de firmas.


Redaction

Page.AddRedact() marca una región rectangular para la redacción sin cambiar aún la página; Page.ApplyRedactions() luego reescribe de forma destructiva el flujo de contenido, eliminando permanentemente el contenido marcado y devolviendo el número de redacciones aplicadas.

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

Ver Redaction para modo de marcas vs. redactados aplicados con más detalle.


Estructura del documento y accesibilidad

Document.AutoTag() infiere y crea un /StructTreeRoot a partir del diseño de página — encabezados mediante agrupación por tamaño de fuente, párrafos y (con opts.alt) figuras — y devuelve un AutoTagReport. Document.GetStructTree() lee el árbol de estructura resultante, y Document.ValidatePdfUa() verifica el documento contra un subconjunto verificable por máquina de PDF/UA-1.

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

Ver Structure para marcadores, etiquetado y destinos con nombre.


Consejos y mejores prácticas

  • Modifique los objetos Page a los que se accede a través de doc.Pages directamente — una anotación, campo o página mantenida en una variable separada que no se obtuvo del documento en vivo no se refleja cuando llama a Save() / WriteTo().
  • Flatten() está disponible tanto en Annotation como en los manejadores de campos de formulario (TextField, CheckboxField y los demás tipos de campo) — llámelo una vez que el contenido interactivo deba convertirse en contenido de página permanente y no editable.
  • Llame a Page.ApplyRedactions() solo después de que se haya añadido cada marca Page.AddRedact() para esa página; las marcas añadidas después de la llamada permanecen sin aplicar.
  • Capture InvalidPasswordError específicamente antes de un manejo más amplio al llamar a Document.OpenFile() / Document.Open() sobre entradas no confiables.
  • Document.AutoTag() produce un árbol de estructura heurística — siempre verifique el resultado con Document.GetStructTree() o ValidatePdfUa() en lugar de asumir cumplimiento total de accesibilidad.

Problemas comunes

ProblemaCausaCorrección
Document.OpenFile() / Document.Open() lanza InvalidPasswordErrorEl documento está protegido con contraseña y no se proporcionó ninguna contraseña, o se proporcionó una incorrectaPase { password: '...' } a Document.OpenFile() / Document.Open()
La marca de redacción no tiene efectoPage.ApplyRedactions() nunca se llamó, o se llamó antes de que se añadiera la marcaLlame a Page.AddRedact() para cada marca primero, luego Page.ApplyRedactions() una vez
El campo aplanado o la anotación sigue apareciendo como interactivoFlatten() se llamó sobre una copia en lugar del manejador devuelto por la llamada a Add*()Llame a Flatten() sobre el objeto devuelto directamente por AddTextField() / AddHighlight() / etc.
ValidatePdfUa() sigue informando de estructura faltante después de AutoTag()AutoTag() es heurístico y puede no etiquetar cada figura sin una callback altPase una función opts.alt a AutoTag() para proporcionar texto alternativo para imágenes

FAQ

¿Depende Aspose.PDF FOSS para TypeScript de un motor PDF comercial?

No. Se distribuye bajo la licencia MIT y su lógica de renderizado, conversión y firma se ejecuta completamente en TypeScript/JavaScript.

¿Puedo convertir un PDF directamente a HTML, Markdown o DOCX?

Sí — Document.ToHtml(), Document.ToMarkdown() y Document.ToDocx() renderizan cada página del documento; los métodos equivalentes Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() renderizan una sola página.

¿Cuál es la diferencia entre marcar y aplicar una redacción?

Page.AddRedact() solo marca una región — el contenido subyacente sigue presente y es seleccionable para copiar hasta que se llama a Page.ApplyRedactions(), que lo elimina de forma destructiva.

¿Cómo hago que una anotación o campo de formulario sea permanente e ineditable?

Llame a Flatten() sobre el objeto devuelto por la llamada Add*() que lo creó — Annotation.Flatten() para anotaciones, o el propio Flatten() del manejador de campo para campos AcroForm.

¿A dónde voy a continuación?

Getting Started cubre la instalación y un primer ejemplo funcional. Esta guía para desarrolladores continúa con páginas dedicadas para cada área de capacidad vinculada arriba.


API Reference Resumen

Clase/MétodoDescripción
DocumentPunto de entrada — crear, cargar, guardar y gestionar un PDF
Document.New() / Document.OpenFile() / Document.Open()Inicia un documento en blanco, o cárgalo desde una ruta de archivo o bytes en memoria
Document.WriteTo() / Document.Save()Escribe el documento en una ruta de archivo o devuelve los bytes
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Renderiza cada página a otro formato
Page.ToImage() / Page.ToSvg()Renderizar una página única a PNG o SVG
Page.AddHighlight() y otros métodos de anotación Page.Add*()Crear una anotación, devolviendo un manejador activo
Annotation.Flatten()Incrustar la apariencia de una anotación en el contenido estático de la página
Form / Form.AddTextField() / Form.AddCheckbox()AcroForm fachada y creación de campos
Document.Sign() / Document.Certify() / Document.VerifySignatures()Agregar o verificar firmas digitales
Page.AddRedact() / Page.ApplyRedactions()Marcar y aplicar la redacción de contenido
Document.AutoTag() / Document.GetStructTree()Autor y leer el árbol de estructura lógica del documento

Ver también

 Español