本文整理汇总了Python中xhtml2pdf.util.getCoords函数的典型用法代码示例。如果您正苦于以下问题:Python getCoords函数的具体用法?Python getCoords怎么用?Python getCoords使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getCoords函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_getCoords_simple
def test_getCoords_simple(self):
res = getCoords(1, 1, 10, 10, (10,10))
self.assertEqual(res, (1, -1, 10, 10))
# A second time - it's memoized!
res = getCoords(1, 1, 10, 10, (10,10))
self.assertEqual(res, (1, -1, 10, 10))
示例2: atPage
def atPage(self, name, pseudopage, declarations):
c = self.c
data = {}
name = name or "body"
pageBorder = None
if declarations:
result = self.ruleset([self.selector('*')], declarations)
if declarations:
data = list(result[0].values())[0]
pageBorder = data.get("-pdf-frame-border", None)
if name in c.templateList:
log.warning(self.c.warning("template '%s' has already been defined", name))
if "-pdf-page-size" in data:
c.pageSize = xhtml2pdf.default.PML_PAGESIZES.get(str(data["-pdf-page-size"]).lower(), c.pageSize)
isLandscape = False
if "size" in data:
size = data["size"]
if type(size) is not list:
size = [size]
sizeList = []
for value in size:
valueStr = str(value).lower()
if type(value) is tuple:
sizeList.append(getSize(value))
elif valueStr == "landscape":
isLandscape = True
elif valueStr in xhtml2pdf.default.PML_PAGESIZES:
c.pageSize = xhtml2pdf.default.PML_PAGESIZES[valueStr]
else:
log.warning(c.warning("Unknown size value for @page"))
if len(sizeList) == 2:
c.pageSize = tuple(sizeList)
if isLandscape:
c.pageSize = landscape(c.pageSize)
padding_top = self._getFromData(data, 'padding-top', 0, getSize)
padding_left = self._getFromData(data, 'padding-left', 0, getSize)
padding_right = self._getFromData(data, 'padding-right', 0, getSize)
padding_bottom = self._getFromData(data, 'padding-bottom', 0, getSize)
border_color = self._getFromData(data, ('border-top-color', 'border-bottom-color',\
'border-left-color', 'border-right-color'), None, getColor)
border_width = self._getFromData(data, ('border-top-width', 'border-bottom-width',\
'border-left-width', 'border-right-width'), 0, getSize)
for prop in ("margin-top", "margin-left", "margin-right", "margin-bottom",
"top", "left", "right", "bottom", "width", "height"):
if prop in data:
c.frameList.append(self._pisaAddFrame(name, data, first=True, border=pageBorder, size=c.pageSize))
break
# Frames have to be calculated after we know the pagesize
frameList = []
staticList = []
for fname, static, border, x, y, w, h, fdata in c.frameList:
fpadding_top = self._getFromData(fdata, 'padding-top', padding_top, getSize)
fpadding_left = self._getFromData(fdata, 'padding-left', padding_left, getSize)
fpadding_right = self._getFromData(fdata, 'padding-right', padding_right, getSize)
fpadding_bottom = self._getFromData(fdata, 'padding-bottom', padding_bottom, getSize)
fborder_color = self._getFromData(fdata, ('border-top-color', 'border-bottom-color',\
'border-left-color', 'border-right-color'), border_color, getColor)
fborder_width = self._getFromData(fdata, ('border-top-width', 'border-bottom-width',\
'border-left-width', 'border-right-width'), border_width, getSize)
if border or pageBorder:
frame_border = ShowBoundaryValue()
else:
frame_border = ShowBoundaryValue(color=fborder_color, width=fborder_width)
#fix frame sizing problem.
if static:
x, y, w, h = getFrameDimensions(fdata, c.pageSize[0], c.pageSize[1])
x, y, w, h = getCoords(x, y, w, h, c.pageSize)
if w <= 0 or h <= 0:
log.warning(self.c.warning("Negative width or height of frame. Check @frame definitions."))
frame = Frame(
x, y, w, h,
id=fname,
leftPadding=fpadding_left,
rightPadding=fpadding_right,
bottomPadding=fpadding_bottom,
topPadding=fpadding_top,
showBoundary=frame_border)
if static:
frame.pisaStaticStory = []
c.frameStatic[static] = [frame] + c.frameStatic.get(static, [])
staticList.append(frame)
else:
frameList.append(frame)
background = data.get("background-image", None)
if background:
#should be relative to the css file
#.........这里部分代码省略.........
示例3: atPage
def atPage(self, name, pseudopage, declarations):
c = self.c
data = {}
name = name or "body"
pageBorder = None
if declarations:
result = self.ruleset([self.selector('*')], declarations)
# print "@PAGE", name, pseudopage, declarations, result
if declarations:
data = result[0].values()[0]
pageBorder = data.get("-pdf-frame-border", None)
if name in c.templateList:
log.warn(self.c.warning("template '%s' has already been defined", name))
if "-pdf-page-size" in data:
c.pageSize = xhtml2pdf.default.PML_PAGESIZES.get(str(data["-pdf-page-size"]).lower(), c.pageSize)
isLandscape = False
if "size" in data:
size = data["size"]
# print size, c.pageSize
if type(size) is not types.ListType:
size = [size]
sizeList = []
for value in size:
valueStr = str(value).lower()
if type(value) is types.TupleType:
sizeList.append(getSize(value))
elif valueStr == "landscape":
isLandscape = True
elif valueStr in xhtml2pdf.default.PML_PAGESIZES:
c.pageSize = xhtml2pdf.default.PML_PAGESIZES[valueStr]
else:
log.warn(c.warning("Unknown size value for @page"))
if len(sizeList) == 2:
c.pageSize = sizeList
if isLandscape:
c.pageSize = landscape(c.pageSize)
for prop in ("margin-top", "margin-left", "margin-right", "margin-bottom",
"top", "left", "right", "bottom", "width", "height"):
if prop in data:
c.frameList.append(self._pisaAddFrame(name, data, first=True, border=pageBorder, size=c.pageSize))
break
# self._drawing = PmlPageDrawing(self._pagesize)
#if not c.frameList:
# c.warning("missing frame definitions for template")
# return {}, {}
# Frames have to be calculated after we know the pagesize
frameList = []
staticList = []
for fname, static, border, x, y, w, h, fdata in c.frameList:
#fix frame sizing problem.
if static:
x, y, w, h = getFrameDimensions(fdata, c.pageSize[0], c.pageSize[1])
x, y, w, h = getCoords(x, y, w, h, c.pageSize)
if w <= 0 or h <= 0:
log.warn(self.c.warning("Negative width or height of frame. Check @frame definitions."))
frame = Frame(
x, y, w, h,
id=fname,
leftPadding=0,
rightPadding=0,
bottomPadding=0,
topPadding=0,
showBoundary=border or pageBorder)
if static:
frame.pisaStaticStory = []
c.frameStatic[static] = [frame] + c.frameStatic.get(static, [])
staticList.append(frame)
else:
frameList.append(frame)
background = data.get("background-image", None)
if background:
background = self.c.getFile(background)
# print background
# print frameList
if not frameList:
# print 999
log.warn(c.warning("missing explicit frame definition for content or just static frames"))
fname, static, border, x, y, w, h, data = self._pisaAddFrame(name, data, first=True, border=pageBorder, size=c.pageSize)
x, y, w, h = getCoords(x, y, w, h, c.pageSize)
if w <= 0 or h <= 0:
log.warn(c.warning("Negative width or height of frame. Check @page definitions."))
frameList.append(Frame(
x, y, w, h,
id=fname,
leftPadding=0,
rightPadding=0,
bottomPadding=0,
topPadding=0,
showBoundary=border or pageBorder))
#.........这里部分代码省略.........
示例4: test_getCoords_h_lt_0
def test_getCoords_h_lt_0(self):
res = getCoords(1, 1, 10, -1, (10,10))
self.assertEqual(res, (1, 1, 10, 8))
示例5: test_getCoords_w_and_h_none
def test_getCoords_w_and_h_none(self):
res = getCoords(1, 1, None, None, (10,10))
self.assertEqual(res, (1, 9))
示例6: test_getCoords_y_lt_0
def test_getCoords_y_lt_0(self):
res = getCoords(1, -1, 10, 10, (10,10))
self.assertEqual(res, (1, -9, 10, 10))
示例7: test_getCoords_x_lt_0
def test_getCoords_x_lt_0(self):
res = getCoords(-1, 1, 10, 10, (10,10))
self.assertEqual(res, (9, -1, 10, 10))