Работа с текстовым документом

В этой статье мы узнаем, какие опции могут быть полезны для работы с текстовым документом через Aspose.Words. Пожалуйста, обратите внимание, что это не полный список доступных опций, а лишь пример работы с некоторыми из них.

Добавление двунаправленных меток

Вы можете использовать свойство AddBidiMarks, чтобы указать, следует ли добавлять двунаправленные метки перед каждым запуском BiDi при экспорте в обычном текстовом формате. Aspose.Words вставляет символ Юникода ‘RIGHT-TO-LEFT MARK’ (U+200F) перед каждым двунаправленным вводом в тексте. Этот параметр соответствует параметру “Добавить двунаправленные метки” в диалоговом окне преобразования файлов MS Word при экспорте в обычный текстовый формат. Обратите внимание, что он отображается в диалоговом окне только в том случае, если в MS Word добавлен какой-либо из языков редактирования - арабский или иврит.

В следующем примере кода показано, как использовать свойство TxtSaveOptions.AddBidiMarks. Значение этого свойства по умолчанию равно true:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Input.docx");
TxtSaveOptions saveOptions = new TxtSaveOptions();
//The default value is false.
saveOptions.setAddBidiMarks(true);
dataDir = dataDir + "Document.AddBidiMarks_out.txt";
doc.save(dataDir, saveOptions);

Распознавать элементы Списка Во время Загрузки TXT

Aspose.Words может импортировать элементы списка из текстового файла в виде списковых номеров или обычного текста в свою объектную модель документа. Свойство DetectNumberingWithWhitespaces позволяет указать, как распознаются элементы нумерованного списка при импорте документа из обычного текстового формата:

  • Если для этого параметра установлено значение true, пробелы также используются в качестве разделителей номеров списков: алгоритм распознавания списков для нумерации в арабском стиле (1., 1.1.2.) использует как пробелы, так и точки (".").
  • Если для этого параметра установлено значение false, алгоритм распознавания списков распознает абзацы списка, когда номера списков заканчиваются точкой, правой скобкой или маркером (например, “•”, “*”, “-” или “o”).

В следующем примере кода показано, как использовать это свойство:

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

Обрабатывать начальные и конечные пробелы во время загрузки TXT

Вы можете управлять способом обработки начальных и конечных пробелов при загрузке файлов TXT. Начальные пробелы могут быть обрезаны, сохранены или преобразованы в отступ, а конечные пробелы могут быть обрезаны или сохранены.

В примере кода, приведенном ниже, показано, как обрезать начальные и конечные пробелы при импорте файла TXT:

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

Определение направления текста документа

Aspose.Words предоставляет свойство DocumentDirection в классе TxtLoadOptions для определения направления текста (RTL / LTR) в документе. Это свойство задает или возвращает направление текста документа, указанное в перечислении DocumentDirection. Значение по умолчанию - слева направо.

В следующем примере кода показано, как определить направление текста документа при импорте файла TXT:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
TxtLoadOptions loadOptions = new TxtLoadOptions();
loadOptions.setDocumentDirection(DocumentDirection.AUTO);
Document doc = new Document(dataDir + "arabic.txt", loadOptions);
Paragraph paragraph = doc.getFirstSection().getBody().getFirstParagraph();
System.out.println(paragraph.getParagraphFormat().getBidi());
dataDir = dataDir + "DocumentDirection_out.docx";
doc.save(dataDir);

Экспортируйте верхний и нижний колонтитулы в выходной файл TXT

Если вы хотите экспортировать верхний и нижний колонтитулы в выходной документ TXT, вы можете использовать свойство ExportHeadersFootersMode. Это свойство определяет способ экспорта верхних и нижних колонтитулов в обычный текстовый формат.

В следующем примере кода показано, как экспортировать верхние и нижние колонтитулы в обычный текстовый формат:

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

Отступ для списка экспорта в выходных данных TXT

Aspose.Words введен класс TxtListIndentation, который позволяет указывать отступы для уровней списка при экспорте в обычный текстовый формат. При работе с TxtSaveOption свойство ListIndentation используется для указания символа, который будет использоваться для отступов на уровнях списка, и для определения количества символов, которые будут использоваться в качестве отступов на одном уровне списка.

Значение по умолчанию для свойства character равно ‘\0’, что указывает на отсутствие отступа. Для свойства count значение по умолчанию равно 0, что означает отсутствие отступа.

Использование символа табуляции

В следующем примере кода показано, как экспортировать уровни списка с использованием символов табуляции:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Input.docx");
TxtSaveOptions options = new TxtSaveOptions();
options.getListIndentation().setCount(1);
options.getListIndentation().setCharacter('\t');
doc.save(dataDir + "output.txt", options);

Использование символа пробела

В следующем примере кода показано, как экспортировать уровни списка с использованием пробелов:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Input.docx");
TxtSaveOptions options = new TxtSaveOptions();
options.getListIndentation().setCount(3);
options.getListIndentation().setCharacter(' ');
doc.save(dataDir + "output.txt", options);

Использование отступов по умолчанию

В следующем примере кода показано, как экспортировать уровни списка с использованием отступов по умолчанию:

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