本文整理汇总了Python中xhtml2pdf.context.pisaContext函数的典型用法代码示例。如果您正苦于以下问题:Python pisaContext函数的具体用法?Python pisaContext怎么用?Python pisaContext使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pisaContext函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_add_cell_styles_will_not_add_linebefore_style_if_borderleft_width_not_set_on_context_frag
def test_add_cell_styles_will_not_add_linebefore_style_if_borderleft_width_not_set_on_context_frag(self):
context = pisaContext([])
context.frag.borderLeftStyle = "solid"
context.frag.borderLeftWidth = "3px"
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="tr")
self.assertNotEqual(instance.styles[0][0], 'LINEBEFORE')
示例2: test_add_cell_styles_will_not_add_linebelow_style_if_borderbottom_color_not_set_on_context_frag
def test_add_cell_styles_will_not_add_linebelow_style_if_borderbottom_color_not_set_on_context_frag(self):
context = pisaContext([])
context.frag.borderBottomStyle = "solid"
context.frag.borderBottomWidth = "3px"
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="tr")
self.assertNotEqual(instance.styles[0][0], 'LINEBELOW')
示例3: test_add_cell_styles_will_not_add_lineabove_style_if_bordertop_style_not_set_on_context_frag
def test_add_cell_styles_will_not_add_lineabove_style_if_bordertop_style_not_set_on_context_frag(self):
context = pisaContext([])
context.frag.borderTopWidth = "3px"
context.frag.borderTopColor = "black"
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="tr")
self.assertNotEqual(instance.styles[0][0], 'LINEABOVE')
示例4: pisaStory
def pisaStory(src, path=None, link_callback=None, debug=0, default_css=None,
xhtml=False, encoding=None, context=None, xml_output=None,
**kw):
# Prepare Context
if not context:
context = pisaContext(path, debug=debug)
context.pathCallback = link_callback
# Use a default set of CSS definitions to get an expected output
if default_css is None:
default_css = DEFAULT_CSS
# Parse and fill the story
pisaParser(src, context, default_css, xhtml, encoding, xml_output)
# Avoid empty documents
if not context.story:
context.story = [Spacer(1,1)]
if context.indexing_story:
context.story.append(context.indexing_story)
# Remove anchors if they do not exist (because of a bug in Reportlab)
for frag, anchor in context.anchorFrag:
if anchor not in context.anchorName:
frag.link = None
return context
示例5: test_add_cell_styles_will_not_add_lineafter_style_if_borderright_color_not_set_on_context_frag
def test_add_cell_styles_will_not_add_lineafter_style_if_borderright_color_not_set_on_context_frag(self):
context = pisaContext([])
context.frag.borderRightStyle = "solid"
context.frag.borderRightWidth = "3px"
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="tr")
self.assertNotEqual(instance.styles[0][0], 'LINEAFTER')
示例6: test_height_as_list
def test_height_as_list(self):
"""Asserts attributes like 'height: 10px !important" are parsed"""
c = pisaContext(".")
data = b"<p style='height: 10px !important;width: 10px !important'>test</p>"
r = pisaParser(data, c)
self.assertEqual(c, r)
self.assertEqual(r.err, 0)
self.assertEqual(r.warn, 0)
示例7: test_add_cell_styles_will_add_linebelow_style_if_borderbottom_attrs_set_on_context_frag
def test_add_cell_styles_will_add_linebelow_style_if_borderbottom_attrs_set_on_context_frag(self):
context = pisaContext([])
context.frag.borderBottomStyle = "solid"
context.frag.borderBottomWidth = "3px"
context.frag.borderBottomColor = "black"
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="tr")
self.assertEqual(instance.styles[0], ('LINEBELOW', (0, 5), (3, 5), '3px', 'black', 'squared'))
示例8: test_add_cell_styles_will_add_lineafter_style_if_borderright_attrs_set_on_context_frag
def test_add_cell_styles_will_add_lineafter_style_if_borderright_attrs_set_on_context_frag(self):
context = pisaContext([])
context.frag.borderRightStyle = "solid"
context.frag.borderRightWidth = "3px"
context.frag.borderRightColor = "black"
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="tr")
self.assertEqual(instance.styles[0], ('LINEAFTER', (3, 1), (3, 5), '3px', 'black', 'squared'))
示例9: test_image_os_path
def test_image_os_path(self):
c = pisaContext(".")
tests_folder = os.path.dirname(os.path.realpath(__file__))
img_path = os.path.join(tests_folder, 'samples', 'img', 'denker.png')
data = '<img src="{0}">'.format(img_path).encode('utf-8')
r = pisaParser(data, c)
self.assertEqual(c, r)
self.assertEqual(r.err, 0)
self.assertEqual(r.warn, 0)
示例10: test_add_cell_styles_will_add_padding_styles_based_on_frag_padding_attrs
def test_add_cell_styles_will_add_padding_styles_based_on_frag_padding_attrs(self):
context = pisaContext([])
context.frag.paddingRight = 5
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="td")
self.assertEqual(instance.styles[0], ('LEFTPADDING', (0, 1), (3, 5), 0))
self.assertEqual(instance.styles[1], ('RIGHTPADDING', (0, 1), (3, 5), 5))
self.assertEqual(instance.styles[2], ('TOPPADDING', (0, 1), (3, 5), 0))
self.assertEqual(instance.styles[3], ('BOTTOMPADDING', (0, 1), (3, 5), 0))
示例11: test_start_will_add_borders_if_border_and_border_color_set_in_attrs
def test_start_will_add_borders_if_border_and_border_color_set_in_attrs(self):
self.attrs.border = 2
self.attrs.bordercolor = "green"
tag = tables.pisaTagTABLE(self.element, self.attrs)
context = pisaContext([])
tag.start(context)
self.assertEqual(context.frag.borderLeftWidth, 2)
self.assertEqual(context.frag.borderRightWidth, 2)
self.assertEqual(context.frag.borderTopWidth, 2)
self.assertEqual(context.frag.borderBottomWidth, 2)
self.assertEqual(context.frag.borderLeftColor, "green")
self.assertEqual(context.frag.borderRightColor, "green")
self.assertEqual(context.frag.borderTopColor, "green")
self.assertEqual(context.frag.borderBottomColor, "green")
self.assertEqual(context.frag.borderLeftStyle, "solid")
self.assertEqual(context.frag.borderRightStyle, "solid")
self.assertEqual(context.frag.borderTopStyle, "solid")
self.assertEqual(context.frag.borderBottomStyle, "solid")
示例12: parseHTML
def parseHTML(data, node):
path = None
link_callback = None
debug = 0
default_css = HTML_CSS
xhtml = False
encoding = None
xml_output = None
capacity = 100 * 1024
# Prepare simple context
context = pisaContext(path, debug=debug, capacity=capacity)
context.pathCallback = link_callback
# Build story
context = pisaStory(
data, path, link_callback, debug, default_css, xhtml, encoding, context=context, xml_output=xml_output
)
return context.story
示例13: test_will_set_attrs_on_tabledata
def test_will_set_attrs_on_tabledata(self):
self.attrs.cellpadding = 4
self.attrs.align = "left"
self.attrs.repeat = True
self.attrs.width = 100
tag = tables.pisaTagTABLE(self.element, self.attrs)
context = pisaContext([])
tag.start(context)
self.assertEqual(context.tableData.padding, 4)
self.assertEqual(context.tableData.styles[0], ('LEFTPADDING', (0, 0), (-1, -1), 4))
self.assertEqual(context.tableData.styles[1], ('RIGHTPADDING', (0, 0), (-1, -1), 4))
self.assertEqual(context.tableData.styles[2], ('TOPPADDING', (0, 0), (-1, -1), 4))
self.assertEqual(context.tableData.styles[3], ('BOTTOMPADDING', (0, 0), (-1, -1), 4))
self.assertEqual(context.tableData.align, "LEFT")
self.assertEqual(context.tableData.col, 0)
self.assertEqual(context.tableData.row, 0)
self.assertEqual(context.tableData.colw, [])
self.assertEqual(context.tableData.rowh, [])
self.assertEqual(context.tableData.repeat, True)
self.assertEqual(context.tableData.width, 100.0)
示例14: test_add_cell_styles_will_add_all_line_styles_if_all_border_attrs_set_on_context_frag
def test_add_cell_styles_will_add_all_line_styles_if_all_border_attrs_set_on_context_frag(self):
context = pisaContext([])
context.frag.borderTopStyle = "solid"
context.frag.borderTopWidth = "3px"
context.frag.borderTopColor = "black"
context.frag.borderLeftStyle = "solid"
context.frag.borderLeftWidth = "3px"
context.frag.borderLeftColor = "black"
context.frag.borderRightStyle = "solid"
context.frag.borderRightWidth = "3px"
context.frag.borderRightColor = "black"
context.frag.borderBottomStyle = "solid"
context.frag.borderBottomWidth = "3px"
context.frag.borderBottomColor = "black"
instance = self.sut()
instance.add_cell_styles(context, (0, 1), (3, 5), mode="tr")
self.assertEqual(instance.styles[0], ('LINEABOVE', (0, 1), (3, 1), '3px', 'black', 'squared'))
self.assertEqual(instance.styles[1], ('LINEBEFORE', (0, 1), (0, 5), '3px', 'black', 'squared'))
self.assertEqual(instance.styles[2], ('LINEAFTER', (3, 1), (3, 5), '3px', 'black', 'squared'))
self.assertEqual(instance.styles[3], ('LINEBELOW', (0, 5), (3, 5), '3px', 'black', 'squared'))
示例15: pisaStory
def pisaStory(
src,
path = None,
link_callback = None,
debug = 0,
default_css = None,
xhtml = False,
encoding = None,
c = None,
xml_output = None,
**kw):
# Prepare Context
if not c:
c = pisaContext(path, debug=debug)
c.pathCallback = link_callback
# Use a default set of CSS definitions to get an expected output
if default_css is None:
default_css = DEFAULT_CSS
# Parse and fill the story
pisaParser(src, c, default_css, xhtml, encoding, xml_output)
#if 0:
# import reportlab.pdfbase.pdfmetrics as pm
# pm.dumpFontData()
# Avoid empty documents
if not c.story:
c.story = [Spacer(1,1)]
# c.addPara(force=True)
# Remove anchors if they do not exist (because of a bug in Reportlab)
for frag, anchor in c.anchorFrag:
if anchor not in c.anchorName:
frag.link = None
return c