export_roundtrip_information property
HtmlSaveOptions.export_roundtrip_information property
Specifies whether to write the roundtrip information when saving to HTML, MHTML or EPUB.
Default value is True
for HTML and False
for MHTML and EPUB.
@property
def export_roundtrip_information(self) -> bool:
...
@export_roundtrip_information.setter
def export_roundtrip_information(self, value: bool):
...
Remarks
Saving of the roundtrip information allows to restore document properties such as tab stops, comments, headers and footers during the HTML documents loading back into a Document object.
When True
, the roundtrip information is exported as -aw-* CSS properties
of the corresponding HTML elements.
When False
, causes no roundtrip information to be output into produced files.
Examples
Shows how to preserve hidden elements when converting to .html.
doc = aw.Document(MY_DIR + 'Rendering.docx')
# When converting a document to .html, some elements such as hidden bookmarks, original shape positions,
# or footnotes will be either removed or converted to plain text and effectively be lost.
# Saving with a HtmlSaveOptions object with "export_roundtrip_information" set to True will preserve these elements.
# When we save the document to HTML, we can pass a SaveOptions object to determine
# how the saving operation will export document elements that HTML does not support or use,
# such as hidden bookmarks and original shape positions.
# If we set the "export_roundtrip_information" flag to "True", the save operation will preserve these elements.
# If we set the "export_roundtrip_information" flag to "False", the save operation will discard these elements.
# We will want to preserve such elements if we intend to load the saved HTML using Aspose.Words,
# as they could be of use once again.
options = aw.saving.HtmlSaveOptions()
options.export_roundtrip_information = export_roundtrip_information
doc.save(ARTIFACTS_DIR + 'HtmlSaveOptions.round_trip_information.html', options)
with open(ARTIFACTS_DIR + 'HtmlSaveOptions.round_trip_information.html', 'rt', encoding='utf-8') as file:
out_doc_contents = file.read()
doc = aw.Document(ARTIFACTS_DIR + 'HtmlSaveOptions.round_trip_information.html')
if export_roundtrip_information:
self.assertIn('<div style="-aw-headerfooter-type:header-primary; clear:both">', out_doc_contents)
self.assertIn('<span style="-aw-import:ignore"> </span>', out_doc_contents)
self.assertIn('td colspan="2" style="width:210.6pt; border-style:solid; border-width:0.75pt 6pt 0.75pt 0.75pt; ' + 'padding-right:2.4pt; padding-left:5.03pt; vertical-align:top; ' + '-aw-border-bottom:0.5pt single; -aw-border-left:0.5pt single; -aw-border-top:0.5pt single">', out_doc_contents)
self.assertIn('<li style="margin-left:30.2pt; padding-left:5.8pt; -aw-font-family:\'Courier New\'; -aw-font-weight:normal; -aw-number-format:\'o\'">', out_doc_contents)
self.assertIn('<img src="HtmlSaveOptions.round_trip_information.003.jpeg" width="350" height="180" alt="" ' + 'style="-aw-left-pos:0pt; -aw-rel-hpos:column; -aw-rel-vpos:paragraph; -aw-top-pos:0pt; -aw-wrap-type:inline" />', out_doc_contents)
self.assertIn('<span>Page number </span>' + '<span style="-aw-field-start:true"></span>' + '<span style="-aw-field-code:\' PAGE \\\\* MERGEFORMAT \'"></span>' + '<span style="-aw-field-separator:true"></span>' + '<span>1</span>' + '<span style="-aw-field-end:true"></span>', out_doc_contents)
self.assertEqual(1, len([f for f in doc.range.fields if f.type == aw.fields.FieldType.FIELD_PAGE]))
else:
self.assertIn('<div style="clear:both">', out_doc_contents)
self.assertIn('<span> </span>', out_doc_contents)
self.assertIn('<td colspan="2" style="width:210.6pt; border-style:solid; border-width:0.75pt 6pt 0.75pt 0.75pt; ' + 'padding-right:2.4pt; padding-left:5.03pt; vertical-align:top">', out_doc_contents)
self.assertIn('<li style="margin-left:30.2pt; padding-left:5.8pt">', out_doc_contents)
self.assertIn('<img src="HtmlSaveOptions.round_trip_information.003.jpeg" width="350" height="180" alt="" />', out_doc_contents)
self.assertIn('<span>Page number 1</span>', out_doc_contents)
self.assertEqual(0, len([f for f in doc.range.fields if f.type == aw.fields.FieldType.FIELD_PAGE]))
See Also
- module aspose.words.saving
- class HtmlSaveOptions