Visão geral do Construtor de Documentos
DocumentBuilder é uma classe poderosa que se associa ao Document e permite criar documentos dinâmicos do zero ou adicionar novos elementos a um já existente.
DocumentBuilder fornece métodos para inserir texto, caixas de seleção, objetos antigos, parágrafos, listas, tabelas, imagens e outros elementos de conteúdo. Ele permite que você especifique fontes, formatação de parágrafo ou seção e execute outras operações.
Construtor de Documentos ou Aspose.Words DOM
DocumentBuilder complementa classes e métodos disponíveis no Aspose.Words Document Object Model (DOM) para simplificar as tarefas mais comuns de construção de documentos. Ou seja, você pode criar e modificar o conteúdo dos documentos tanto através do Aspose.Words DOM, que requer um bom entendimento da estrutura em árvore, quanto através do DocumentBuilder. O DocumentBuilder
é uma “fachada” para a complexa estrutura Document que permite inserir conteúdo e formatação de forma rápida e fácil.
As operações possíveis com DocumentBuilder também são possíveis ao usar as classes do DOM Aspose.Words diretamente. No entanto, usar classes DOM Aspose.Words diretamente geralmente requer mais linhas de código do que usar DocumentBuilder.
Navegação de documentos
A navegação no documento é baseada no conceito de cursor virtual, com o qual você pode mover para outro local do documento usando vários métodos DocumentBuilder.move_to_XXX, como move_to_document_start e move_to_field. Este cursor virtual indica onde o texto será inserido ao chamar os métodos write, writeln, insert_break e outros. Consulte o seguinte artigo “Navegação com Cursor” para saber mais sobre o cursor virtual.
O exemplo de código a seguir mostra como navegar até um marcador:
Criação e modificação de documentos
Aspose.Words API fornece diversas classes responsáveis pela formatação de diversos elementos de um documento. Cada uma das classes encapsula propriedades de formatação relacionadas a um elemento específico do documento, como texto, parágrafo, seção e outros. Por exemplo, a classe Font representa propriedades de formatação de caracteres, a classe ParagraphFormat representa propriedades de formatação de parágrafos e assim por diante. Os objetos dessas classes são retornados pelas propriedades DocumentBuilder correspondentes, que possuem os mesmos nomes das classes. Portanto, você pode acessá-los e definir a formatação desejada durante a construção do documento.
Você também pode inserir texto, caixa de seleção, objeto antigo, imagens, marcadores, campos de formulário e outros elementos do documento na posição do cursor usando o método Write
ou qualquer um dos métodos DocumentBuilder.insert_XXX, como insert_field, insert_html e métodos semelhantes.
Vamos ver como criar um documento simples usando DocumentBuilder.
Crie um documento usando DocumentBuilder
Para começar, você precisa criar um DocumentBuilder e associá-lo a um objeto Document. Você cria uma nova instância de DocumentBuilder chamando seu construtor e passando-a para um objeto Document para anexar ao construtor.
Para inserir um texto, passe a string de texto que você precisa inserir no documento para o método write.
O exemplo de código a seguir mostra como criar um documento simples usando um construtor de documentos.
Especifique a formatação do documento
A propriedade font define a formatação do texto. Este objeto contém diferentes atributos de fonte (nome da fonte, tamanho da fonte, cor e assim por diante). Alguns atributos de fonte importantes também são representados por propriedades DocumentBuilder para permitir acesso direto a eles. Estas são as propriedades booleanas Font.bold, Font.italic e Font.underline.
O exemplo de código a seguir mostra como inserir um texto formatado usando DocumentBuilder:
- font especifica a formatação de caracteres que será aplicada a todo o texto inserido a partir da posição atual no documento.
- paragraph_format especifica a formatação do parágrafo atual e de todos os parágrafos a serem inseridos.
- page_setup especifica as propriedades da página e da seção da seção atual e de toda a seção que será inserida.
- cell_format e row_format especificam propriedades de formatação que serão aplicadas às células e linhas da tabela a partir da posição atual no documento.
Nesta situação, “atual” significa a posição, parágrafo, seção, célula ou linha em que o cursor está.