本文整理汇总了Python中reportlab.pdfgen.canvas.Canvas.setStrokeGray方法的典型用法代码示例。如果您正苦于以下问题:Python Canvas.setStrokeGray方法的具体用法?Python Canvas.setStrokeGray怎么用?Python Canvas.setStrokeGray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.pdfgen.canvas.Canvas
的用法示例。
在下文中一共展示了Canvas.setStrokeGray方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setStrokeGray [as 别名]
def main():
currpos = PAGESIZE[1] - LINEHEIGHT # start at 1 line from top of page
pdf = Canvas(OUTPUTFILE, pagesize = ORIENTATION(PAGESIZE))
pdf.setFillGray(1)
pdf.setLineWidth(GUIDETHICKNESS_MAIN)
while currpos > LINEHEIGHT: # Loop until we reach one line from bottom of page
# Draw tall ascender line
pdf.setStrokeGray(0.5)
pdf.line( 0, currpos, PAGESIZE[0], currpos)
# Draw short ascender line, x-height-line, and baseline
pdf.setStrokeGray(0.75)
pdf.setLineWidth(GUIDETHICKNESS_SMALL)
pdf.line( 0, currpos - ( LINEHEIGHT/6 ),
PAGESIZE[0], currpos - ( LINEHEIGHT/6 ))
pdf.line( 0, currpos - ( LINEHEIGHT/3 ),
PAGESIZE[0], currpos - ( LINEHEIGHT/3 ))
pdf.line( 0, currpos - ( 2 * LINEHEIGHT/3 ),
PAGESIZE[0], currpos - ( 2 * LINEHEIGHT/3 ))
currpos -= LINEHEIGHT
# Draw a final line, and draw a margin
pdf.setStrokeColorRGB(0.5, 0.5, 0.5)
pdf.setLineWidth(GUIDETHICKNESS_MAIN)
pdf.line( 0, currpos, PAGESIZE[0], currpos)
if LEFTMARGIN:
pdf.line( 2 * LINEHEIGHT, currpos,
2 * LINEHEIGHT, PAGESIZE[1] - LINEHEIGHT )
# close up.
pdf.showPage()
pdf.save()
示例2: Address
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setStrokeGray [as 别名]
#.........这里部分代码省略.........
text.textLines("\n".join(self.client.getContactLines()))
self.pdf.drawText(text)
def drawProvider(self,TOP,LEFT):
LEFT += 90
self.pdf.setFont("DejaVu", 12)
self.pdf.drawString((LEFT)*mm, (TOP)*mm, "Address")
self.pdf.setFont("DejaVu", 9)
text = self.pdf.beginText((LEFT+2)*mm, (TOP-6)*mm)
text.textLines("\n".join(self.provider.getAddressLines()))
self.pdf.drawText(text)
text = self.pdf.beginText((LEFT+40)*mm, (TOP-6)*mm)
text.textLines("\n".join(self.provider.getContactLines()))
self.pdf.drawText(text)
if self.provider.note:
self.pdf.drawString((LEFT+2)*mm, (TOP-26)*mm, self.provider.note)
def drawPayment(self,TOP,LEFT):
self.pdf.setFont("DejaVu", 11)
self.pdf.drawString((LEFT)*mm, (TOP)*mm, "Patient Name")
self.pdf.drawString((LEFT+50)*mm, (TOP)*mm, "Date")
self.pdf.setFont("DejaVu", 9)
text = self.pdf.beginText((LEFT+50)*mm, (TOP-6)*mm)
text.textLines(self.date)
self.pdf.drawText(text)
text = self.pdf.beginText((LEFT+2)*mm, (TOP-6)*mm)
text.textLines("\n".join(self.client.getAddressLines()))
self.pdf.drawText(text)
text = self.pdf.beginText((LEFT+2)*mm, (TOP-28)*mm)
text.textLines("\n".join(self.client.getContactLines()))
self.pdf.drawText(text)
self.pdf.drawText(text)
def drawItems(self,TOP,LEFT):
# Items
#path = self.pdf.beginPath()
#path.moveTo((LEFT)*mm, (TOP-4)*mm)
#path.lineTo((LEFT+176)*mm, (TOP-4)*mm)
#self.pdf.drawPath(path, True, True)
self.pdf.setFont("DejaVu", 11)
i=1
self.pdf.drawString((LEFT+1)*mm, (TOP-i)*mm, "Description")
self.pdf.drawString((LEFT+98)*mm, (TOP-i)*mm, "Quantity")
self.pdf.drawString((LEFT+121)*mm, (TOP-i)*mm, "Unit Price")
self.pdf.drawString((LEFT+149)*mm, (TOP-i)*mm, "Amount")
i+=7
self.pdf.setFont("DejaVu", 9)
# List
total=0.0
for x in self.items:
self.pdf.drawString((LEFT+1)*mm, (TOP-i)*mm, x.name)
i+=0
self.pdf.drawString((LEFT+100)*mm, (TOP-i)*mm, "%d" % x.count)
self.pdf.drawString((LEFT+122)*mm, (TOP-i)*mm, "Rs. %.2f" % x.price)
self.pdf.drawString((LEFT+150)*mm, (TOP-i)*mm, "Rs. %.2f" % (x.total()))
i+=5
total += x.total()
self.items = []
path = self.pdf.beginPath()
path.moveTo((LEFT)*mm, (TOP-i)*mm)
path.lineTo((LEFT+176)*mm, (TOP-i)*mm)
self.pdf.drawPath(path, True, True)
total = round(total,2)
self.pdf.setFont("DejaVu", 10)
self.pdf.drawString((LEFT+1)*mm, (TOP-i-8)*mm, self.p.number_to_words(total).title() + " Rupees Only.")
self.pdf.setFont("DejaVu", 12)
self.pdf.drawString((LEFT+130)*mm, (TOP-i-8)*mm, "Total: Rs. %s" % total)
self.pdf.setFont("Helvetica-Bold", 40)
self.pdf.setStrokeGray(0.25)
self.pdf.setFillColorRGB(0.95, 0.95, 0.95)
self.pdf.drawString((LEFT+60)*mm, (TOP-i)*mm, 'PAID')
self.pdf.setFillColorRGB(0, 0, 0)
self.pdf.rect((LEFT)*mm, (TOP-i-12)*mm, (LEFT+156)*mm, (i+19)*mm, stroke=True, fill=False) #140,142
if self.sign_image:
self.pdf.drawImage(self.sign_image, (LEFT+98)*mm, (TOP-i-72)*mm)
# if self.creator:
# path = self.pdf.beginPath()
# path.moveTo((LEFT+110)*mm, (TOP-i-70)*mm)
# path.lineTo((LEFT+164)*mm, (TOP-i-70)*mm)
# self.pdf.drawPath(path, True, True)
# self.pdf.drawString((LEFT+112)*mm, (TOP-i-75)*mm, "Authorized Signatory")
def drawDates(self,TOP,LEFT):
LEFT -= 90
today = datetime.datetime.today()
payback = today+datetime.timedelta(self.payment_days)
self.pdf.setFont("DejaVu", 10)
self.pdf.drawString((LEFT)*mm, (TOP+1)*mm, "TIN: %s" % self.TIN)
self.pdf.drawString((LEFT)*mm, (TOP-4)*mm, "DL: %s" % self.CAN)
示例3: print_many_areas
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setStrokeGray [as 别名]
def print_many_areas(areas):
init_pdf()
c = Canvas('1.pdf', pagesize = A4)
x = (A4[0] - BLANK_WIDTH) / 2
y = (A4[1] - 3*BLANK_HEIGHT) / 2
map_urls = [ build_map_url(area.x, area.y, area.zoom, area.marks) for area in areas ]
urls_to_fetch = []
map_pngs = {}
for url in map_urls:
png = MapCache.get_map(url)
if png:
map_pngs[url] = png
else:
urls_to_fetch.append(url)
if urls_to_fetch:
pool = multiprocessing.Pool(16)
fetched_pngs = pool.map(fetch_map, urls_to_fetch)
pool.close()
else:
fetched_pngs = []
for url, png in izip(urls_to_fetch, fetched_pngs):
if png is None:
raise Exception("Cannot fetch {0}".format(url))
map_pngs[url] = png
map_images = {}
for url, png in map_pngs.iteritems():
map_images[url] = adjust_colors(Image.open(StringIO.StringIO(png)).convert('RGB'))
# Saving PNG to MapCache only after creating Image from it to insure it is proper PNG
for url, png in izip(urls_to_fetch, fetched_pngs):
MapCache.save_map(url, png)
for page_no in xrange((len(areas) + 2) / 3):
page_set = areas[page_no*3 : (page_no+1)*3]
c.setLineWidth(0.5)
c.setStrokeGray(0.5)
c.line(x, 0, x, A4[1])
c.line(x + BLANK_WIDTH, 0, x + BLANK_WIDTH, A4[1])
c.line(0, y + 3*BLANK_HEIGHT, A4[0], y + 3*BLANK_HEIGHT)
print_area_blank(c, x, y + 2*BLANK_HEIGHT, areas[page_no*3 + 0], map_images[map_urls[page_no*3 + 0]])
c.line(0, y + 2*BLANK_HEIGHT, A4[0], y + 2*BLANK_HEIGHT)
if len(page_set) >= 2:
print_area_blank(c, x, y + BLANK_HEIGHT, areas[page_no*3 + 1], map_images[map_urls[page_no*3 + 1]])
c.line(0, y + BLANK_HEIGHT, A4[0], y + BLANK_HEIGHT)
if len(page_set) >= 3:
print_area_blank(c, x, y, areas[page_no*3 + 2], map_images[map_urls[page_no*3 + 2]])
c.line(0, y, A4[0], y)
c.showPage()
return c.getpdfdata()