Text zones¶
See also
Lizardtech DjVu Reference (8.3.5 Text Chunk).
Representing text zones as S-expressions is DjVuLibre-specific; see djvused manual for reference.
-
class
djvu.decode.
PageText
(page[, details=TEXT_DETAILS_ALL])¶ A wrapper around page text.
details controls the level of details in the returned S-expression:
TEXT_DETAILS_PAGE
, orTEXT_DETAILS_COLUMN
, orTEXT_DETAILS_REGION
, orTEXT_DETAILS_PARAGRAPH
, orTEXT_DETAILS_LINE
, orTEXT_DETAILS_WORD
, orTEXT_DETAILS_CHARACTER
, orTEXT_DETAILS_ALL
.
-
wait
()¶ Wait until the associated S-expression is available.
-
sexpr
¶ Return type: Raises: - NotAvailable – if the S-expression is not available; then,
PageInfoMessage
messages with emptypage_job
may be emitted. - JobFailed – on failure.
- NotAvailable – if the S-expression is not available; then,
-
class
djvu.const.
TextZoneType
¶ A type of a text zone.
To create objects of this class, use the
get_text_zone_type()
function.
-
djvu.const.
get_text_zone_type
(symbol)¶ Return one of the following text zone types:
-
djvu.const.
TEXT_ZONE_PAGE
¶ >>> get_text_zone_type(Symbol('page')) is TEXT_ZONE_PAGE True
-
djvu.const.
TEXT_ZONE_COLUMN
¶ >>> get_text_zone_type(Symbol('column')) is TEXT_ZONE_COLUMN True
-
djvu.const.
TEXT_ZONE_REGION
¶ >>> get_text_zone_type(Symbol('region')) is TEXT_ZONE_REGION True
-
djvu.const.
TEXT_ZONE_PARAGRAPH
¶ >>> get_text_zone_type(Symbol('para')) is TEXT_ZONE_PARAGRAPH True
-
djvu.const.
TEXT_ZONE_LINE
¶ >>> get_text_zone_type(Symbol('line')) is TEXT_ZONE_LINE True
-
djvu.const.
TEXT_ZONE_WORD
¶ >>> get_text_zone_type(Symbol('word')) is TEXT_ZONE_WORD True
-
djvu.const.
TEXT_ZONE_CHARACTER
¶ >>> get_text_zone_type(Symbol('char')) is TEXT_ZONE_CHARACTER True
You can compare text zone types using the
>
operator:>>> TEXT_ZONE_PAGE > TEXT_ZONE_COLUMN > TEXT_ZONE_REGION > TEXT_ZONE_PARAGRAPH True >>> TEXT_ZONE_PARAGRAPH > TEXT_ZONE_LINE > TEXT_ZONE_WORD > TEXT_ZONE_CHARACTER True
-
-
djvu.decode.
cmp_text_zone
(zonetype1, zonetype2)¶ Returns: a negative integer if zonetype1 is more concrete than zonetype2. Returns: a negative integer if zonetype1 is the same as zonetype2. Returns: a positive integer if zonetype1 is the general than zonetype2.
-
djvu.const.
TEXT_ZONE_SEPARATORS
¶ Dictionary that maps text types to their separators.
>>> pprint(TEXT_ZONE_SEPARATORS) {<djvu.const.TextZoneType: char>: '', <djvu.const.TextZoneType: word>: ' ', <djvu.const.TextZoneType: line>: '\n', <djvu.const.TextZoneType: para>: '\x1f', <djvu.const.TextZoneType: region>: '\x1d', <djvu.const.TextZoneType: column>: '\x0b', <djvu.const.TextZoneType: page>: '\x0c'}