Spaces:
Runtime error
Runtime error
| """Helpers for working with PDF types.""" | |
| import sys | |
| from typing import Literal, Union | |
| if sys.version_info[:2] >= (3, 10): | |
| # Python 3.10+: https://www.python.org/dev/peps/pep-0484 | |
| from typing import TypeAlias | |
| else: | |
| from typing_extensions import TypeAlias | |
| from .generic._base import NameObject, NullObject, NumberObject | |
| from .generic._data_structures import ArrayObject, Destination | |
| from .generic._outline import OutlineItem | |
| BorderArrayType: TypeAlias = list[Union[NameObject, NumberObject, ArrayObject]] | |
| OutlineItemType: TypeAlias = Union[OutlineItem, Destination] | |
| FitType: TypeAlias = Literal[ | |
| "/XYZ", "/Fit", "/FitH", "/FitV", "/FitR", "/FitB", "/FitBH", "/FitBV" | |
| ] | |
| # These go with the FitType, they specify values for the fit | |
| ZoomArgType: TypeAlias = Union[NumberObject, NullObject, float] | |
| ZoomArgsType: TypeAlias = list[ZoomArgType] | |
| # Recursive types like the following are not yet supported by Sphinx: | |
| # OutlineType = List[Union[Destination, "OutlineType"]] | |
| # Hence use this for the moment: | |
| OutlineType = list[Union[Destination, list[Union[Destination, list[Destination]]]]] | |
| LayoutType: TypeAlias = Literal[ | |
| "/NoLayout", | |
| "/SinglePage", | |
| "/OneColumn", | |
| "/TwoColumnLeft", | |
| "/TwoColumnRight", | |
| "/TwoPageLeft", | |
| "/TwoPageRight", | |
| ] | |
| PagemodeType: TypeAlias = Literal[ | |
| "/UseNone", | |
| "/UseOutlines", | |
| "/UseThumbs", | |
| "/FullScreen", | |
| "/UseOC", | |
| "/UseAttachments", | |
| ] | |
| AnnotationSubtype: TypeAlias = Literal[ | |
| "/Text", | |
| "/Link", | |
| "/FreeText", | |
| "/Line", | |
| "/Square", | |
| "/Circle", | |
| "/Polygon", | |
| "/PolyLine", | |
| "/Highlight", | |
| "/Underline", | |
| "/Squiggly", | |
| "/StrikeOut", | |
| "/Caret", | |
| "/Stamp", | |
| "/Ink", | |
| "/Popup", | |
| "/FileAttachment", | |
| "/Sound", | |
| "/Movie", | |
| "/Screen", | |
| "/Widget", | |
| "/PrinterMark", | |
| "/TrapNet", | |
| "/Watermark", | |
| "/3D", | |
| "/Redact", | |
| "/Projection", | |
| "/RichMedia", | |
| ] | |