本文整理汇总了Python中reportlab.pdfgen.canvas.setLineWidth函数的典型用法代码示例。如果您正苦于以下问题:Python setLineWidth函数的具体用法?Python setLineWidth怎么用?Python setLineWidth使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了setLineWidth函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: show
def show(self, canvas, showframe=None):
if self._border_width > 0.0:
canvas.saveState()
canvas.setStrokeColor(self._border_color)
canvas.setLineWidth(self._border_width)
if self._border_fill_color.lower() != 'none':
canvas.setFillColor(self._border_fill_color)
canvas.rect(self.x,
self.y,
self.width,
self.height,
stroke=self._border_type,
fill=self._fill_border_rect)
canvas.restoreState()
if self.flowable is not None:
self.flowable.width = self.width-(2.0*self._padding[0])
self.flowable.height = self.height-(2.0*self._padding[1])
self.flowable.drawOn(canvas, self.x+self._padding[0], self.y-self._padding[1])
if showframe is not None:
canvas.saveState()
canvas.setLineWidth(showframe[0])
canvas.rect(self.x, self.y, self.width, self.height, stroke=1, fill=showframe[1])
canvas.restoreState()
return self
示例2: create_report
def create_report():
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
width, height = letter
canvas = canvas.Canvas("form.pdf", pagesize=letter)
canvas.setLineWidth(.3)
canvas.setFont('Helvetica', 10)
canvas.drawString(30, 750, 'OFFICIAL COMMUNIQUE')
canvas.drawString(30, 735, 'OF ACME INDUSTRIES')
canvas.drawString(500, 750, "12/12/2010")
canvas.line(480, 747, 580, 747)
canvas.drawString(275, 725, 'AMOUNT OWED:')
canvas.drawString(500, 725, "$1,000.00")
canvas.line(378, 723, 580, 723)
canvas.drawString(30, 703, 'RECEIVED BY:')
canvas.line(110, 700, 580, 700)
canvas.drawString(110, 703, "JOHN DOE")
canvas.save()
示例3: confidential
def confidential(self, canvas):
canvas.saveState()
canvas.translate(18.5*cm, 27.4*cm)
canvas.setLineWidth(3)
canvas.setFillColorRGB(1, 0, 0)
canvas.setStrokeGray(0.5)
p = canvas.beginPath()
p.moveTo(10, 0)
p.lineTo(20, 10)
p.lineTo(30, 0)
p.lineTo(40, 10)
p.lineTo(30, 20)
p.lineTo(40, 30)
p.lineTo(30, 40)
p.lineTo(20, 30)
p.lineTo(10, 40)
p.lineTo(0, 30)
p.lineTo(10, 20)
p.lineTo(0, 10)
canvas.drawPath(p, fill=1, stroke=0)
canvas.restoreState()
示例4: write_pdf
def write_pdf(self, canvas):
canvas.setFont("Helvetica", 70)
if self.show_title:
canvas.drawString(70, 70, self.title)
canvas.setFont("Helvetica", SUDOKU_FONT_SIZE)
sudoku_offset = SUDOKU_PDF_OFFSET
xlist = [sudoku_offset[0] + j *
(2 * SUDOKU_XPAD + SUDOKU_FONT_SIZE) for j in range(0, 9 + 1)]
ylist = [sudoku_offset[1] + j *
(2 * SUDOKU_YPAD + SUDOKU_FONT_SIZE) for j in range(0, 9 + 1)]
canvas.grid(xlist, ylist)
for x in range(0, 9):
for y in range(0, 9):
if self.sudoku.mat[y][x] != UNKNOWN:
canvas.drawString(
sudoku_offset[0] +
(SUDOKU_FONT_SIZE + SUDOKU_XPAD) // 2 +
x * (2 * SUDOKU_XPAD + SUDOKU_FONT_SIZE) - 4,
sudoku_offset[1] + SUDOKU_FONT_SIZE +
y * (2 * SUDOKU_YPAD + SUDOKU_FONT_SIZE),
str(self.sudoku.mat[y][x])
)
if self.show_page_number:
canvas.setFont("Helvetica", 10)
canvas.drawString(280, 800, str(self.page_number))
# draw a cell
canvas.setLineWidth(3)
canvas.grid(xlist[::3], ylist[::3])
示例5: draw
def draw(self, pmlOp, pageNr, canvas, pe):
canvas.setLineWidth(pe.mm2points(pmlOp.width))
path = canvas.beginPath()
path.arc( pe.x(pmlOp.x - pmlOp.radius), pe.y(pmlOp.y - pmlOp.radius),
pe.x(pmlOp.x + pmlOp.radius), pe.y(pmlOp.y + pmlOp.radius),
startAng=pmlOp.startAngle, extent=90)
canvas.drawPath(path)
示例6: ref_ticker
def ref_ticker(canvas, feature, cLen, Y0, nudge, offset):
"""Draw contig separators."""
# get contig name
name = feature.qualifiers.get('id')[0]
# take start and end points
location = feature.location
Zs = location.nofuzzy_start
Ze = location.nofuzzy_end
# calculate loop offset coordinates
loop_offZs = offset_coord(Zs, cLen, offset)
loop_offZe = offset_coord(Ze, cLen, offset)
# calculate nudge offset coordinates
offZs = nudge_coord(loop_offZs, nudge)
offZe = nudge_coord(loop_offZe, nudge)
xs, xe = offZs*u, offZe*u
xmid = (xe+xs)/2
# set Y axis coordinates
y0 = Y0+dop*3
# draw
canvas.setLineWidth(2)
ttl = canvas.beginPath()
ttl.moveTo(xs,y0+w)
ttl.lineTo(xs,y0+w+h*2)
ttl.lineTo(xe,y0+w+h*2)
ttl.lineTo(xe,y0+w)
canvas.drawPath(ttl, stroke=1, fill=0)
canvas.setFont(bFont, NfSize)
canvas.drawCentredString(xmid, y0+h*5, name)
canvas.setFont(rFont, NfSize)
ttl.close()
示例7: orf_eus
def orf_eus(canvas, featL, coords, color_hex, shape):
"""Draw CDS and write count."""
xs, xe, xn, y0, yt, yb, ynt, ynb = coords
canvas.setLineWidth(1)
# initialize path
pORF = canvas.beginPath()
if shape == 'square':
pORF.moveTo(xs,ynt)
pORF.lineTo(xe,ynt)
pORF.lineTo(xe,ynb)
pORF.lineTo(xs,ynb)
pORF.lineTo(xs,ynt)
# draw triangle-shaped ORFS
elif featL <= minL:
pORF.moveTo(xs,yt)
pORF.lineTo(xe,y0)
pORF.lineTo(xs,yb)
pORF.lineTo(xs,yt)
# draw arrow-shaped ORFS
else:
pORF.moveTo(xs,ynt)
pORF.lineTo(xn,ynt)
pORF.lineTo(xn,yt)
pORF.lineTo(xe,y0)
pORF.lineTo(xn,yb)
pORF.lineTo(xn,ynb)
pORF.lineTo(xs,ynb)
pORF.lineTo(xs,ynt)
# evaluate function category and set fill color
canvas.setFillColor(color_hex)
# finalize object path
canvas.drawPath(pORF, stroke=1, fill=1)
pORF.close()
canvas.setFillColor(black)
示例8: draw_half_star
def draw_half_star (self, inner_length=1*inch, outer_length=2*inch, points=5, origin=None):
canvas = self.canv
canvas.setLineWidth(0)
if not origin: canvas.translate(self.size*0.5,self.size*0.5)
else: canvas.translate(*origin)
canvas.setFillColor(self.fillcolor)
canvas.setStrokeColor(self.strokecolor)
p = canvas.beginPath()
inner = False # Start on top
is_origin = True
#print 'Drawing star with radius',outer_length,'(moving origin ',origin,')'
for theta in range(0,360,360/(points*2)):
if 0 < theta < 180: continue
if inner: r = inner_length
else: r = outer_length
x = (math.sin(math.radians(theta)) * r)
y = (math.cos(math.radians(theta)) * r)
#print 'POINT:',x,y
if is_origin:
p.moveTo(x,y)
is_origin = False
else:
p.lineTo(x,y)
inner = not inner
p.close()
canvas.drawPath(p,fill=1)
示例9: contig_ticker
def contig_ticker(canvas, feature, cLen, Y0, offset, offset_mode):
"""Draw contig separators."""
# get contig name
name = feature.qualifiers.get('id')[0]
# take start and end points
location = feature.location
Zs = location.nofuzzy_start
Ze = location.nofuzzy_end
# calculate offset coordinates
if offset_mode == 'loop':
offZs = offset_coord(Zs, cLen, offset)
offZe = offset_coord(Ze, cLen, offset)
elif offset_mode == 'nudge':
offZs = nudge_coord(Zs, offset)
offZe = nudge_coord(Ze, offset)
else:
offZs = Zs
offZe = Ze
xs, xe = offZs*u, offZe*u
# set Y axis coordinates
y0 = Y0-dop*3.5
# draw
canvas.setLineWidth(2)
ttl = canvas.beginPath()
ttl.moveTo(xs,y0)
ttl.lineTo(xs,y0-h*4)
ttl.lineTo(xs+dop,y0-h*4)
canvas.drawPath(ttl, stroke=1, fill=0)
canvas.setFont(bFont, NfSize)
canvas.drawString(xs+dop*2, y0-h*4.5, name)
canvas.setFont(rFont, SfSize)
canvas.drawString(xs+dop*2,y0-h*8,"".join(["[",str(Zs),"-",str(Ze),"]"]))
canvas.setFont(rFont, NfSize)
ttl.close()
示例10: __init__
def __init__(self, pt_ID, amount):
self.amount = amount
self.pt_ID = pt_ID
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
canvas = canvas.Canvas("/home/mb/Desktop/GECKO/EMR_outputs/%s/Other/rcpt-%s.pdf" % \
(self.pt_ID, EMR_utilities.dateToday()), pagesize=letter)
canvas.setLineWidth(.3)
canvas.setFont('Helvetica', 12)
canvas.drawString(30,750,'PAYMENT FOR MEDICAL SERVICES FOR %s' % self.name_find())
canvas.drawString(30,735,'RENDERED AT BARRON FAMILY MEDICINE')
canvas.drawString(500,750,"%s" % EMR_utilities.dateToday())
canvas.line(480,747,580,747)
canvas.drawString(275,725,'AMOUNT PAID:')
canvas.drawString(500,725,"$%s" % self.amount)
canvas.line(378,723,580,723)
canvas.drawString(30,703,'RECEIVED BY:')
canvas.line(120,700,580,700)
canvas.drawString(120,703,"MICHAEL BARRON MD")
canvas.save()
示例11: get_canvas
def get_canvas(self, packet):
canvas = super(AnswerSheetMask, self).get_canvas(packet)
canvas.setStrokeColor(colors.black)
canvas.setFillColor(colors.white)
canvas.setLineWidth(0.2 * mm)
canvas.setFont('Helvetica', 8)
return canvas
示例12: __init__
def __init__(self, pt_ID, amount):
self.amount = amount
self.pt_ID = pt_ID
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
lt = "%s/EMR_outputs/%s/Other/rcpt-%s.pdf" % (settings.LINUXPATH, self.pt_ID, EMR_utilities.dateToday('file format'))
at = "%s/EMR_outputs/%s/Other/rcpt-%s.pdf" % (settings.APPLEPATH, self.pt_ID, EMR_utilities.dateToday('file format'))
wt = "%s\EMR_outputs\%s\Other\rcpt-%s.pdf" % (settings.WINPATH, self.pt_ID, EMR_utilities.dateToday('file format'))
filename = EMR_utilities.platformText(lt, at, wt)
canvas = canvas.Canvas(filename, pagesize=letter)
canvas.setLineWidth(.3)
canvas.setFont('Helvetica', 12)
canvas.drawString(30,750,'PAYMENT FOR MEDICAL SERVICES FOR %s' % self.name_find())
canvas.drawString(30,735,'RENDERED AT BARRON FAMILY MEDICINE')
canvas.drawString(500,750,"%s" % EMR_utilities.dateToday())
canvas.line(480,747,580,747)
canvas.drawString(275,725,'AMOUNT PAID:')
canvas.drawString(500,725,"$%s" % self.amount)
canvas.line(378,723,580,723)
canvas.drawString(30,703,'RECEIVED BY:')
canvas.line(120,700,580,700)
canvas.drawString(120,703, settings.NAME)
canvas.save()
示例13: spacer_ticker
def spacer_ticker(canvas, feature, cLen, Y0, nudge, offset, side):
"""Draw separator indicators."""
# take start and end points
location = feature.location
Zs = location.nofuzzy_start
Ze = location.nofuzzy_end
# calculate loop offset coordinates
loop_offZs = offset_coord(Zs, cLen, offset)
loop_offZe = offset_coord(Ze, cLen, offset)
# calculate nudge offset coordinates
offZs = nudge_coord(loop_offZs, nudge)
offZe = nudge_coord(loop_offZe, nudge)
xs, xe = offZs*u, offZe*u
# set Y axis coordinates
y0 = Y0-dop*3.5
if side == 'low':
yT1 = y0-h*4
else:
yT1 = y0+h*4
# draw
canvas.setLineWidth(2)
ttl = canvas.beginPath()
ttl.moveTo(xs,y0)
ttl.lineTo(xs,yT1)
ttl.lineTo(xe,yT1)
ttl.lineTo(xe,y0)
canvas.drawPath(ttl, stroke=1, fill=0)
ttl.close()
示例14: beforeDrawPage
def beforeDrawPage(self, canvas, doc):
if self.background != None:
self.background.draw_on(canvas)
(width, height) = canvas._pagesize
canvas.setLineWidth(0.2 * cm)
canvas.line(cm, height - (2*cm), width - cm, height - (2*cm))
canvas.line(cm, (2*cm), width - cm, (2*cm))
示例15: framePage
def framePage(canvas, title, pos):
canvas.setFont('Times-Roman', 15)
canvas.drawString(inch, pos * inch, title)
canvas.setFont('Times-Roman', 10)
canvas.drawCentredString(4.135 * inch, 0.75 * inch,
'Página %d' % canvas.getPageNumber())
#reset carefully afterwards
canvas.setLineWidth(1)
canvas.setStrokeColorRGB(0, 0, 0)