Use DocumentBuilder para Inserir Elementos do documento
O DocumentBuilder é utilizado para modificar documentos. Este artigo explica e descreve como executar uma série de Tarefas:
Inserir uma sequência de texto
Basta passar a sequência de texto que você precisa inserir no documento para o método DocumentBuilder.Write. A formatação do texto é determinada pela propriedade Font. Este objeto contém diferentes atributos de fonte (Nome da fonte, tamanho da fonte, cor, etc.). Alguns atributos de fonte importantes também são representados por propriedades DocumentBuilder para permitir que você os acesse diretamente. Estas são propriedades booleanas Font.Bold, Font.Italic e Font.Underline.
Observe que a formatação de caracteres definida será aplicada a todo o texto inserido a partir da posição atual no documento.
O exemplo abaixo insere texto formatado usando DocumentBuilder.
Inserir um parágrafo
DocumentBuilder.Writeln também insere uma sequência de texto no documento, mas, além disso, adiciona uma quebra de parágrafo. A formatação de fonte atual também é especificada pela propriedade DocumentBuilder.Font e a formatação de parágrafo atual é determinada pela propriedade DocumentBuilder.ParagraphFormat. O exemplo abaixo mostra como inserir um parágrafo no documento.
Inserir uma tabela
O algoritmo básico para criar uma tabela usando DocumentBuilder é simples:
- Inicie a tabela utilizando
DocumentBuilder.StartTable. - Insira uma célula usando
DocumentBuilder.InsertCell. Isso inicia automaticamente uma nova linha. Se necessário, use a propriedadeDocumentBuilder.CellFormatpara especificar a formatação da célula. - Insira o conteúdo da célula usando os métodos
DocumentBuilder. - Repita as etapas 2 e 3 até que a linha esteja completa.
- Chame
DocumentBuilder.EndRowpara terminar a linha atual. Se necessário, use a propriedadeDocumentBuilder.RowFormatpara especificar a formatação da linha. - Repita os passos 2 - 5 até que a tabela esteja completa.
- Chame
DocumentBuilder.EndTablepara terminar a construção da tabela. Os métodos apropriados de criação de tabelas DocumentBuilder são descritos abaixo.
Iniciar uma mesa
Chamar DocumentBuilder.StartTable é o primeiro passo na construção de uma tabela. Também pode ser chamado dentro de uma célula, caso em que inicia uma tabela aninhada. O próximo método a chamar é DocumentBuilder.InsertCell.
Inserir uma célula
Depois de chamar DocumentBuilder->InsertCell, uma nova célula é criada e qualquer conteúdo que você adicionar usando outros métodos da classe DocumentBuilder será adicionado à célula atual. Para iniciar uma nova célula na mesma linha, chame DocumentBuilder->InsertCell novamente. Use a propriedade DocumentBuilder.CellFormat para especificar a formatação da célula. Ele retorna um objeto CellFormat que representa toda a formatação de uma célula da tabela.
Terminar uma linha
Chame DocumentBuilder.EndRow para terminar a linha atual. Se você chamar DocumentBuilder->InsertCell imediatamente depois disso, a tabela continuará em uma nova linha.
Use a propriedade DocumentBuilder.RowFormat para especificar a formatação da linha. Ele retorna um objeto RowFormat que representa toda a formatação de uma linha de tabela.
Terminar uma mesa
Chame DocumentBuilder.EndTable para terminar a tabela atual. Este método deve ser chamado apenas uma vez após DocumentBuilder->EndRow ter sido chamado. Quando chamado, DocumentBuilder.EndTable move o cursor para fora da célula atual para uma posição logo após a tabela. O exemplo a seguir demonstra como construir uma tabela formatada que contém 2 linhas e 2 colunas.
Inserir uma pausa
Se pretender iniciar explicitamente uma nova linha, parágrafo, coluna, secção ou página, ligue para DocumentBuilder.InsertBreak. Passe para este método o tipo de quebra que você precisa inserir Que é representado pela enumeração BreakType. O exemplo abaixo mostra como inserir quebras de página em um documento.
Inserir uma imagem
DocumentBuilder fornece várias sobrecargas do método DocumentBuilder->InsertImage que permite inserir uma imagem embutida ou flutuante. Se a imagem for um metarquivo EMF ou WMF, será inserida no documento em formato metarquivo. Todas as outras imagens serão armazenadas no formato PNG. O método DocumentBuilder->InsertImage pode utilizar imagens de diferentes fontes:
- De um arquivo ou
URLpassando um parâmetro de stringDocumentBuilder->InsertImage. - De um fluxo passando um parâmetro
StreamDocumentBuilder->InsertImage. - De um objeto de imagem passando um parâmetro de Imagem
DocumentBuilder->InsertImage. - De uma matriz de bytes passando um parâmetro de matriz de bytes
DocumentBuilder.InsertImage.Para cada um dos métodosDocumentBuilder->InsertImage, existem outras sobrecargas que permitem inserir uma imagem com as seguintes opções: - Inline ou flutuante numa posição específica, por exemplo,
DocumentBuilder->InsertImage. - Escala percentual ou tamanho personalizado, por exemplo,
DocumentBuilder.InsertImage. Além disso, o métodoDocumentBuilder->InsertImageretorna um objetoShapeque acabou de ser criado e inserido para que você possa modificar ainda mais as propriedades da forma.
Inserir uma imagem embutida
Passe uma única string representando um arquivo que contém a imagem para DocumentBuilder->InsertImage para inserir a imagem no documento como um gráfico embutido. O exemplo abaixo mostra como inserir uma imagem embutida na posição do cursor em um documento.
Inserir uma imagem flutuante (absolutamente posicionada)
Este exemplo insere uma imagem flutuante de um arquivo ou URL em uma posição e tamanho especificados.
Inserir um marcador
Para inserir um marcador no documento, você deve fazer o seguinte:
- Chame
DocumentBuilder->StartBookmarkpassando - lhe o nome desejado do marcador. - Insira o texto do marcador utilizando os métodos DocumentBuilder.
- Chame
DocumentBuilder.EndBookmarkpassando o mesmo nome que você usou com DocumentBuilder->StartBookmark. - Os marcadores podem sobrepor-se e abranger qualquer intervalo. Para criar um marcador válido, é necessário chamar
DocumentBuilder->StartBookmarkeDocumentBuilder->EndBookmarkcom o mesmo nome de marcador.
O exemplo abaixo mostra como inserir um marcador em um documento usando um construtor de documentos.
Inserir um campo Form
Os campos de formulário são um caso particular de campos de palavras que permitem “interacção” com o utilizador. Os campos de formulário em Microsoft Word incluem caixa de texto, caixa de combinação e caixa de seleção.DocumentBuilder fornece métodos especiais para inserir cada tipo de campo de formulário no documento: DocumentBuilder.InsertTextInput, DocumentBuilder->InsertCheckBox e DocumentBuilder.InsertComboBox. Observe que, se você especificar um nome para o campo do formulário, um marcador será criado automaticamente com o mesmo nome.
Inserir uma entrada de texto
DocumentBuilder.InsertTextInput para inserir uma caixa de texto no documento. O exemplo abaixo mostra como inserir um campo de formulário de entrada de texto em um documento.
Inserir uma caixa de verificação
Chame DocumentBuilder.InsertCheckBox para inserir uma caixa de seleção no documento. O exemplo abaixo mostra como inserir um campo de formulário de caixa de seleção em um documento.
Inserir uma caixa de combinação
Chame DocumentBuilder.InsertComboBox para inserir uma caixa de combinação no documento. O exemplo abaixo mostra como inserir um campo de formulário de caixa de combinação em um documento.
Inserir localidade ao nível do campo
Os clientes podem agora especificar a localidade ao nível do campo e obter um melhor controlo. Os Ids de localidade podem ser associados a cada campo dentro do DocumentBuilder. Os exemplos abaixo ilustram como utilizar esta opção.
Inserir uma hiperligação
Utilize DocumentBuilder.InsertHyperlink para inserir uma hiperligação no documento. Este método Aceita três parâmetros: texto do link a ser exibido no documento, destino do link (URL ou o nome de um marcador dentro do documento) e um parâmetro booleano que deve ser verdadeiro se o URL for o nome de um marcador dentro do documento.DocumentBuilder.InsertHyperlink chama internamente DocumentBuilder.InsertField.O método sempre adiciona apóstrofos no início e no final do URL. Observe que você precisa especificar a formatação da fonte para o texto de exibição do hiperlink explicitamente usando a propriedade Font. O exemplo abaixo insere uma hiperligação num documento utilizando DocumentBuilder.
Inserir Objecto Ole
Se você quiser OLE Object call DocumentBuilder.InsertOleObject. Passe para este método o ProgId explicitamente com outros parâmetros. O exemplo abaixo mostra como inserir o objeto Ole em um documento.
Definir o nome e a extensão do ficheiro ao inserir o objecto Ole
OLE package é uma maneira legada e" não documentada " de armazenar objetos incorporados se o manipulador OLE for desconhecido. As primeiras Windows versões como Windows 3.1, 95 e 98 tinham Packager.aplicação exe que pode ser utilizada para incorporar qualquer tipo de dados no documento. Agora, este aplicativo é excluído do Windows mas MS Word e outros aplicativos ainda o usam para incorporar dados se o manipulador OLE estiver ausente ou desconhecido. OlePackage classe permite aceder a OLE Propriedades do pacote. Abaixo exemplo mostra como definir o nome do arquivo, extensão e nome de exibição para OLE Pacote.
Inserir HTML
Você pode inserir facilmente uma string HTML que contenha um fragmento HTML ou um documento HTML inteiro no documento do Word. Basta passar esta string para o método DocumentBuilder->InsertHtml. Uma das implementações úteis do método é armazenar uma string HTML em um banco de dados e inseri-la no documento durante Mail Merge para obter o conteúdo formatado adicionado em vez de construí-lo usando vários métodos do construtor de documentos. O exemplo abaixo mostra inserções HTML em um documento usando DocumentBuilder.
Inserir Regra Horizontal no documento
O exemplo Below code mostra como inserir a forma de regra horizontal em um documento usando o método DocumentBuilder->InsertHorizontalRule.