本文整理汇总了Python中xhtml2pdf.util.getFrameDimensions函数的典型用法代码示例。如果您正苦于以下问题:Python getFrameDimensions函数的具体用法?Python getFrameDimensions怎么用?Python getFrameDimensions使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getFrameDimensions函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_frame_dimensions_for_box_len_eq_4
def test_frame_dimensions_for_box_len_eq_4(self):
dims = {
'-pdf-frame-box': ['12pt','12,pt','12pt','12pt']
}
expected = [12.0, 12.0, 12.0, 12.0]
result = getFrameDimensions(dims, 100, 200)
self.assertEqual(result, expected)
开发者ID:4c656554,项目名称:xhtml2pdf,代码行数:7,代码来源:test_utils.py
示例2: test_trame_dimentions_for_width_without_left_or_right
def test_trame_dimentions_for_width_without_left_or_right(self):
dims = {
#'left': '10pt',
'top': '20pt',
'width': '30pt',
'height': '40pt',
}
expected = (0.0, 20.0, 100.0, 40.0)
result = getFrameDimensions(dims, 100, 200)
self.assertEquals(expected, result)
开发者ID:4c656554,项目名称:xhtml2pdf,代码行数:10,代码来源:test_utils.py
示例3: test_trame_dimentions_for_height_without_top_or_bottom
def test_trame_dimentions_for_height_without_top_or_bottom(self):
dims = {
'left': '10pt',
#'top': '20pt',
'width': '30pt',
'height': '40pt',
}
expected = (10.0, 0.0, 30.0, 200.0)
result = getFrameDimensions(dims, 100, 200)
self.assertEquals(expected, result)
开发者ID:4c656554,项目名称:xhtml2pdf,代码行数:10,代码来源:test_utils.py
示例4: test_FrameDimensions_bottom_right_width_height
def test_FrameDimensions_bottom_right_width_height(self):
dims = {
'bottom': '10pt',
'right': '20pt',
'width': '70pt',
'height': '80pt',
}
expected = (10.0, 110.0, 70.0, 80.0)
result = getFrameDimensions(dims, 100, 200)
self.assertEquals(expected, result)
开发者ID:4c656554,项目名称:xhtml2pdf,代码行数:10,代码来源:test_utils.py
示例5: test_FrameDimensions_left_top_bottom_right
def test_FrameDimensions_left_top_bottom_right(self):
dims = {
'left': '10pt',
'top': '20pt',
'bottom': '30pt',
'right': '40pt',
}
expected = (10.0, 20.0, 50.0, 150.0)
result = getFrameDimensions(dims, 100, 200)
self.assertEquals(expected, result)
开发者ID:4c656554,项目名称:xhtml2pdf,代码行数:10,代码来源:test_utils.py
示例6: test_FrameDimensions_left_top_width_height
def test_FrameDimensions_left_top_width_height(self):
#builder = pisaCSSBuilder(mediumSet=['all'])
dims = {
'left': '10pt',
'top': '20pt',
'width': '30pt',
'height': '40pt',
}
expected = (10.0, 20.0, 30.0, 40.0)
result = getFrameDimensions(dims, 100, 200)
self.assertEquals(expected, result)
开发者ID:4c656554,项目名称:xhtml2pdf,代码行数:11,代码来源:test_utils.py
示例7: _pisaAddFrame
def _pisaAddFrame(self, name, data, first=False, border=None, size=(0, 0)):
c = self.c
if not name:
name = "-pdf-frame-%d" % c.UID()
x, y, w, h = getFrameDimensions(data, size[0], size[1])
# print name, x, y, w, h
# if not (w and h):
# return None
if first:
return name, None, data.get("-pdf-frame-border", border), x, y, w, h, data
return (name, data.get("-pdf-frame-content", None), data.get("-pdf-frame-border", border), x, y, w, h, data)
开发者ID:redclov3r,项目名称:xhtml2pdf,代码行数:12,代码来源:context.py
示例8: test_FrameDimensions_bottom_right_width_height_with_margin
def test_FrameDimensions_bottom_right_width_height_with_margin(self):
dims = {
'bottom': '10pt',
'right': '20pt',
'width': '70pt',
'height': '80pt',
'margin-top': '10pt',
'margin-left': '15pt',
'margin-bottom': '20pt',
'margin-right': '25pt',
}
expected = (25.0, 120.0, 30.0, 50.0)
result = getFrameDimensions(dims, 100, 200)
self.assertEquals(expected, result)
开发者ID:4c656554,项目名称:xhtml2pdf,代码行数:14,代码来源:test_utils.py
示例9: 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
#.........这里部分代码省略.........
开发者ID:AntycSolutions,项目名称:xhtml2pdf,代码行数:101,代码来源:context.py
示例10: 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))
#.........这里部分代码省略.........
开发者ID:AndrewJHart,项目名称:xhtml2pdf,代码行数:101,代码来源:context.py
注:本文中的xhtml2pdf.util.getFrameDimensions函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论