Noções básicas da API DOM do Aspose.PDF
Introdução à API DOM
O Modelo de Objeto de Documento (DOM) é uma forma de representação de documentos estruturados como um modelo orientado a objetos. O DOM é o padrão oficial do World Wide Web Consortium (W3C) para representar documentos estruturados de maneira neutra em termos de plataforma e linguagem.
Em palavras simples, o DOM é uma árvore de objetos que representam a estrutura de algum documento. Aspose.PDF for C++ também usa a ideia de DOM para representar a estrutura de um documento PDF em termos de objetos. No entanto, os aspectos do DOM (como seus Elementos) são manipulados dentro da sintaxe da linguagem de programação em uso. A interface pública de um DOM é especificada em sua interface de programação de aplicativos (API).
Introdução ao Documento PDF
O formato de documento portátil (PDF) é um padrão aberto para troca de documentos. Um documento PDF é uma combinação de dados de texto e binário. Se você abri-lo em um editor de texto, verá os objetos brutos que definem a estrutura e o conteúdo do documento.
A estrutura lógica de um arquivo PDF é hierárquica e determina a sequência pela qual um aplicativo de visualização desenha as páginas do documento e seu conteúdo. Um PDF é composto por quatro componentes: objetos, estrutura de arquivo, estrutura de documento e fluxos de conteúdo.
Estrutura do Documento PDF
Como a estrutura de um arquivo PDF é hierárquica, o Aspose.PDF para C++ também acessa os elementos da mesma forma. A hierarquia a seguir mostra como o documento PDF é estruturado logicamente e como o Aspose.PDF para C++ DOM API o constrói.
Acessando Elementos do Documento PDF
O objeto Documento está no nível raiz do modelo de objeto. O Aspose.PDF para C++ DOM API permite que você crie um objeto Documento e, em seguida, acesse todos os outros objetos na hierarquia. Você pode acessar qualquer uma das coleções como Páginas ou um elemento individual como Página, etc. A API DOM fornece pontos únicos de entrada e saída para manipular o documento PDF, conforme mostrado abaixo:
- Abrir documento PDF
- Acessar a estrutura do documento PDF no estilo DOM
- Atualizar dados no documento PDF
- Validar documento PDF
- Exportar documento PDF em diferentes formatos
- Finalmente, salvar o documento PDF atualizado
Como Usar o Novo Aspose.PDF para C++ API
Este tópico explicará o novo Aspose.PDF para C++ API e irá guiá-lo para começar rapidamente e facilmente. Por favor, note que os detalhes sobre o uso dos recursos particulares não fazem parte deste artigo.
O Aspose.PDF para C++ é composto por duas partes:
- Aspose.PDF para C++ DOM API
- Aspose.PDF.Facades
Você encontrará os detalhes de cada uma dessas áreas abaixo.
Aspose.PDF para C++ DOM API
O Aspose.PDF para C++ DOM API corresponde à estrutura do documento PDF, o que ajuda você a trabalhar com documentos PDF não apenas no nível de arquivo e documento, mas também no nível de objeto. Nós fornecemos mais flexibilidade aos desenvolvedores para acessar todos os elementos e objetos do documento PDF. Usando as classes da API Aspose.PDF DOM, você pode obter acesso programático aos elementos e formatação do documento. Esta nova API DOM é composta por vários namespaces conforme dado abaixo:
Aspose::Pdf Namespace Reference
Este namespace fornece a classe Document que permite abrir e salvar um documento PDF.
Aspose::Pdf::Text Namespace Reference
Este namespace fornece classes que ajudam você a trabalhar com o texto e seus vários aspectos, por exemplo, Font, FontCollection, FontRepository, FontSource, TextAbsorber, TextFragment, TextFragmentAbsorber, TextFragmentCollection, TextFragmentState, TextSegment e TextSegmentCollection, etc.
Aspose::Pdf::Collections Namespace Reference
Este namespace fornece a classe AsposeHashDictionary.
Aspose::Pdf::CommonData Namespace Reference
Aspose::Pdf::Diagnostics Namespace Reference
Aspose::Pdf::Drawing Namespace Reference
Este namespace fornece as classes: Curve, Circle, Arc, Rectangle, Graph e etc., para adicionar elementos gráficos ao seu arquivo PDF.
Aspose::Pdf::Engine Namespace Reference
Este namespace fornece as classes Addressing, Interactive, Security, CommonData, IO, Presentation.
Aspose::Pdf::GroupProcessor Namespace Reference
Este namespace fornece as classes: ExtractorFactory - representa uma fábrica para criar objetos IPdfTypeExtractor, IDocumentPageTextExtractor, IDocumentTextExtractor, IPdfTypeExtractor classes - representa a interface para interagir com o extrator.
Aspose::Pdf::Interchange Namespace Reference
Aspose::Pdf::LogicalStructure Namespace Reference
Este namespace fornece as classes: AnnotationElement, AttributeOwnerStandard, CaptionElement, DocumentElement, FormElement, GroupingElement, ILSTextElement, PrivateElement, WarichuWTElement, e etc.
Aspose::Pdf::Operators Namespace Reference
Este namespace fornece classes dos seguintes operadores: BasicSetColorAndPatternOperator, BlockTextOperator, SetCharWidthBoundingBox, SetColorStroke, SetHorizontalTextScaling, SetTextRenderingMode, TextShowOperator, etc.
Aspose::Pdf::Optimization Namespace Reference
Este namespace fornece duas classes - ImageCompressionOptions e OptimizationOptions.
Aspose::Pdf::PageModel Namespace Reference
Aspose::Pdf::PdfAOptionClasses Namespace Reference
Este namespace fornece duas classes: FontEmbeddingOptions - o padrão PDF/A exige que todas as fontes sejam incorporadas no documento. Esta classe inclui flags para casos em que não é possível incorporar alguma fonte devido a essa fonte estar ausente no PC de destino. ToUnicodeProcessingRules - Esta classe descreve regras que podem ser usadas para resolver o erro do Adobe Preflight “Texto não pode ser mapeado para Unicode”.
Aspose::Pdf::Sanitization Namespace Reference
Este namespace fornece duas classes: Details_SanitizationException e IRecovery.
Aspose::Pdf::Tagged Namespace Reference
Este namespace fornece classes Details_TaggedException - Representa exceção para o conteúdo TaggedPDF do documento. ITaggedContent - Representa interface para trabalhar com o conteúdo TaggedPdf do documento? e TaggedPdfExceptionCode.
Aspose::Pdf::Validation Namespace Reference
Aspose::Pdf::XfaConverter Namespace Reference
Este namespace fornece a classe XfaParserOptions - classe para lidar com encapsulamento de dados relacionados.
Aspose::Pdf::Annotations Namespace Reference
Anotações são uma parte dos recursos interativos de um documento PDF. Dedicamos um namespace para anotações. Este namespace contém classes que ajudam você a trabalhar com as anotações, por exemplo, Annotation, AnnotationCollection, CircleAnnotation e LinkAnnotation, etc.
Aspose::Pdf::Forms Namespace Reference
Este namespace contém classes que ajudam você a trabalhar com formulários PDF e campos de formulário, por exemplo Form, Field, TextBoxField e OptionCollection, etc.
Aspose::Pdf::Devices Namespace Reference
Podemos realizar várias operações nos documentos PDF, como converter documentos PDF em vários formatos de imagem. No entanto, tais operações não pertencem ao objeto Documento e não podemos estender a classe Documento para essas operações. É por isso que introduzimos o conceito de Dispositivo na nova API DOM.
Referência do Namespace Aspose::Pdf::Facades
Você pode usar o namespace Aspose.PDF.Facades. Este Namespace fornece classes como AutoFiller - representa uma classe para receber dados de um banco de dados ou outra fonte de dados. Bookmark, Form, Stamp, PdfConverter e mais classes.