Bekerja dengan Dokumen Teks
Pada artikel ini, kita akan mempelajari opsi apa saja yang berguna untuk bekerja dengan dokumen teks melalui Aspose.Words. Harap dicatat bahwa ini bukan daftar lengkap opsi yang tersedia, tetapi hanya contoh penggunaan beberapa di antaranya.
Tambahkan Tanda Dua Arah
Anda dapat menggunakan properti add_bidi_marks untuk menentukan apakah akan menambahkan tanda dua arah sebelum setiap BiDi dijalankan saat mengekspor dalam format teks biasa. Aspose.Words menyisipkan Karakter Unicode ‘TANDA KANAN-KIRI’ (U+200F) sebelum setiap Run dua arah dalam teks. Opsi ini sesuai dengan opsi “Tambahkan tanda dua arah” dalam dialog Konversi File MS Word saat Anda mengekspor ke format Teks Biasa. Perhatikan bahwa ini muncul dalam dialog hanya jika ada bahasa pengeditan Arab atau Ibrani yang ditambahkan di MS Word.
Contoh kode berikut menunjukkan cara menggunakan properti add_bidi_marks. Nilai default properti ini adalah 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) |
Kenali Item Daftar Saat Memuat TXT
Aspose.Words dapat mengimpor item daftar file teks sebagai nomor daftar atau teks biasa dalam model objek dokumennya. Properti detect_numbering_with_whitespaces memungkinkan menentukan bagaimana item daftar bernomor dikenali ketika dokumen diimpor dari format teks biasa:
- Jika opsi ini diatur ke
True
, spasi juga digunakan sebagai pembatas nomor daftar: algoritme pengenalan daftar untuk penomoran gaya Arab (1., 1.1.2.) menggunakan simbol spasi putih dan titik ("."). - Jika opsi ini diatur ke
False
, algoritme pengenalan daftar akan mendeteksi paragraf daftar, ketika nomor daftar diakhiri dengan titik, tanda kurung siku, atau simbol poin (seperti “•”, “*”, “-” atau “o”).
Contoh kode berikut menunjukkan cara menggunakan properti ini:
# 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") |
Menangani spasi Depan dan Belakang Selama Memuat TXT
Anda dapat mengontrol cara menangani spasi awal dan akhir selama memuat file TXT. Ruang-ruang terdepan dapat dipangkas, dilestarikan atau diubah menjadi indentasi dan ruang-ruang di belakang dapat dipangkas atau dilestarikan.
Contoh kode berikut menunjukkan cara memangkas spasi awal dan akhir saat mengimpor file 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") |
Deteksi Arah Teks Dokumen
Aspose.Words menyediakan properti document_direction di kelas TxtLoadOptions untuk mendeteksi arah teks (RTL/LTR) dalam dokumen. Properti ini menetapkan atau mendapatkan petunjuk teks dokumen yang disediakan dalam enumerasi DocumentDirection. Nilai defaultnya adalah dari kiri ke kanan.
Contoh kode berikut menunjukkan cara mendeteksi arah teks dokumen saat mengimpor file 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") |
Ekspor Header dan Footer di Output TXT
Jika Anda ingin mengekspor header dan footer dalam dokumen keluaran TXT, Anda dapat menggunakan properti export_headers_footers_mode. Properti ini menentukan cara header dan footer diekspor ke format teks biasa.
Contoh kode berikut menunjukkan cara mengekspor header dan footer ke format teks biasa:
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)
Ekspor Indentasi Daftar di Output TXT
Aspose.Words memperkenalkan kelas TxtListIndentation yang memungkinkan menentukan bagaimana tingkat daftar diindentasi saat mengekspor ke format teks biasa. Saat bekerja dengan TxtSaveOption, properti list_indentation disediakan untuk menentukan karakter yang akan digunakan untuk membuat indentasi level daftar dan menghitung menentukan berapa banyak karakter yang akan digunakan sebagai indentasi per satu level daftar. Nilai default untuk properti karakter adalah ‘\0’ yang menunjukkan bahwa tidak ada lekukan. Untuk properti count, nilai defaultnya adalah 0 yang berarti tidak ada lekukan.
Menggunakan Karakter Tab
Contoh kode berikut menunjukkan cara mengekspor tingkat daftar menggunakan karakter tab:
# 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) |
Menggunakan Karakter Luar Angkasa
Contoh kode berikut menunjukkan cara mengekspor level daftar menggunakan karakter spasi:
# 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) |