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.CellFormat
para 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.EndRow
para terminar a linha atual. Se necessário, use a propriedadeDocumentBuilder.RowFormat
para especificar a formatação da linha. - Repita os passos 2 - 5 até que a tabela esteja completa.
- Chame
DocumentBuilder.EndTable
para 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
URL
passando um parâmetro de stringDocumentBuilder->InsertImage
. - De um fluxo passando um parâmetro
Stream
DocumentBuilder->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->InsertImage
retorna um objetoShape
que 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->StartBookmark
passando - lhe o nome desejado do marcador. - Insira o texto do marcador utilizando os métodos DocumentBuilder.
- Chame
DocumentBuilder.EndBookmark
passando 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->StartBookmark
eDocumentBuilder->EndBookmark
com 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
.