preserve_table_layout property
TxtSaveOptions.preserve_table_layout property
Specifies whether the program should attempt to preserve layout of tables when saving in the plain text format.
The default value is False
.
@property
def preserve_table_layout(self) -> bool:
...
@preserve_table_layout.setter
def preserve_table_layout(self, value: bool):
...
Examples
Shows how to preserve the layout of tables when converting to plaintext.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.start_table()
builder.insert_cell()
builder.write("Row 1, cell 1")
builder.insert_cell()
builder.write("Row 1, cell 2")
builder.end_row()
builder.insert_cell()
builder.write("Row 2, cell 1")
builder.insert_cell()
builder.write("Row 2, cell 2")
builder.end_table()
# Create a "TxtSaveOptions" object, which we can pass to the document's "Save" method
# to modify how we save the document to plaintext.
txt_save_options = aw.saving.TxtSaveOptions()
# Set the "preserve_table_layout" property to "True" to apply whitespace padding to the contents
# of the output plaintext document to preserve as much of the table's layout as possible.
# Set the "preserve_table_layout" property to "False" to save all tables' contents
# as a continuous body of text, with just a new line for each row.
txt_save_options.preserve_table_layout = preserve_table_layout
doc.save(ARTIFACTS_DIR + "TxtSaveOptions.preserve_table_layout.txt", txt_save_options)
with open(ARTIFACTS_DIR + "TxtSaveOptions.preserve_table_layout.txt", "rb") as file:
doc_text = file.read().decode("utf-8-sig")
if preserve_table_layout:
self.assertEqual(
"Row 1, cell 1 Row 1, cell 2\r\n" +
"Row 2, cell 1 Row 2, cell 2\r\n\r\n", doc_text)
else:
self.assertEqual(
"Row 1, cell 1\r" +
"Row 1, cell 2\r" +
"Row 2, cell 1\r" +
"Row 2, cell 2\r\r\n", doc_text)
See Also
- module aspose.words.saving
- class TxtSaveOptions