detect_numbering_with_whitespaces property
TxtLoadOptions.detect_numbering_with_whitespaces property
Allows to specify how numbered list items are recognized when document is imported from plain text format.
The default value is True
.
@property
def detect_numbering_with_whitespaces(self) -> bool:
...
@detect_numbering_with_whitespaces.setter
def detect_numbering_with_whitespaces(self, value: bool):
...
Remarks
If this option is set to False
, lists recognition algorithm detects list paragraphs, when list numbers ends with
either dot, right bracket or bullet symbols (such as “•”, “*”, “-” or “o”).
If this option is set to True
, whitespaces are also used as list number delimiters:
list recognition algorithm for Arabic style numbering (1., 1.1.2.) uses both whitespaces and dot (".") symbols.
Examples
Shows how to detect lists when loading plaintext documents.
# Create a plaintext document in a string with four separate parts that we may interpret as lists,
# with different delimiters. Upon loading the plaintext document into a "Document" object,
# Aspose.Words will always detect the first three lists and will add a "List" object
# for each to the document's "lists" property.
text_doc = textwrap.dedent('\n 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').lstrip()
# Create a "TxtLoadOptions" object, which we can pass to a document's constructor
# to modify how we load a plaintext document.
load_options = aw.loading.TxtLoadOptions()
# Set the "detect_numbering_with_whitespaces" property to "True" to detect numbered items
# with whitespace delimiters, such as the fourth list in our document, as lists.
# This may also falsely detect paragraphs that begin with numbers as lists.
# Set the "detect_numbering_with_whitespaces" property to "False"
# to not create lists from numbered items with whitespace delimiters.
load_options.detect_numbering_with_whitespaces = detect_numbering_with_whitespaces
doc = aw.Document(io.BytesIO(text_doc.encode('utf-8')), load_options)
if detect_numbering_with_whitespaces:
self.assertEqual(4, doc.lists.count)
self.assertTrue(any(('Fourth list' in p.get_text() and p.as_paragraph().is_list_item for p in doc.first_section.body.paragraphs)))
else:
self.assertEqual(3, doc.lists.count)
self.assertFalse(any(('Fourth list' in p.get_text() and p.as_paragraph().is_list_item for p in doc.first_section.body.paragraphs)))
See Also
- module aspose.words.loading
- class TxtLoadOptions