Trabalhando com documento de texto

Neste artigo aprenderemos quais opções podem ser úteis para trabalhar com um documento de texto via Aspose.Words. Observe que esta não é uma lista completa das opções disponíveis, mas apenas um exemplo de como trabalhar com algumas delas.

Adicionar marcas bidirecionais

Você pode usar a propriedade AddBidiMarks para especificar se deseja adicionar marcas bidirecionais antes de cada execução BiDi ao exportar em formato de texto simples. Aspose.Words insere o caractere Unicode ‘MARCA DA DIREITA PARA A ESQUERDA’ (U + 200F) antes de cada execução bidirecional no texto. Esta opção corresponde à opção “Adicionar marcas bidirecionais” na caixa de diálogo Conversão de arquivo do MS Word quando você exporta para um formato de texto simples. Observe que ele aparece na caixa de diálogo apenas se algum dos idiomas de edição árabe ou hebraico for adicionado ao MS Word.

O exemplo de código a seguir mostra como usar a propriedade AddBidiMarks. O valor padrão desta propriedade é false:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "Input.docx");
TxtSaveOptions saveOptions = new TxtSaveOptions();
saveOptions.AddBidiMarks = true;
dataDir = dataDir + "Document.AddBidiMarks_out.txt";
doc.Save(dataDir, saveOptions);

Reconhecer itens da lista durante o carregamento do TXT

Aspose.Words pode importar itens de lista de um arquivo de texto como números de lista ou texto simples em seu modelo de objeto de documento. A propriedade DetectNumberingWithWhitespaces permite especificar como os itens da lista numerada são reconhecidos quando um documento é importado do formato de texto simples:

  • Se esta opção estiver definida como true, os espaços em branco também serão usados como delimitadores de número de lista: o algoritmo de reconhecimento de lista para numeração em estilo árabe (1., 1.1.2.) usa espaços em branco e símbolos de ponto (".").

  • Se esta opção estiver definida como false, o algoritmo de reconhecimento de listas detecta parágrafos de lista, quando os números da lista terminam com ponto, colchete direito ou símbolos de marcador (como “•”, “*”, “-” ou “o”).

O exemplo de código a seguir mostra como usar essa propriedade:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
TxtLoadOptions loadOptions = new TxtLoadOptions();
loadOptions.DetectNumberingWithWhitespaces = false;
Document doc = new Document(dataDir + "LoadTxt.txt", loadOptions);
dataDir = dataDir + "DetectNumberingWithWhitespaces_out.docx";
doc.Save(dataDir);

Lidar com espaços iniciais e finais durante o carregamento TXT

Você pode controlar a forma de lidar com espaços iniciais e finais durante o carregamento do arquivo TXT. Os espaços iniciais podem ser aparados, preservados ou convertidos em recuo e os espaços finais podem ser aparados ou preservados.

O exemplo de código a seguir mostra como cortar espaços iniciais e finais ao importar um arquivo TXT:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
TxtLoadOptions loadOptions = new TxtLoadOptions();
loadOptions.LeadingSpacesOptions = TxtLeadingSpacesOptions.Trim;
loadOptions.TrailingSpacesOptions = TxtTrailingSpacesOptions.Trim;
Document doc = new Document(dataDir + "LoadTxt.txt", loadOptions);
dataDir = dataDir + "HandleSpacesOptions_out.docx";
doc.Save(dataDir);

Detectar a direção do texto do documento

Aspose.Words fornece a propriedade DocumentDirection na classe TxtLoadOptions para detectar a direção do texto (RTL/LTR) no documento. Esta propriedade define ou obtém instruções de texto do documento fornecidas na enumeração DocumentDirection. O valor padrão é deixado para right.

O exemplo de código a seguir mostra como detectar a direção do texto do documento ao importar o arquivo TXT:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
TxtLoadOptions loadOptions = new TxtLoadOptions();
loadOptions.DocumentDirection = DocumentDirection.Auto;
Document doc = new Document(dataDir + "arabic.txt", loadOptions);
Paragraph paragraph = doc.FirstSection.Body.FirstParagraph;
Console.WriteLine(paragraph.ParagraphFormat.Bidi);
dataDir = dataDir + "DocumentDirection_out.docx";
doc.Save(dataDir);

Exportar cabeçalho e rodapé na saída TXT

Se desejar exportar cabeçalho e rodapé no documento TXT de saída, você pode usar a propriedade ExportHeadersFootersMode. Esta propriedade especifica a forma como os cabeçalhos e rodapés são exportados para o formato de texto simples.

O exemplo de código a seguir mostra como exportar cabeçalhos e rodapés para formato de texto simples:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "TxtExportHeadersFootersMode.docx");
TxtSaveOptions options = new TxtSaveOptions();
options.SaveFormat = SaveFormat.Text;
// All headers and footers are placed at the very end of the output document.
options.ExportHeadersFootersMode = TxtExportHeadersFootersMode.AllAtEnd;
doc.Save(dataDir + "outputFileNameA.txt", options);
// Only primary headers and footers are exported at the beginning and end of each section.
options.ExportHeadersFootersMode = TxtExportHeadersFootersMode.PrimaryOnly;
doc.Save(dataDir + "outputFileNameB.txt", options);
// No headers and footers are exported.
options.ExportHeadersFootersMode = TxtExportHeadersFootersMode.None;
doc.Save(dataDir + "outputFileNameC.txt", options);

Exportar recuo da lista na saída TXT

Aspose.Words introduziu a classe TxtListIndentation que permite especificar como os níveis da lista são recuados durante a exportação para um formato de texto simples. Ao trabalhar com TxtSaveOption, a propriedade ListIndentation é fornecida para especificar o caractere a ser usado para recuar níveis de lista e contar especificando quantos caracteres usar como recuo por nível de lista.

O valor padrão para propriedade de caractere é ‘\0’ indicando que não há recuo. Para a propriedade count, o valor padrão é 0, o que significa que não há recuo.

Usando caractere de tabulação

O exemplo de código a seguir mostra como exportar níveis de lista usando caracteres de tabulação:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document("input_document");
TxtSaveOptions options = new TxtSaveOptions();
options.ListIndentation.Count = 1;
options.ListIndentation.Character = '\t';
doc.Save(dataDir + "output.txt", options);

Usando caractere espacial

O exemplo de código a seguir mostra como exportar níveis de lista usando caracteres de espaço:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document("input_document");
TxtSaveOptions options = new TxtSaveOptions();
options.ListIndentation.Count = 3;
options.ListIndentation.Character = ' ';
doc.Save(dataDir + "output.txt", options);

Usando recuo padrão

O exemplo de código a seguir mostra como exportar níveis de lista usando recuo padrão:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc1 = new Document("input_document");
doc1.Save(dataDir + "output1.txt");
Document doc2 = new Document("input_document");
TxtSaveOptions options = new TxtSaveOptions();
doc2.Save(dataDir + "output2.txt", options);