Работа с текстов документ
В тази статия ще научим какви опции могат да бъдат полезни за работа с текстов документ чрез 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") |
Export Header and Footer in Output TXT
Ако искате да експортирате заглавната част и подножието в изходния 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) |