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

В тази статия ще научим какви опции могат да бъдат полезни за работа с текстов документ чрез Aspose.Words. Моля, имайте предвид, че това не е пълен списък с налични опции, а само пример за работа с някои от тях.

Добавяне на двуредов Маркировки

Можеш да използваш add_bidi_marks собственост, за да се уточни дали да се добавят двупосочни знаци преди всяко Bidi да се стартира при износ в обикновен текстов формат. Aspose.Words вмъква Unicode Character ‘RIGHT-TO-LEFT MARK’ (U+200F) преди всеки двупосочен Run в текста. Тази опция съответства на опцията “Добави двупосочни марки” в диалог за преобразуване на файлове в MS Word, когато експортираш в обикновен текстов формат. Обърнете внимание, че тя се появява в диалога само ако някой от арабските или еврейските езици за редактиране е добавен в MS Word.

Следният пример с код показва как да използвате add_bidi_marks собственост. По подразбиране стойността на този имот е False:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.writeln("Hello world!")
builder.paragraph_format.bidi = True
builder.writeln("שלום עולם!")
builder.writeln("مرحبا بالعالم!")
saveOptions = aw.saving.TxtSaveOptions()
saveOptions.add_bidi_marks = True
doc.save(docs_base.artifacts_dir + "WorkingWithTxtSaveOptions.add_bidi_marks.txt", saveOptions)

Разпознаване на елементи от списъка при зареждане TXT

Aspose.Words може да импортира елемент от списъка на текстов файл като номера на списък или обикновен текст в неговия документ обект модел. На detect_numbering_with_whitespaces Имотът позволява да се посочи как се разпознават номерирани елементи от списъка при внос на документ от обикновен текстов формат:

  • Ако е зададена тази опция True, whitespaces се използват и като разделители на номера: алгоритъм за разпознаване на списък за номериране на арабски стил (1., 1.1.2.) използва както бели пространства, така и точки (".") символи.
  • Ако е зададена тази опция False, списък на алгоритмите за признаване открива списък параграфи, когато номерата завършват с точка, дясна скоба или символи на куршум (като например “•,” “*,” “-” или “o”).

Следният пример за код показва как да използвате това свойство:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
# Create a plaintext document in the form of a string with parts that may be interpreted as lists.
# Upon loading, the first three lists will always be detected by Aspose.words,
# and List objects will be created for them after loading.
textDoc = """Full stop delimiters:\n
1. First list item 1\n
2. First list item 2\n
3. First list item 3\n\n
Right bracket delimiters:\n
1) Second list item 1\n
2) Second list item 2\n
3) Second list item 3\n\n
Bullet delimiters:\n
• Third list item 1\n
• Third list item 2\n
• Third list item 3\n\n
Whitespace delimiters:\n
1 Fourth list item 1\n
2 Fourth list item 2\n
3 Fourth list item 3"""
# The fourth list, with whitespace inbetween the list number and list item contents,
# will only be detected as a list if "DetectNumberingWithWhitespaces" in a LoadOptions object is set to true,
# to avoid paragraphs that start with numbers being mistakenly detected as lists.
loadOptions = aw.loading.TxtLoadOptions()
loadOptions.detect_numbering_with_whitespaces = True
# Load the document while applying LoadOptions as a parameter and verify the result.
doc = aw.Document(io.BytesIO(textDoc.encode("utf-8")), loadOptions)
doc.save(docs_base.artifacts_dir + "WorkingWithTxtLoadOptions.detect_numbering_with_whitespaces.docx")

Дръжки Водещи и накланящи помещения по време на товарене TXT

Можете да контролирате начина на работа с водещи и следящи пространства по време на зареждане на TXT файл. Водещите пространства могат да бъдат подстригани, консервирани или преобразувани в вдлъбнатини и трасиращи пространства могат да бъдат подрязани или запазени.

Следният пример за код показва как да отрежете водещите и проследяващи пространства, докато внасяте TXT файл:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
textDoc = " Line 1 \n" + " Line 2 \n" + " Line 3 "
loadOptions = aw.loading.TxtLoadOptions()
loadOptions.leading_spaces_options = aw.loading.TxtLeadingSpacesOptions.TRIM
loadOptions.trailing_spaces_options = aw.loading.TxtTrailingSpacesOptions.TRIM
f = io.BytesIO(textDoc.encode("utf-8"))
doc = aw.Document(f, loadOptions)
doc.save(docs_base.artifacts_dir + "WorkingWithTxtLoadOptions.handle_spaces_options.docx")

Откриване на документ Посока на текста

Aspose.Words осигурява document_direction собственост в TxtLoadOptions клас за откриване на посоката на текста (RTL/LTR) в документа. Това свойство определя или получава документ текстови указания, предоставени в DocumentDirection Изброяване. По подразбиране стойността е отляво надясно.

Следният пример за код показва как да се открие текстовата посока на документа при вноса на TXT файл:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
loadOptions = aw.loading.TxtLoadOptions()
loadOptions.document_direction = aw.loading.DocumentDirection.AUTO
doc = aw.Document(docs_base.my_dir + "Hebrew text.txt", loadOptions)
paragraph = doc.first_section.body.first_paragraph
print(paragraph.paragraph_format.bidi)
doc.save(docs_base.artifacts_dir + "WorkingWithTxtLoadOptions.document_text_direction.docx")

Ако искате да експортирате заглавната част и подножието в изходния TXT документ, можете да използвате export_headers_footers_mode собственост. Този имот определя начина, по който заглавните части и стъпалата се изнасят в обикновения текстов формат.

Следният пример за код показва как да се експортират заглавни части и подножици в обикновен текстов формат:

doc = aw.Document(docs_base.my_dir + "Document.docx")

options = aw.saving.TxtSaveOptions()
options.save_format = aw.SaveFormat.TEXT

# All headers and footers are placed at the very end of the output document.
options.export_headers_footers_mode = aw.saving.TxtExportHeadersFootersMode.ALL_AT_END
doc.save(docs_base.artifacts_dir + "WorkingWithTxtSaveOptions.export_headers_footers_mode_A.txt", options)

# Only primary headers and footers are exported at the beginning and end of each section.
options.export_headers_footers_mode = aw.saving.TxtExportHeadersFootersMode.PRIMARY_ONLY
doc.save(docs_base.artifacts_dir + "WorkingWithTxtSaveOptions.export_headers_footers_mode_B.txt", options)

# No headers and footers are exported.
options.export_headers_footers_mode = aw.saving.TxtExportHeadersFootersMode.NONE
doc.save(docs_base.artifacts_dir + "WorkingWithTxtSaveOptions.export_headers_footers_mode_C.txt", options)

Идентифициране на списъка за експортиране в изход TXT

Aspose.Words въведени TxtListIndentation клас, който позволява да се посочи как се открояват нивата на списъка при износ в обикновен текстов формат. Докато работите с TxtSaveOption, на list_indentation Имотът се предоставя, за да се определи символът, който трябва да се използва за нивата на списъка с вдлъбнатини и да се брои, като се посочи колко знака да се използват като вдлъбнатина на ниво списък. Стойността по подразбиране за символното свойство е ‘\ 0’, което показва, че няма вдлъбнатина. За свойството на преброяването стойността по подразбиране е 0, което означава, че няма вдлъбнатина.

Използване на знака на подпрозореца

Следният пример за код показва как да се експортират нива на списъка с помощта на таб символи:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Create a list with three levels of indentation.
builder.list_format.apply_number_default()
builder.writeln("Item 1")
builder.list_format.list_indent()
builder.writeln("Item 2")
builder.list_format.list_indent()
builder.write("Item 3")
saveOptions = aw.saving.TxtSaveOptions()
saveOptions.list_indentation.count = 1
#saveOptions.list_indentation.character = '\t'
doc.save(docs_base.artifacts_dir + "WorkingWithTxtSaveOptions.use_tab_character_per_level_for_list_indentation.txt", saveOptions)

Използване на космически символ

Следният пример за код показва как да се експортират нива на списъка с използване на космически знаци:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Create a list with three levels of indentation.
builder.list_format.apply_number_default()
builder.writeln("Item 1")
builder.list_format.list_indent()
builder.writeln("Item 2")
builder.list_format.list_indent()
builder.write("Item 3")
saveOptions = aw.saving.TxtSaveOptions()
saveOptions.list_indentation.count = 3
#saveOptions.list_indentation.character = ' '
doc.save(docs_base.artifacts_dir + "WorkingWithTxtSaveOptions.use_space_character_per_level_for_list_indentation.txt", saveOptions)