58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
# Copyright (c) 2010-2024 openpyxl
|
|
|
|
from openpyxl.descriptors.serialisable import Serialisable
|
|
from openpyxl.descriptors import (
|
|
Float,
|
|
Typed,
|
|
Alias,
|
|
)
|
|
|
|
from openpyxl.worksheet.page import PrintPageSetup
|
|
from openpyxl.worksheet.header_footer import HeaderFooter
|
|
|
|
|
|
class PageMargins(Serialisable):
|
|
"""
|
|
Identical to openpyxl.worksheet.page.Pagemargins but element names are different :-/
|
|
"""
|
|
tagname = "pageMargins"
|
|
|
|
l = Float()
|
|
left = Alias('l')
|
|
r = Float()
|
|
right = Alias('r')
|
|
t = Float()
|
|
top = Alias('t')
|
|
b = Float()
|
|
bottom = Alias('b')
|
|
header = Float()
|
|
footer = Float()
|
|
|
|
def __init__(self, l=0.75, r=0.75, t=1, b=1, header=0.5, footer=0.5):
|
|
self.l = l
|
|
self.r = r
|
|
self.t = t
|
|
self.b = b
|
|
self.header = header
|
|
self.footer = footer
|
|
|
|
|
|
class PrintSettings(Serialisable):
|
|
|
|
tagname = "printSettings"
|
|
|
|
headerFooter = Typed(expected_type=HeaderFooter, allow_none=True)
|
|
pageMargins = Typed(expected_type=PageMargins, allow_none=True)
|
|
pageSetup = Typed(expected_type=PrintPageSetup, allow_none=True)
|
|
|
|
__elements__ = ("headerFooter", "pageMargins", "pageMargins")
|
|
|
|
def __init__(self,
|
|
headerFooter=None,
|
|
pageMargins=None,
|
|
pageSetup=None,
|
|
):
|
|
self.headerFooter = headerFooter
|
|
self.pageMargins = pageMargins
|
|
self.pageSetup = pageSetup
|