本文整理汇总了Python中reportlab.pdfgen.canvas.save函数的典型用法代码示例。如果您正苦于以下问题:Python save函数的具体用法?Python save怎么用?Python save使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了save函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: print_cards
def print_cards():
#LETTER = (8.5, 11)
LETTER = (11, 8.5)
DPI = 72
# Set print margins
MARGIN = 0.5
x_offset = int(MARGIN * DPI)
y_offset = int(MARGIN * DPI)
CARDSIZE = (int(2.49 * DPI), int(3.48 * DPI))
#scale = CARDSIZE[0] / 375.0 # Default cardsize in px
cards = convert_to_cards(session['cardtext'])
byte_io = BytesIO()
from reportlab.pdfgen import canvas
canvas = canvas.Canvas(byte_io, pagesize=landscape(letter))
WIDTH, HEIGHT = landscape(letter)
#draw = ImageDraw.Draw(sheet)
for card in cards:
image = create_card_img(card,session["do_google"])
image_reader = ImageReader(image)
canvas.drawImage(image_reader,
x_offset,
y_offset,
width=CARDSIZE[0],
height=CARDSIZE[1])
x_offset += CARDSIZE[0] + 5 # 5 px border around cards
if x_offset + CARDSIZE[0] > LETTER[0] * DPI:
x_offset = int(MARGIN * DPI)
y_offset += CARDSIZE[1] + 5
if y_offset + CARDSIZE[1] > LETTER[1] * DPI:
x_offset = int(MARGIN * DPI)
y_offset = int(MARGIN * DPI)
canvas.showPage()
canvas.save()
byte_io.seek(0)
return send_file(byte_io, mimetype='application/pdf')
示例2: __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()
示例3: 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()
示例4: __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()
示例5: produce_pdf
def produce_pdf(self, input_file=None, out_directory=None):
out = os.path.join(out_directory, self.out_file_name)
self.data = self._parse_input_file(input_file)
canvas = reportlab.pdfgen.canvas.Canvas(out, pagesize=pagesizes.A4)
map(lambda p: self._process_page(canvas, p), self.pages)
canvas.showPage()
canvas.save()
示例6: process_stories
def process_stories(filepath):
with open(filepath, 'r') as infile:
reader = csv.DictReader(infile)
canvas = None
for row in reader:
canvas = generate_pdf(row, canvas)
canvas.save()
print "Stories saved to %s" % OUT_FILENAME
示例7: convert_pdf
def convert_pdf(image_name, width, height):
from reportlab.pdfgen import canvas
from reportlab.lib.units import inch
canvas = canvas.Canvas('output.pdf')
canvas.setPageSize((width*inch, height*inch))
canvas.drawImage(image_name, 0.1*inch, 0.1*inch, (width-0.1)*inch, (height-0.1)*inch)
canvas.showPage()
canvas.save()
示例8: create_backpdf
def create_backpdf(image_name):
from reportlab.pdfgen import canvas
from reportlab.lib.units import inch
canvas = canvas.Canvas('PC_back.pdf')
canvas.setPageSize((6*inch, 4*inch))
canvas.drawImage(image_name, 0.1*inch, 0.1*inch, 5.9*inch, 3.9*inch)
canvas.showPage()
canvas.save()
示例9: create_mug_pdf
def create_mug_pdf(image_name):
from reportlab.pdfgen import canvas
from reportlab.lib.units import inch
canvas = canvas.Canvas('mug.pdf')
canvas.setPageSize((8.58*inch, 3.7*inch))
canvas.drawImage(image_name, 0.1*inch, 0.1*inch, 5.9*inch, 3.9*inch)
canvas.showPage()
canvas.save()
示例10: generate_lists
def generate_lists(lists, title="Coffee list"):
"""
Given multiple list descriptions as an iterable of list_id and names,
generate one PDF that contains them all.
See generate_list.
"""
outfile = StringIO.StringIO()
canvas = reportlab.pdfgen.canvas.Canvas(outfile, pagesize=COFFEE_SHEET_PAGE_FORMAT)
for a_list in lists:
generate_list(*a_list, title=title, canvas=canvas)
canvas.save()
return outfile
示例11: print_receipt
def print_receipt(tot_price, trans_id, cashier_id, amount_paid, amount_rem):
#global last_trans, canvas, base, values, currentprinter, canvas
print str(tot_price)+' '+str(trans_id)+' '+str(cashier_id)+str(last_trans)
#raw_input("Press Enter to continue...")
canvas = canvas.Canvas("receipt.pdf", pagesize=letter)
canvas.setLineWidth(.3)
canvas.setFont('Helvetica', 12)
canvas.drawString(30,750,'CASHIER ID: '+str(cashier_id))
canvas.drawString(30,735,'TRANSACTION ID: '+str(trans_id))
canvas.drawString(500,750,time.strftime("%d/%m/%Y"))
canvas.line(480,747,580,747)
canvas.drawString(275,725,'TOTAL PRICE:')
canvas.drawString(500,725,"$"+str(tot_price))
canvas.line(378,723,580,723)
canvas.drawString(30,703,'PRODUCTS:')
canvas.drawString(120,703,'<Barcode>')
canvas.drawString(190,703,'<Quantity>')
canvas.drawString(260,703,'<Price>')
#items = ['10005058 2 24.00', '10005058 2 24.00']
base = 683
print last_trans
for check in last_trans:
values = check.split()
print values
#raw_input('print check')
left= 120
for value in values:
canvas.drawString(left,base,str(value))
left+=70
base=base-30
canvas.line(120,base,580,base)
base-=30
canvas.drawString(120,base,'AMOUNT PAID: $ %.2f'%amount_paid)
canvas.line(120,base-10,580,base-10)
base-=30
canvas.drawString(120,base,'CHANGE: $ %.2f'%amount_rem)
base-=30
canvas.line(120,base-10,580,base-10)
canvas.save()
currentprinter = win32print.GetDefaultPrinter()
if len(currentprinter):
win32print.SetDefaultPrinter(currentprinter)
win32api.ShellExecute(0, "print", 'receipt.pdf', None, ".", 0)
threading.Timer(15, lambda: os.remove('receipt.pdf') ).start()
示例12: print_image
def print_image(canvas, image, name):
w, h = A4
canvas.drawImage(
pil_to_rl(image, name),
0,
0,
height=w * 0.95,
width=w * 0.95,
preserveAspectRatio=True,
anchor='sw'
)
canvas.drawCentredString(w / 2, 600, name)
canvas.showPage()
canvas.save()
示例13: main
def main():
output_path = "../../data/characters/templates_printout.pdf"
canvas = reportlab.pdfgen.canvas.Canvas(
output_path, bottomup=1, pagesize=reportlab.lib.pagesizes.A4)
canvas_size = reportlab.lib.pagesizes.A4
width, height = canvas_size
# Size of image and margin between images on a pdf page
image_size = int(width * 0.2)
margin = int(width * 0.06)
paths = glob.glob("../../data/characters/templates/*.jpg")
templates = [cv2.cvtColor(cv2.imread(path), cv2.COLOR_BGR2GRAY) for path in paths]
temporary_dir = "/tmp/templates/"
# Make directory for temporary images if it doesn't already exist
os.makedirs(temporary_dir, exist_ok=True)
# Write bordered images to temporary dir
for path, template in zip(paths, templates):
temporary_path = temporary_dir + os.path.basename(path)
cv2.imwrite(temporary_path, template)
paths_iterator = iter(glob.glob(temporary_dir + "/*.jpg"))
# Create pages until we run out of template paths
while True:
try:
create_page(canvas, canvas_size, paths_iterator, image_size, margin)
canvas.showPage()
except StopIteration:
break
canvas.save()
# Clean up temporary images
shutil.rmtree(temporary_dir)
示例14: dict_to_pdf_proc
def dict_to_pdf_proc(file_pdf,dict_aa):
from reportlab.pdfgen import canvas
fontname_g = "HeiseiKakuGo-W5"
pdfmetrics.registerFont (UnicodeCIDFont(fontname_g))
canvas = canvas.Canvas(file_pdf)
canvas.setFont(fontname_g, 20)
ypos = 700
for key in sorted(dict_aa.keys()):
unit = dict_aa[key]
canvas.drawString(50,ypos,key)
canvas.drawString(185,ypos,unit['name'])
canvas.drawString(285,ypos,str (unit['population']))
canvas.drawString(400,ypos,unit['date_mod'])
ypos = ypos - 25
#
canvas.save()
示例15: test5
def test5(self):
"List and display all named colors and their gray equivalents."
canvas = reportlab.pdfgen.canvas.Canvas(outputfile('test_lib_colors.pdf'))
#do all named colors
framePage(canvas, 'Color Demo - page %d' % canvas.getPageNumber())
all_colors = reportlab.lib.colors.getAllNamedColors().items()
all_colors.sort() # alpha order by name
canvas.setFont('Times-Roman', 10)
text = 'This shows all the named colors in the HTML standard (plus their gray and CMYK equivalents).'
canvas.drawString(72,740, text)
canvas.drawString(200,725,'Pure RGB')
canvas.drawString(300,725,'B&W Approx')
canvas.drawString(400,725,'CMYK Approx')
y = 700
for (name, color) in all_colors:
canvas.setFillColor(colors.black)
canvas.drawString(100, y, name)
canvas.setFillColor(color)
canvas.rect(200, y-10, 80, 30, fill=1)
canvas.setFillColor(colors.color2bw(color))
canvas.rect(300, y-10, 80, 30, fill=1)
c, m, yel, k = colors.rgb2cmyk(color.red, color.green, color.blue)
CMYK = colors.CMYKColor(c,m,yel,k)
canvas.setFillColor(CMYK)
canvas.rect(400, y-10, 80, 30, fill=1)
y = y - 40
if y < 100:
canvas.showPage()
framePage(canvas, 'Color Demo - page %d' % canvas.getPageNumber())
canvas.setFont('Times-Roman', 10)
y = 700
canvas.drawString(200,725,'Pure RGB')
canvas.drawString(300,725,'B&W Approx')
canvas.drawString(400,725,'CMYK Approx')
canvas.save()