Trabalhar 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 de opções disponíveis, mas apenas um exemplo de trabalho 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 caracteres Unicode’RIGHT-TO-LEFT MARK' (U + 200F) antes de cada execução bidirecional no texto. Esta opção corresponde à opção" Adicionar marcas bidirecionais " no diálogo de conversão de ficheiros do Word MS quando exporta para um formato de texto simples. Observe que ele aparece no diálogo apenas se qualquer um dos idiomas de edição em árabe ou hebraico for adicionado em MS palavra.

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-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Input.docx");
System::SharedPtr<TxtSaveOptions> saveOptions = System::MakeObject<TxtSaveOptions>();
saveOptions->set_AddBidiMarks(true);
System::String outputPath = outputDataDir + u"WorkingWithTxt.AddBidiMarks.txt";
doc->Save(outputPath, saveOptions);

Reconhecer Itens Da Lista Durante O Carregamento TXT

Aspose.Words pode importar item 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 de lista numerados 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 utilizados como delimitadores de número de lista: algoritmo de reconhecimento de lista para numeração de 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 de lista terminam com símbolos de ponto, colchete direito ou 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-C
System::SharedPtr<TxtLoadOptions> loadOptions = System::MakeObject<TxtLoadOptions>();
loadOptions->set_DetectNumberingWithWhitespaces(false);
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"LoadTxt.txt", loadOptions);
System::String outputPath = outputDataDir + u"WorkingWithTxt.DetectNumberingWithWhitespaces.docx";
doc->Save(outputPath);

Como lidar com espaços à esquerda e à direita durante o carregamento TXT

Você pode controlar a maneira de lidar com espaços iniciais e finais durante o carregamento do arquivo TXT. Os espaços à esquerda poderiam ser aparados, preservados ou convertidos em travessão e os espaços à direita poderiam ser aparados ou preservados.

O exemplo de código a seguir mostra como cortar espaços à esquerda e à direita ao importar o arquivo TXT:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<TxtLoadOptions> loadOptions = System::MakeObject<TxtLoadOptions>();
loadOptions->set_LeadingSpacesOptions(TxtLeadingSpacesOptions::Trim);
loadOptions->set_TrailingSpacesOptions(TxtTrailingSpacesOptions::Trim);
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"LoadTxt.txt", loadOptions);
System::String outputPath = outputDataDir + u"WorkingWithTxt.HandleSpacesOptions.docx";
doc->Save(outputPath);

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

Se pretender exportar cabeçalho e rodapé no documento de saída TXT, pode utilizar 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 o formato de texto simples:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"TxtExportHeadersFootersMode.docx");
System::SharedPtr<TxtSaveOptions> options = System::MakeObject<TxtSaveOptions>();
options->set_SaveFormat(SaveFormat::Text);
// All headers and footers are placed at the very end of the output document.
options->set_ExportHeadersFootersMode(TxtExportHeadersFootersMode::AllAtEnd);
doc->Save(outputDataDir + u"WorkingWithTxt.ExportHeadersFootersMode.AllAtEnd.txt", options);
// Only primary headers and footers are exported at the beginning and end of each section.
options->set_ExportHeadersFootersMode(TxtExportHeadersFootersMode::PrimaryOnly);
doc->Save(outputDataDir + u"WorkingWithTxt.ExportHeadersFootersMode.PrimaryOnly.txt", options);
// No headers and footers are exported.
options->set_ExportHeadersFootersMode(TxtExportHeadersFootersMode::None);
doc->Save(outputDataDir + u"WorkingWithTxt.ExportHeadersFootersMode.None.txt", options);

Recuo da lista de exportação na saída TXT

Aspose.Words introduziu a classe TxtListIndentation que permite especificar como os níveis de lista são recuados ao exportar 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 um nível de lista.

O valor padrão para a propriedade character é ' \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 O 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-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"input_document");
System::SharedPtr<TxtSaveOptions> options = System::MakeObject<TxtSaveOptions>();
options->get_ListIndentation()->set_Count(1);
options->get_ListIndentation()->set_Character(u'\t');
doc->Save(outputDataDir + u"WorkingWithTxt.UseTabCharacterPerLevelForListIndentation.txt", options);

Utilização De Caracteres De Espaço

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-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"input_document");
System::SharedPtr<TxtSaveOptions> options = System::MakeObject<TxtSaveOptions>();
options->get_ListIndentation()->set_Count(3);
options->get_ListIndentation()->set_Character(u' ');
doc->Save(outputDataDir + u"WorkingWithTxt.UseSpaceCharacterPerLevelForListIndentation.txt", options);

Utilização Da Indentação Predefinida

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-C
System::SharedPtr<Document> doc1 = System::MakeObject<Document>(inputDataDir + u"input_document");
doc1->Save(outputDataDir + u"WorkingWithTxt.DefaultLevelForListIndentation1.txt");
//Document doc2 = new Document("input_document");
System::SharedPtr<Document> doc2 = System::MakeObject<Document>(inputDataDir + u"Input.docx");
System::SharedPtr<TxtSaveOptions> options = System::MakeObject<TxtSaveOptions>();
doc2->Save(outputDataDir + u"WorkingWithTxt.DefaultLevelForListIndentation2.txt", options);