1# Copyright (c) 2006, Mathieu Fenniak 
    2# All rights reserved. 
    3# 
    4# Redistribution and use in source and binary forms, with or without 
    5# modification, are permitted provided that the following conditions are 
    6# met: 
    7# 
    8# * Redistributions of source code must retain the above copyright notice, 
    9# this list of conditions and the following disclaimer. 
    10# * Redistributions in binary form must reproduce the above copyright notice, 
    11# this list of conditions and the following disclaimer in the documentation 
    12# and/or other materials provided with the distribution. 
    13# * The name of the author may not be used to endorse or promote products 
    14# derived from this software without specific prior written permission. 
    15# 
    16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
    17# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
    18# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
    19# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
    20# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
    21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
    22# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
    23# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
    24# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
    25# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
    26# POSSIBILITY OF SUCH DAMAGE. 
    27 
    28"""Implementation of generic PDF objects (dictionary, number, string, ...).""" 
    29__author__ = "Mathieu Fenniak" 
    30__author_email__ = "biziqe@mathieu.fenniak.net" 
    31 
    32from ..constants import OutlineFontFlag 
    33from ._base import ( 
    34    BooleanObject, 
    35    ByteStringObject, 
    36    FloatObject, 
    37    IndirectObject, 
    38    NameObject, 
    39    NullObject, 
    40    NumberObject, 
    41    PdfObject, 
    42    TextStringObject, 
    43    encode_pdfdocencoding, 
    44    is_null_or_none, 
    45) 
    46from ._data_structures import ( 
    47    ArrayObject, 
    48    ContentStream, 
    49    DecodedStreamObject, 
    50    Destination, 
    51    DictionaryObject, 
    52    EncodedStreamObject, 
    53    Field, 
    54    StreamObject, 
    55    TreeObject, 
    56    read_object, 
    57) 
    58from ._files import EmbeddedFile 
    59from ._fit import Fit 
    60from ._link import DirectReferenceLink, NamedReferenceLink, ReferenceLink, extract_links 
    61from ._outline import OutlineItem 
    62from ._rectangle import RectangleObject 
    63from ._utils import ( 
    64    create_string_object, 
    65    decode_pdfdocencoding, 
    66    hex_to_rgb, 
    67    read_hex_string_from_stream, 
    68    read_string_from_stream, 
    69) 
    70from ._viewerpref import ViewerPreferences 
    71 
    72PAGE_FIT = Fit.fit() 
    73 
    74 
    75__all__ = [ 
    76    "PAGE_FIT", 
    77    "ArrayObject", 
    78    "BooleanObject", 
    79    "ByteStringObject", 
    80    "ContentStream", 
    81    "DecodedStreamObject", 
    82    "Destination", 
    83    "DictionaryObject", 
    84    "DirectReferenceLink", 
    85    "EmbeddedFile", 
    86    "EncodedStreamObject", 
    87    "Field", 
    88    "Fit", 
    89    "FloatObject", 
    90    "IndirectObject", 
    91    "NameObject", 
    92    "NamedReferenceLink", 
    93    "NullObject", 
    94    "NumberObject", 
    95    "OutlineFontFlag", 
    96    "OutlineItem", 
    97    "PdfObject", 
    98    "RectangleObject", 
    99    "ReferenceLink", 
    100    "StreamObject", 
    101    "TextStringObject", 
    102    "TreeObject", 
    103    "ViewerPreferences", 
    104    # Utility functions 
    105    "create_string_object", 
    106    "decode_pdfdocencoding", 
    107    "encode_pdfdocencoding", 
    108    "extract_links", 
    109    "hex_to_rgb", 
    110    "is_null_or_none", 
    111    "read_hex_string_from_stream", 
    112    # Data structures core functions 
    113    "read_object", 
    114    "read_string_from_stream", 
    115]