aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/openpyxl/worksheet/page.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/openpyxl/worksheet/page.py')
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/worksheet/page.py174
1 files changed, 174 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/worksheet/page.py b/.venv/lib/python3.12/site-packages/openpyxl/worksheet/page.py
new file mode 100644
index 00000000..7d630c2c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/worksheet/page.py
@@ -0,0 +1,174 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors.serialisable import Serialisable
+from openpyxl.descriptors import (
+ Float,
+ Bool,
+ Integer,
+ NoneSet,
+ )
+from openpyxl.descriptors.excel import UniversalMeasure, Relation
+
+
+class PrintPageSetup(Serialisable):
+ """ Worksheet print page setup """
+
+ tagname = "pageSetup"
+
+ orientation = NoneSet(values=("default", "portrait", "landscape"))
+ paperSize = Integer(allow_none=True)
+ scale = Integer(allow_none=True)
+ fitToHeight = Integer(allow_none=True)
+ fitToWidth = Integer(allow_none=True)
+ firstPageNumber = Integer(allow_none=True)
+ useFirstPageNumber = Bool(allow_none=True)
+ paperHeight = UniversalMeasure(allow_none=True)
+ paperWidth = UniversalMeasure(allow_none=True)
+ pageOrder = NoneSet(values=("downThenOver", "overThenDown"))
+ usePrinterDefaults = Bool(allow_none=True)
+ blackAndWhite = Bool(allow_none=True)
+ draft = Bool(allow_none=True)
+ cellComments = NoneSet(values=("asDisplayed", "atEnd"))
+ errors = NoneSet(values=("displayed", "blank", "dash", "NA"))
+ horizontalDpi = Integer(allow_none=True)
+ verticalDpi = Integer(allow_none=True)
+ copies = Integer(allow_none=True)
+ id = Relation()
+
+
+ def __init__(self,
+ worksheet=None,
+ orientation=None,
+ paperSize=None,
+ scale=None,
+ fitToHeight=None,
+ fitToWidth=None,
+ firstPageNumber=None,
+ useFirstPageNumber=None,
+ paperHeight=None,
+ paperWidth=None,
+ pageOrder=None,
+ usePrinterDefaults=None,
+ blackAndWhite=None,
+ draft=None,
+ cellComments=None,
+ errors=None,
+ horizontalDpi=None,
+ verticalDpi=None,
+ copies=None,
+ id=None):
+ self._parent = worksheet
+ self.orientation = orientation
+ self.paperSize = paperSize
+ self.scale = scale
+ self.fitToHeight = fitToHeight
+ self.fitToWidth = fitToWidth
+ self.firstPageNumber = firstPageNumber
+ self.useFirstPageNumber = useFirstPageNumber
+ self.paperHeight = paperHeight
+ self.paperWidth = paperWidth
+ self.pageOrder = pageOrder
+ self.usePrinterDefaults = usePrinterDefaults
+ self.blackAndWhite = blackAndWhite
+ self.draft = draft
+ self.cellComments = cellComments
+ self.errors = errors
+ self.horizontalDpi = horizontalDpi
+ self.verticalDpi = verticalDpi
+ self.copies = copies
+ self.id = id
+
+
+ def __bool__(self):
+ return bool(dict(self))
+
+
+
+
+ @property
+ def sheet_properties(self):
+ """
+ Proxy property
+ """
+ return self._parent.sheet_properties.pageSetUpPr
+
+
+ @property
+ def fitToPage(self):
+ return self.sheet_properties.fitToPage
+
+
+ @fitToPage.setter
+ def fitToPage(self, value):
+ self.sheet_properties.fitToPage = value
+
+
+ @property
+ def autoPageBreaks(self):
+ return self.sheet_properties.autoPageBreaks
+
+
+ @autoPageBreaks.setter
+ def autoPageBreaks(self, value):
+ self.sheet_properties.autoPageBreaks = value
+
+
+ @classmethod
+ def from_tree(cls, node):
+ self = super().from_tree(node)
+ self.id = None # strip link to binary settings
+ return self
+
+
+class PrintOptions(Serialisable):
+ """ Worksheet print options """
+
+ tagname = "printOptions"
+ horizontalCentered = Bool(allow_none=True)
+ verticalCentered = Bool(allow_none=True)
+ headings = Bool(allow_none=True)
+ gridLines = Bool(allow_none=True)
+ gridLinesSet = Bool(allow_none=True)
+
+ def __init__(self, horizontalCentered=None,
+ verticalCentered=None,
+ headings=None,
+ gridLines=None,
+ gridLinesSet=None,
+ ):
+ self.horizontalCentered = horizontalCentered
+ self.verticalCentered = verticalCentered
+ self.headings = headings
+ self.gridLines = gridLines
+ self.gridLinesSet = gridLinesSet
+
+
+ def __bool__(self):
+ return bool(dict(self))
+
+
+class PageMargins(Serialisable):
+ """
+ Information about page margins for view/print layouts.
+ Standard values (in inches)
+ left, right = 0.75
+ top, bottom = 1
+ header, footer = 0.5
+ """
+ tagname = "pageMargins"
+
+ left = Float()
+ right = Float()
+ top = Float()
+ bottom = Float()
+ header = Float()
+ footer = Float()
+
+ def __init__(self, left=0.75, right=0.75, top=1, bottom=1, header=0.5,
+ footer=0.5):
+ self.left = left
+ self.right = right
+ self.top = top
+ self.bottom = bottom
+ self.header = header
+ self.footer = footer