Práce s dokumentem
V tomto článku se dozvíme, jaké možnosti mohou být užitečné pro práci s textovým dokumentem prostřednictvím Aspose.Words. Vezměte prosím na vědomí, že to není úplný seznam dostupných možností, ale jen příklad spolupráce s některými z nich.
Přidat bi Directional Značky
Můžete použít add_bidi_marks vlastnost určit, zda přidat obousměrné značky před každým spuštěním BiDi při exportu v jednoduchém textovém formátu. Aspose.Words vloží před každý obousměrný znak Unicode ‘RIGHT-TO-LEFT MARK’ (U+200F) Run v textu. Tato volba odpovídá možnosti “Přidat obousměrné značky” v dialogu MS Word File Conversion, když exportujete do jednoduchého formátu textu. Všimněte si, že se v dialogu objevuje pouze tehdy, pokud jsou v MS Word přidány některé arabské nebo hebrejské editační jazyky.
Následující příklad kódu ukazuje, jak používat add_bidi_marks majetek. Výchozí hodnota této vlastnosti je 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) |
Poznejte položky seznamu během načítání TXT
Aspose.Words může importovat položku seznamu textového souboru jako čísla seznamů nebo prostý text ve svém modelu objektu dokumentu. • detect_numbering_with_whitespaces vlastnost umožňuje určit, jak jsou očíslované položky seznamu rozpoznány při importu dokumentu z prostého textového formátu:
- Pokud je tato volba nastavena
True
, Whitespace se také používají jako oddělovače čísel seznamu: algoritmus rozpoznávání seznamu pro číslování arabského stylu (1., 1.1.2.) používá symboly Whitespace i tečka ("."). - Pokud je tato volba nastavena
False
, zobrazí rozpoznávací algoritmus seznam odstavců, kdy čísla seznamu končí buď tečkou, pravým držákem nebo symboly kulky (např. “•,” “*,” “-” nebo “o”).
Následující příklad kódu ukazuje, jak používat tuto vlastnost:
# 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") |
Manipulace vedoucími a trailingové prostory během načítání TXT
Během načítání TXT souboru můžete ovládat způsob manipulace s vedoucími a stezkami. Přední prostory by mohly být ořezány, konzervovány nebo přeměněny na odsazení a mohly by být ořezány nebo zachovány.
Následující příklad kódu ukazuje, jak při importu TXT souboru vystřihnout vedoucí a stopovací prostory:
# 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") |
Detekovat dokument Směr textu
Aspose.Words poskytuje document_direction majetek v TxtLoadOptions třída pro detekci směru textu (RTL / LTR) v dokumentu. Tato vlastnost nastavuje nebo získává textové pokyny dokumentu uvedené v DocumentDirection vyjmenování. Výchozí hodnota je zleva doprava.
Následující příklad kódu ukazuje, jak zjistit směr textu dokumentu při importu TXT souboru:
# 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 hlavičky a zápatí ve výstupu TXT
Pokud chcete exportovat hlavičku a zápatí ve výstupním TXT dokumentu, můžete použít export_headers_footers_mode majetek. Tato vlastnost určuje způsob exportu hlaviček a zápatí do textového formátu.
Následující příklad kódu ukazuje, jak exportovat hlavičky a zápatí do jednoduchého formátu textu:
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)
Exportovat seznam odsazení ve výstupu TXT
Aspose.Words zavedeno TxtListIndentation třída, která umožňuje určit, jak jsou úrovně seznamu odsazeny při exportu do jednoduchého formátu textu. Při práci s TxtSaveOption, vá list_indentation vlastnost je poskytována pro upřesnění znaku, který má být použit pro odsazení úrovní seznamu a počet uvádějící, kolik znaků použít jako odsazení na jednu úroveň seznamu. Výchozí hodnota vlastnosti znaku je ‘\0’ udávající, že neexistuje odsazení. U vlastnosti počítání je výchozí hodnota 0, což znamená, že není vsazena.
Použití znaku karty
Následující příklad kódu ukazuje, jak exportovat úrovně seznamu pomocí znaků karty:
# 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) |
Použití prostorového znaku
Následující příklad kódu ukazuje, jak exportovat úrovně seznamu pomocí znaků mezer:
# 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) |