Aspose.PDF FOSS for TypeScript Recursos

Aspose.PDF FOSS for TypeScript Recursos

Aspose.PDF FOSS para TypeScript Recursos

Esta página examina as principais áreas de capacidade do Aspose.PDF FOSS para TypeScript e as classes que funcionam como seus pontos de entrada, para que você possa encontrar a página de guia do desenvolvedor correta para a tarefa em questão. Cada área é abordada em profundidade em sua própria página.


Gerenciamento de Documentos e Páginas

Document é o ponto de entrada para cada operação: Document.New() inicia um documento em branco em um determinado PageFormat, e Document.OpenFile() / Document.Open() carregam um existente a partir de um caminho de arquivo ou de bytes em memória. doc.Pages é um array de objetos Page, e Document.WriteTo() / Document.Save() escrevem o resultado de volta.

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

Veja Core API para o ciclo de vida do documento, divisão, mesclagem e montagem de páginas.


Conversão de Formato

Document.ToHtml(), Document.ToDocx() e Document.ToMarkdown() renderizam cada página de um documento para outro formato; os mesmos métodos existem em Page para renderizar uma única página, além de Page.ToImage() para saída raster PNG e Page.ToSvg() para SVG autônomo.

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

Veja Conversion para o conjunto completo de formatos de exportação e opções.


Anotações

Page.AddHighlight() e seu método irmão Page.Add*() criam anotações de marcação e forma; cada um retorna um manipulador Annotation ativo. Annotation.Flatten() incorpora a aparência de uma anotação diretamente no fluxo de conteúdo da página e a remove de /Annots, tornando-a permanente e não interativa.

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

Veja Annotations para o conjunto completo de tipos de anotação e busca de texto de anotação.


Formulários e Aplainamento de Campos

Campos AcroForm são criados através de doc.Form, uma fachada Form, ou diretamente em um Page com Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() e Form.AddCheckbox() retornam um manipulador de campo cujo próprio método Flatten() o incorpora ao conteúdo estático da mesma forma que Annotation.Flatten() faz.

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

Veja Forms para o conjunto completo de tipos de campo.


Security

Document.OpenFile() e Document.Open() aceitam uma opção password para abrir documentos protegidos, e Document.Save() aceita uma opção encrypt para proteger um ao salvar. Document.Sign() e Document.Certify() adicionam assinaturas digitais, e Document.VerifySignatures() verifica todas as assinaturas já presentes em um 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;
}

Veja Security para criptografia, assinatura e verificação de assinatura.


Redaction

Page.AddRedact() marca uma região retangular para redação sem ainda alterar a página; Page.ApplyRedactions() então reescreve destrutivamente o fluxo de conteúdo, removendo permanentemente o conteúdo marcado e retornando o número de redações aplicadas.

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

Veja Redaction para modo de marcação vs. redações aplicadas em mais detalhes.


Estrutura do Documento e Acessibilidade

Document.AutoTag() infere e cria um /StructTreeRoot a partir do layout da página — cabeçalhos por agrupamento de tamanho de fonte, parágrafos e (com opts.alt) figuras — e retorna um AutoTagReport. Document.GetStructTree() lê de volta a árvore de estrutura resultante, e Document.ValidatePdfUa() verifica o documento contra um subconjunto verificável por máquina de PDF/UA-1.

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

Veja Structure para contornos, marcação e destinos nomeados.


Dicas e Melhores Práticas

  • Modifique os objetos Page alcançados através de doc.Pages diretamente — uma anotação, campo ou página mantida em uma variável separada que não foi obtida do documento ao vivo não é refletida quando você chama Save() / WriteTo().
  • Flatten() está disponível tanto em Annotation quanto nos manipuladores de campo de formulário (TextField, CheckboxField e os outros tipos de campo) — chame-o quando o conteúdo interativo deve se tornar permanente, conteúdo de página não editável.
  • Chame Page.ApplyRedactions() somente depois que cada marca Page.AddRedact() para essa página tenha sido adicionada; marcas adicionadas após a chamada permanecem não aplicadas.
  • Capture InvalidPasswordError especificamente antes de um tratamento mais amplo ao chamar Document.OpenFile() / Document.Open() em entradas não confiáveis.
  • Document.AutoTag() produz uma árvore de estrutura heurística — sempre verifique pontualmente o resultado com Document.GetStructTree() ou ValidatePdfUa() em vez de presumir conformidade total de acessibilidade.

Problemas Comuns

ProblemaCausaCorreção
Document.OpenFile() / Document.Open() lança InvalidPasswordErrorO documento está protegido por senha e nenhuma senha, ou a senha errada, foi fornecidaPasse { password: '...' } para Document.OpenFile() / Document.Open()
Marca de redação não tem efeitoPage.ApplyRedactions() nunca foi chamado, ou foi chamado antes da marca ser adicionadaChame Page.AddRedact() para cada marca primeiro, então Page.ApplyRedactions() uma vez
Campo ou anotação achatado ainda é exibido como interativoFlatten() foi chamado em uma cópia em vez do identificador retornado pela chamada Add*()Chame Flatten() no objeto retornado diretamente por AddTextField() / AddHighlight() / etc.
ValidatePdfUa() ainda relata estrutura ausente após AutoTag()AutoTag() é heurístico e pode não marcar todas as figuras sem um callback altPasse uma função opts.alt para AutoTag() para fornecer texto alternativo para imagens

FAQ

O Aspose.PDF FOSS para TypeScript depende de um mecanismo PDF comercial?

Não. É lançado sob a licença MIT e sua lógica de renderização, conversão e assinatura é executada inteiramente em TypeScript/JavaScript.

Posso converter um PDF diretamente para HTML, Markdown ou DOCX?

Sim — Document.ToHtml(), Document.ToMarkdown() e Document.ToDocx() renderizam todas as páginas do documento; os métodos equivalentes Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() renderizam uma única página.

Qual é a diferença entre marcar e aplicar uma redação?

Page.AddRedact() apenas marca uma região — o conteúdo subjacente ainda está presente e pode ser copiado e selecionado até que Page.ApplyRedactions() seja chamado, o que o remove de forma destrutiva.

Como faço para tornar uma anotação ou campo de formulário permanente e não editável?

Chame Flatten() no objeto retornado pela chamada Add*() que o criou — Annotation.Flatten() para anotações, ou o próprio Flatten() do manipulador de campo para campos AcroForm.

Para onde devo ir a seguir?

Getting Started cobre a instalação e um primeiro exemplo funcional. Este guia do desenvolvedor continua com páginas dedicadas para cada área de capacidade vinculada acima.


API Reference Resumo

Classe/MétodoDescrição
DocumentPonto de entrada — criar, carregar, salvar e gerenciar um PDF
Document.New() / Document.OpenFile() / Document.Open()Inicie um documento em branco, ou carregue um a partir de um caminho de arquivo ou de bytes na memória
Document.WriteTo() / Document.Save()Grave o documento em um caminho de arquivo ou retorne bytes
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown()Renderize cada página para outro formato
Page.ToImage() / Page.ToSvg()Renderizar uma única página para PNG ou SVG
Page.AddHighlight() e outros métodos de anotação Page.Add*()Criar uma anotação, retornando um manipulador ativo
Annotation.Flatten()Incorporar a aparência de uma anotação ao conteúdo estático da página
Form / Form.AddTextField() / Form.AddCheckbox()AcroForm fachada e criação de campo
Document.Sign() / Document.Certify() / Document.VerifySignatures()Adicionar ou verificar assinaturas digitais
Page.AddRedact() / Page.ApplyRedactions()Marcar e aplicar a redação de conteúdo
Document.AutoTag() / Document.GetStructTree()Autor e ler a árvore de estrutura lógica do documento

Ver também

 Português