Como trabalhar com parágrafos
Este tópico discute a classe Parágrafo do SDK Open XML e como ela se relaciona com o esquema WordprocessingML do Formato de Arquivo XML Aberto.
Parágrafos no WordprocessingML
O texto a seguir da especificação ISO/IEC 29500 apresenta o elemento Open XML WordprocessingML usado para representar um parágrafo em um documento WordprocessingML.
A unidade mais básica de conteúdo em nível de bloco dentro de um documento WordprocessingML, os parágrafos são armazenados usando o <elemento p> . Um parágrafo define uma divisão distinta de conteúdo que começa em uma nova linha. Um parágrafo pode conter três informações: propriedades de parágrafo opcionais, conteúdo embutido (normalmente executado) e um conjunto de IDs de revisão opcionais usadas para comparar o conteúdo de dois documentos.
As propriedades de um parágrafo são especificadas por meio do <elemento pPr>. Alguns exemplos de propriedades de parágrafo são alinhamento, borda, substituição de hifenização, recuo, espaçamento de linha, sombreamento, direção de texto e controle viúva/órfão.
© ISO/IEC29500: 2008.
A tabela a seguir lista as classes de SDK Open XML mais comuns usadas ao trabalhar com parágrafos.
Elemento WordprocessingML | Classe SDK Open XML |
---|---|
p | Paragraph |
Ppr | ParagraphProperties |
R | Executar |
T | Texto |
Classe Parágrafo
A classe Parágrafo do SDK Open XML representa o elemento parágrafo (<p>) definido no esquema Open XML File Format para documentos WordprocessingML, conforme discutido acima. Use o objeto Parágrafo para manipular elementos p> individuais < em um documento WordprocessingML.
Classe ParagraphProperties
No WordprocessingML, as propriedades de um parágrafo são especificadas por meio do elemento pPr> (<propriedades de parágrafo). Alguns exemplos de propriedades de parágrafo são alinhamento, borda, substituição de hifenização, recuo, espaçamento de linha, sombreamento, direção de texto e controle viúva/órfão. A classe OxML SDK ParagraphProperties representa o < elemento pPr>.
Classe Run
Os parágrafos em um documento de processamento de palavras geralmente contêm texto. No esquema formato de arquivo OXML para documentos WordprocessingML, o elemento run (<r>) é fornecido para demarcar uma região de texto. A classe SDK Run do OXML representa o < elemento r>.
Objeto Text
Com o < elemento r>, o elemento de texto (<t>) é o contêiner para o texto que compõe o conteúdo do documento. A classe de texto SDK OXML representa o < elemento t>.
Abrir o exemplo de código do SDK XML
O código a seguir instancia um objetoParágrafo do SDK Open XML e o usa para adicionar texto a um documento WordprocessingML.
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System;
WriteToWordDoc(args[0], args[1]);
static void WriteToWordDoc(string filepath, string txt)
{
// Open a WordprocessingDocument for editing using the filepath.
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open(filepath, true))
{
if (wordprocessingDocument is null)
{
throw new ArgumentNullException(nameof(wordprocessingDocument));
}
// Assign a reference to the existing document body.
MainDocumentPart mainDocumentPart = wordprocessingDocument.MainDocumentPart ?? wordprocessingDocument.AddMainDocumentPart();
mainDocumentPart.Document ??= new Document();
Body body = mainDocumentPart.Document.Body ?? mainDocumentPart.Document.AppendChild(new Body());
// Add a paragraph with some text.
Paragraph para = body.AppendChild(new Paragraph());
Run run = para.AppendChild(new Run());
run.AppendChild(new Text(txt));
}
}
Confira também
Sobre o SDK do Open XML para Office
Como aplicar um estilo a um parágrafo em um documento de processamento de palavras
Como abrir e adicionar texto a um documento de processamento de palavras