Metin Belgesiyle Çalışmak
Bu yazıda Aspose.Words aracılığıyla bir metin belgesiyle çalışmak için hangi seçeneklerin yararlı olabileceğini öğreneceğiz. Lütfen bunun mevcut seçeneklerin tam bir listesi olmadığını, yalnızca bazılarıyla çalışmanın bir örneği olduğunu unutmayın.
Çift Yönlü İşaretler Ekle
Düz metin biçiminde dışa aktarırken her Çift Yönlü çalıştırmadan önce çift yönlü işaretlerin eklenip eklenmeyeceğini belirlemek için add_bidi_marks özelliğini kullanabilirsiniz. Aspose.Words, metindeki her iki yönlü Run‘in önüne ‘SAĞDAN SOL İŞARETİ’ (U+200F) Unicode Karakterini ekler. Bu seçenek, Düz Metin formatına dışa aktardığınızda MS Word Dosya Dönüştürme iletişim kutusundaki “Çift yönlü işaretler ekle” seçeneğine karşılık gelir. Yalnızca MS Word’e Arapça veya İbranice düzenleme dillerinden herhangi birinin eklenmesi durumunda diyalogda görüneceğini unutmayın.
Aşağıdaki kod örneği add_bidi_marks özelliğinin nasıl kullanılacağını gösterir. Bu özelliğin varsayılan değeri False
‘dir:
# 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 Yükleme Sırasında Liste Öğelerini Tanı
Aspose.Words, bir metin dosyasının liste öğesini, belge nesne modelinde liste numaraları veya düz metin olarak içe aktarabilir. detect_numbering_with_whitespaces özelliği, bir belge düz metin formatından içe aktarıldığında numaralı liste öğelerinin nasıl tanınacağını belirtmenize olanak tanır:
- Bu seçenek
True
olarak ayarlanırsa boşluklar aynı zamanda liste numarası sınırlayıcıları olarak da kullanılır: Arapça stil numaralandırma için liste tanıma algoritması (1., 1.1.2.) hem boşlukları hem de nokta (".") sembollerini kullanır. - Bu seçenek
False
olarak ayarlanırsa, liste numaraları nokta, sağ köşeli parantez veya madde işareti sembolleriyle ("•", “*”, “-” veya “o” gibi) bittiği zaman, liste tanıma algoritması liste paragraflarını algılar.
Aşağıdaki kod örneği bu özelliğin nasıl kullanılacağını gösterir:
# 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 Yükleme Sırasında Öndeki ve Sondaki Boşlukları İşleyin
TXT dosyası yüklenirken baştaki ve sondaki boşlukların işlenme şeklini kontrol edebilirsiniz. Öndeki boşluklar kesilebilir, korunabilir veya girintiye dönüştürülebilir ve arkadaki boşluklar kesilebilir veya korunabilir.
Aşağıdaki kod örneği, TXT dosyasını içe aktarırken öndeki ve sondaki boşlukların nasıl kırpılacağını gösterir:
# 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") |
Belge Metin Yönünü Algıla
Aspose.Words, belgedeki metin yönünü (RTL/LTR) algılamak için TxtLoadOptions sınıfında document_direction özelliğini sağlar. Bu özellik, DocumentDirection numaralandırmasında sağlanan belge metni yönlerini ayarlar veya alır. Varsayılan değer soldan sağadır.
Aşağıdaki kod örneği, TXT dosyasını içe aktarırken belgenin metin yönünün nasıl algılanacağını gösterir:
# 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 Çıkışında Üstbilgi ve Altbilgiyi Dışa Aktarma
Çıkış TXT belgesinde üstbilgi ve altbilgiyi dışa aktarmak istiyorsanız export_headers_footers_mode özelliğini kullanabilirsiniz. Bu özellik, üstbilgilerin ve altbilgilerin düz metin biçimine nasıl aktarılacağını belirtir.
Aşağıdaki kod örneği, üstbilgilerin ve altbilgilerin düz metin biçimine nasıl aktarılacağını gösterir:
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)
Çıkış TXT’sinde Liste Girintisini Dışa Aktarma
Aspose.Words, düz metin biçimine dışa aktarırken liste düzeylerinin nasıl girintili olacağını belirtmeye olanak tanıyan TxtListIndentation sınıfını tanıttı. TxtSaveOption ile çalışırken, liste düzeylerini girintilemek için kullanılacak karakteri belirtmek ve bir liste düzeyi başına girinti olarak kaç karakter kullanılacağını belirten sayıyı belirtmek için list_indentation özelliği sağlanır. Karakter özelliğinin varsayılan değeri ‘\0’ olup girinti olmadığını gösterir. Count özelliği için varsayılan değer 0’dır, bu da girinti olmadığı anlamına gelir.
Sekme Karakterini Kullanma
Aşağıdaki kod örneği, sekme karakterlerini kullanarak liste düzeylerinin nasıl dışarı aktarılacağını gösterir:
# 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) |
Boşluk Karakterini Kullanma
Aşağıdaki kod örneği, boşluk karakterlerini kullanarak liste düzeylerinin nasıl dışarı aktarılacağını gösterir:
# 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) |