本文整理汇总了Python中utils.unit_get函数的典型用法代码示例。如果您正苦于以下问题:Python unit_get函数的具体用法?Python unit_get怎么用?Python unit_get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了unit_get函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, out, node, doc):
if not node.hasAttribute('pageSize'):
pageSize = (utils.unit_get('21cm'), utils.unit_get('29.7cm'))
else:
ps = map(lambda x:x.strip(), node.getAttribute('pageSize').replace(')', '').replace('(', '').split(','))
pageSize = ( utils.unit_get(ps[0]),utils.unit_get(ps[1]) )
cm = reportlab.lib.units.cm
self.doc_tmpl = platypus.BaseDocTemplate(out, pagesize=pageSize, **utils.attr_get(node, ['leftMargin','rightMargin','topMargin','bottomMargin'], {'allowSplitting':'int','showBoundary':'bool','title':'str','author':'str'}))
self.page_templates = []
self.styles = doc.styles
self.doc_tmpl.styles = doc.styles # hack
self.doc = doc
pts = node.getElementsByTagName('pageTemplate')
for pt in pts:
frames = []
for frame_el in pt.getElementsByTagName('frame'):
frame = platypus.Frame( **(utils.attr_get(frame_el, ['x1','y1', 'width','height', 'leftPadding', 'rightPadding', 'bottomPadding', 'topPadding'], {'id':'text', 'showBoundary':'bool'})) )
frames.append( frame )
gr = pt.getElementsByTagName('pageGraphics')
if len(gr):
drw = _rml_draw(gr[0])
self.page_templates.append( platypus.PageTemplate(frames=frames, onPage=drw.render, **utils.attr_get(pt, [], {'id':'str'}) ))
else:
self.page_templates.append( platypus.PageTemplate(frames=frames, **utils.attr_get(pt, [], {'id':'str'}) ))
self.doc_tmpl.addPageTemplates(self.page_templates)
开发者ID:tieugene,项目名称:rml2pdf,代码行数:25,代码来源:trml2pdf.py
示例2: _textual
def _textual(self, node):
rc = ''
for n in node.childNodes:
if n.nodeType == n.ELEMENT_NODE:
if n.localName.startswith('seq'):
rc += str(_rml_sequence(n))
elif n.localName == 'name':
x, y = n.getAttribute('x'), n.getAttribute('y')
fontName, fontSize, fontColor = n.getAttribute('fontName'), n.getAttribute('fontSize'), n.getAttribute('fontColor')
if not fontName:
fontName = self.canvas._fontname
if not fontSize:
fontSize = self.canvas._fontsize
global named_string_styles
named_string_styles[n.getAttribute('id')] = (
fontName, fontSize, fontColor
)
if x and y:
x, y = utils.unit_get(x), utils.unit_get(y)
self.canvas.translate(x, y)
self.canvas.doForm(n.getAttribute('id'))
if x and y:
self.canvas.translate(-x, -y)
elif n.localName=='pageNumber':
rc += str(self.canvas.getPageNumber())
elif n.localName == 'evalString':
rc += _eval_string(n, textual=self)
elif (n.nodeType == node.CDATA_SECTION_NODE):
rc += n.data
elif (n.nodeType == node.TEXT_NODE):
rc += n.data
return rc.encode(self.encoding)
开发者ID:clach04,项目名称:trml2pdf,代码行数:32,代码来源:trml2pdf.py
示例3: _ellipse
def _ellipse(self, node):
x1 = utils.unit_get(node.get("x"))
x2 = utils.unit_get(node.get("width"))
y1 = utils.unit_get(node.get("y"))
y2 = utils.unit_get(node.get("height"))
self.canvas.ellipse(x1, y1, x2, y2, **utils.attr_get(node, [], {"fill": "bool", "stroke": "bool"}))
开发者ID:guzzi235,项目名称:saas3,代码行数:7,代码来源:trml2pdf.py
示例4: _image
def _image(self, node):
import urllib
from reportlab.lib.utils import ImageReader
u = urllib.urlopen(str(node.getAttribute('file')))
s = StringIO.StringIO()
s.write(u.read())
s.seek(0)
img = ImageReader(s)
(sx,sy) = img.getSize()
args = {}
for tag in ('width','height','x','y'):
if node.hasAttribute(tag):
if not utils.unit_get(node.getAttribute(tag)):
continue
args[tag] = utils.unit_get(node.getAttribute(tag))
if ('width' in args) and (not 'height' in args):
args['height'] = sy * args['width'] / sx
elif ('height' in args) and (not 'width' in args):
args['width'] = sx * args['height'] / sy
elif ('width' in args) and ('height' in args):
if (float(args['width'])/args['height'])>(float(sx)>sy):
args['width'] = sx * args['height'] / sy
else:
args['height'] = sy * args['width'] / sx
self.canvas.drawImage(img, **args)
开发者ID:joeyates,项目名称:trml2pdf,代码行数:26,代码来源:trml2pdf.py
示例5: __init__
def __init__(self, localcontext, out, node, doc, images={}, path='.', title=None):
self.localcontext = localcontext
self.images= images
self.path = path
self.title = title
if not node.get('pageSize'):
pageSize = (utils.unit_get('21cm'), utils.unit_get('29.7cm'))
else:
ps = map(lambda x:x.strip(), node.get('pageSize').replace(')', '').replace('(', '').split(','))
pageSize = ( utils.unit_get(ps[0]),utils.unit_get(ps[1]) )
self.doc_tmpl = TinyDocTemplate(out, pagesize=pageSize, **utils.attr_get(node, ['leftMargin','rightMargin','topMargin','bottomMargin'], {'allowSplitting':'int','showBoundary':'bool','title':'str','author':'str'}))
self.page_templates = []
self.styles = doc.styles
self.doc = doc
pts = node.findall('pageTemplate')
for pt in pts:
frames = []
for frame_el in pt.findall('frame'):
frame = platypus.Frame( **(utils.attr_get(frame_el, ['x1','y1', 'width','height', 'leftPadding', 'rightPadding', 'bottomPadding', 'topPadding'], {'id':'str', 'showBoundary':'bool'})) )
if utils.attr_get(frame_el, ['last']):
frame.lastFrame = True
frames.append( frame )
try :
gr = pt.findall('pageGraphics')\
or pt[1].findall('pageGraphics')
except Exception: # FIXME: be even more specific, perhaps?
gr=''
if len(gr):
drw = _rml_draw(self.localcontext,gr[0], self.doc, images=images, path=self.path, title=self.title)
self.page_templates.append( platypus.PageTemplate(frames=frames, onPage=drw.render, **utils.attr_get(pt, [], {'id':'str'}) ))
else:
drw = _rml_draw(self.localcontext,node,self.doc,title=self.title)
self.page_templates.append( platypus.PageTemplate(frames=frames,onPage=drw.render, **utils.attr_get(pt, [], {'id':'str'}) ))
self.doc_tmpl.addPageTemplates(self.page_templates)
开发者ID:Buyanbat,项目名称:XacCRM,代码行数:35,代码来源:trml2pdf.py
示例6: _table
def _table(self, node):
length = 0
colwidths = None
rowheights = None
data = []
for tr in _child_get(node,'tr'):
data2 = []
for td in _child_get(tr, 'td'):
flow = []
for n in td.childNodes:
if n.nodeType==node.ELEMENT_NODE:
flow.append( self._flowable(n) )
if not len(flow):
flow = self._textual(td)
data2.append( flow )
if len(data2)>length:
length=len(data2)
for ab in data:
while len(ab)<length:
ab.append('')
while len(data2)<length:
data2.append('')
data.append( data2 )
if node.hasAttribute('colWidths'):
assert length == len(node.getAttribute('colWidths').split(','))
colwidths = [utils.unit_get(f.strip()) for f in node.getAttribute('colWidths').split(',')]
if node.hasAttribute('rowHeights'):
rowheights = [utils.unit_get(f.strip()) for f in node.getAttribute('rowHeights').split(',')]
table = platypus.Table(data = data, colWidths=colwidths, rowHeights=rowheights, **(utils.attr_get(node, ['splitByRow'] ,{'repeatRows':'int','repeatCols':'int'})))
if node.hasAttribute('style'):
table.setStyle(self.styles.table_styles[node.getAttribute('style')])
return table
开发者ID:FashtimeDotCom,项目名称:trml2pdf,代码行数:32,代码来源:trml2pdf.py
示例7: _ellipse
def _ellipse(self, node):
x1 = utils.unit_get(node.get('x'))
x2 = utils.unit_get(node.get('width'))
y1 = utils.unit_get(node.get('y'))
y2 = utils.unit_get(node.get('height'))
self.canvas.ellipse(x1,y1,x2,y2, **utils.attr_get(node, [], {'fill':'bool','stroke':'bool'}))
开发者ID:AbdAllah-Ahmed,项目名称:openerp-env,代码行数:7,代码来源:trml2pdf.py
示例8: _circle
def _circle(self, node):
self.canvas.circle(
x_cen=utils.unit_get(node.getAttribute("x")),
y_cen=utils.unit_get(node.getAttribute("y")),
r=utils.unit_get(node.getAttribute("radius")),
**utils.attr_get(node, [], {"fill": "bool", "stroke": "bool"})
)
开发者ID:jordotech,项目名称:trml2pdf,代码行数:7,代码来源:trml2pdf.py
示例9: __init__
def __init__(self, node, localcontext, styles, self2):
self.localcontext = (localcontext or {}).copy()
self.node = node
self.styles = styles
self.width = utils.unit_get(node.get('width'))
self.height = utils.unit_get(node.get('height'))
self.self2 = self2
开发者ID:AbdAllah-Ahmed,项目名称:openerp-env,代码行数:7,代码来源:trml2pdf.py
示例10: _flowable
def _flowable(self, node):
# FIXME: speedup
if node.localName=='para':
style = self.styles.para_style_get(node) # ERROR
return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
elif node.localName=='name':
self.styles.names[ node.getAttribute('id')] = node.getAttribute('value')
return None
elif node.localName=='xpre':
style = self.styles.para_style_get(node)
return platypus.XPreformatted(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str','dedent':'int','frags':'int'})))
elif node.localName=='pre':
style = self.styles.para_style_get(node)
return platypus.Preformatted(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str','dedent':'int'})))
elif node.localName=='illustration':
return self._illustration(node)
elif node.localName=='blockTable':
return self._table(node)
elif node.localName=='title':
styles = reportlab.lib.styles.getSampleStyleSheet()
style = styles['Title']
return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
elif node.localName=='h1':
styles = reportlab.lib.styles.getSampleStyleSheet()
style = styles['Heading1']
return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
elif node.localName=='h2':
styles = reportlab.lib.styles.getSampleStyleSheet()
style = styles['Heading2']
return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
elif node.localName=='h3':
styles = reportlab.lib.styles.getSampleStyleSheet()
style = styles['Heading3']
return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
elif node.localName=='image':
return platypus.Image(node.getAttribute('file'), mask=(250,255,250,255,250,255), **(utils.attr_get(node, ['width','height'])))
elif node.localName=='spacer':
if node.hasAttribute('width'):
width = utils.unit_get(node.getAttribute('width'))
else:
width = utils.unit_get('1cm')
length = utils.unit_get(node.getAttribute('length'))
return platypus.Spacer(width=width, height=length)
elif node.localName=='pageBreak':
return platypus.PageBreak()
elif node.localName=='condPageBreak':
return platypus.CondPageBreak(**(utils.attr_get(node, ['height'])))
elif node.localName=='setNextTemplate':
return platypus.NextPageTemplate(str(node.getAttribute('name')))
elif node.localName=='nextFrame':
return platypus.CondPageBreak(1000) # TODO: change the 1000 !
elif barcode_codes and node.localName=='barCodeFlowable':
code = barcode_codes.get(node.getAttribute('code'), Code128)
return code(
self._textual(node),
**utils.attr_get(node, ['barWidth', 'barHeight'], {'fontName': 'str', 'humanReadable': 'bool'}))
else:
sys.stderr.write('Warning: flowable not yet implemented: %s !\n' % (node.localName,))
return None
开发者ID:tieugene,项目名称:rml2pdf,代码行数:59,代码来源:trml2pdf.py
示例11: _translate
def _translate(self, node):
dx = 0
dy = 0
if node.hasAttribute("dx"):
dx = utils.unit_get(node.getAttribute("dx"))
if node.hasAttribute("dy"):
dy = utils.unit_get(node.getAttribute("dy"))
self.canvas.translate(dx, dy)
开发者ID:jordotech,项目名称:trml2pdf,代码行数:8,代码来源:trml2pdf.py
示例12: __init__
def __init__(self, node, style):
self.posx = utils.unit_get(node.get('x'))
self.posy = utils.unit_get(node.get('y'))
aligns = {
'drawString': 'left',
'drawRightString': 'right',
'drawCentredString': 'center'
}
align = aligns[node.localName]
self.pos = [(self.posx, self.posy, align, utils.text_get(node), style.get('td'), style.font_size_get('td'))]
开发者ID:0k,项目名称:OpenUpgrade,代码行数:10,代码来源:rml2txt.py
示例13: __init__
def __init__(self, node, style,localcontext = {}):
self.localcontext = localcontext
self.posx = utils.unit_get(node.get('x'))
self.posy = utils.unit_get(node.get('y'))
aligns = {
'drawString': 'left',
'drawRightString': 'right',
'drawCentredString': 'center'
}
align = aligns[node.tag]
self.pos = [(self.posx, self.posy, align, utils._process_text(self, node.text), style.get('td'), style.font_size_get('td'))]
开发者ID:Aravinthu,项目名称:openerp-server-6.1,代码行数:12,代码来源:rml2html.py
示例14: __init__
def __init__(self, out, node, doc):
if not node.hasAttribute("pageSize"):
pageSize = (utils.unit_get("21cm"), utils.unit_get("29.7cm"))
else:
ps = map(lambda x: x.strip(), node.getAttribute("pageSize").replace(")", "").replace("(", "").split(","))
pageSize = (utils.unit_get(ps[0]), utils.unit_get(ps[1]))
cm = reportlab.lib.units.cm
self.doc_tmpl = platypus.BaseDocTemplate(
out,
pagesize=pageSize,
**utils.attr_get(
node,
["leftMargin", "rightMargin", "topMargin", "bottomMargin"],
{"allowSplitting": "int", "showBoundary": "bool", "title": "str", "author": "str"},
)
)
self.page_templates = []
self.styles = doc.styles
self.doc = doc
pts = node.getElementsByTagName("pageTemplate")
for pt in pts:
frames = []
for frame_el in pt.getElementsByTagName("frame"):
frame = platypus.Frame(
**(
utils.attr_get(
frame_el,
[
"x1",
"y1",
"width",
"height",
"leftPadding",
"rightPadding",
"bottomPadding",
"topPadding",
],
{"id": "text", "showBoundary": "bool"},
)
)
)
frames.append(frame)
gr = pt.getElementsByTagName("pageGraphics")
if len(gr):
drw = _rml_draw(gr[0], self.doc)
self.page_templates.append(
platypus.PageTemplate(frames=frames, onPage=drw.render, **utils.attr_get(pt, [], {"id": "str"}))
)
else:
self.page_templates.append(
platypus.PageTemplate(frames=frames, **utils.attr_get(pt, [], {"id": "str"}))
)
self.doc_tmpl.addPageTemplates(self.page_templates)
开发者ID:jordotech,项目名称:trml2pdf,代码行数:53,代码来源:trml2pdf.py
示例15: _image
def _image(self, node):
#add attribute 'src' to tag 'image' by xiandong.xie
s = StringIO.StringIO()
if node.hasAttribute('src'):
import base64
imgdata = base64.b64decode(node.getAttribute('src'))
s.write(imgdata)
else:
import urllib
u = urllib.urlopen(str(node.getAttribute('file')))
s.write(u.read())
from reportlab.lib.utils import ImageReader
s.seek(0)
img = ImageReader(s)
(sx,sy) = img.getSize()
args = {}
for tag in ('width','height','x','y'):
if node.hasAttribute(tag):
args[tag] = utils.unit_get(node.getAttribute(tag))
if ('width' in args) and (not 'height' in args):
args['height'] = sy * args['width'] / sx
elif ('height' in args) and (not 'width' in args):
args['width'] = sx * args['height'] / sy
elif ('width' in args) and ('height' in args):
if (float(args['width'])/args['height'])>(float(sx)>sy):
args['width'] = sx * args['height'] / sy
else:
args['height'] = sy * args['width'] / sx
self.canvas.drawImage(img, **args)
开发者ID:jbetsinger,项目名称:mes,代码行数:31,代码来源:trml2pdf.py
示例16: _para_style_update
def _para_style_update(self, node):
data = {}
for attr in ['textColor', 'backColor', 'bulletColor', 'borderColor']:
if node.get(attr):
data[attr] = color.get(node.get(attr))
for attr in ['bulletFontName', 'fontName']:
if node.get(attr):
fontname= select_fontname(node.get(attr), None)
if fontname is not None:
data['fontName'] = fontname
for attr in ['bulletText']:
if node.get(attr):
data[attr] = node.get(attr)
for attr in ['fontSize', 'leftIndent', 'rightIndent', 'spaceBefore', 'spaceAfter',
'firstLineIndent', 'bulletIndent', 'bulletFontSize', 'leading',
'borderWidth','borderPadding','borderRadius']:
if node.get(attr):
data[attr] = utils.unit_get(node.get(attr))
if node.get('alignment'):
align = {
'right':reportlab.lib.enums.TA_RIGHT,
'center':reportlab.lib.enums.TA_CENTER,
'justify':reportlab.lib.enums.TA_JUSTIFY
}
data['alignment'] = align.get(node.get('alignment').lower(), reportlab.lib.enums.TA_LEFT)
return data
开发者ID:AbdAllah-Ahmed,项目名称:openerp-env,代码行数:26,代码来源:trml2pdf.py
示例17: setFont
def setFont(self, node):
from reportlab.pdfbase import pdfmetrics
fname = node.get('name')
#TODO : other fonts should be supported
if fname not in pdfmetrics.standardFonts:
fname = self.canvas._fontname
return self.canvas.setFont(fname, utils.unit_get(node.get('size')))
开发者ID:Buyanbat,项目名称:XacCRM,代码行数:7,代码来源:trml2pdf.py
示例18: _line_mode
def _line_mode(self, node):
ljoin = {'round':1, 'mitered':0, 'bevelled':2}
lcap = {'default':0, 'round':1, 'square':2}
if node.hasAttribute('width'):
self.canvas.setLineWidth(utils.unit_get(node.getAttribute('width')))
if node.hasAttribute('join'):
self.canvas.setLineJoin(ljoin[node.getAttribute('join')])
if node.hasAttribute('cap'):
self.canvas.setLineCap(lcap[node.getAttribute('cap')])
if node.hasAttribute('miterLimit'):
self.canvas.setDash(utils.unit_get(node.getAttribute('miterLimit')))
if node.hasAttribute('dash'):
dashes = node.getAttribute('dash').split(',')
for x in range(len(dashes)):
dashes[x]=utils.unit_get(dashes[x])
self.canvas.setDash(node.getAttribute('dash').split(','))
开发者ID:FashtimeDotCom,项目名称:trml2pdf,代码行数:16,代码来源:trml2pdf.py
示例19: _tag_table
def _tag_table(self, node):
self.tb.fline()
saved_tb = self.tb
self.tb = None
sizes = None
if node.get('colWidths'):
sizes = map(lambda x: utils.unit_get(x), node.get('colWidths').split(','))
trs = []
for n in utils._child_get(node,self):
if n.tag == 'tr':
tds = []
for m in utils._child_get(n,self):
if m.tag == 'td':
self.tb = textbox()
self.rec_render_cnodes(m)
tds.append(self.tb)
self.tb = None
if len(tds):
trs.append(tds)
if not sizes:
verbose("computing table sizes..")
for tds in trs:
trt = textbox()
off=0
for i in range(len(tds)):
p = int(sizes[i]/Font_size)
trl = tds[i].renderlines(pad=p)
trt.haplines(trl,off)
off += sizes[i]/Font_size
saved_tb.curline = trt
saved_tb.fline()
self.tb = saved_tb
return
开发者ID:0k,项目名称:OpenUpgrade,代码行数:35,代码来源:rml2txt.py
示例20: _lines
def _lines(self, node):
line_str = utils.text_get(node).split()
lines = []
while len(line_str) > 3:
lines.append([utils.unit_get(l) for l in line_str[0:4]])
line_str = line_str[4:]
self.canvas.lines(lines)
开发者ID:jordotech,项目名称:trml2pdf,代码行数:7,代码来源:trml2pdf.py
注:本文中的utils.unit_get函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论