本文整理汇总了Python中reportlab.pdfgen.canvas.Canvas.setAuthor方法的典型用法代码示例。如果您正苦于以下问题:Python Canvas.setAuthor方法的具体用法?Python Canvas.setAuthor怎么用?Python Canvas.setAuthor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.pdfgen.canvas.Canvas
的用法示例。
在下文中一共展示了Canvas.setAuthor方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generate_pages
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def generate_pages(card_sizes,cards, filename="placecards.pdf", custom_font = None):
pagesize = pagesizes.portrait( ( 8.5 * pagesizes.inch, 11 * pagesizes.inch))
pdf = Canvas(filename, pagesize=pagesize,pdfVersion=(1,4))
pdf.setAuthor('placecardboardgenerate.py')
pdf.setSubject('wedding placecards')
pdf.setTitle('Placecards for Wedding Reception')
pdf.setKeywords(('wedding', 'placecards'))
if custom_font is not None:
pdf.setFont(custom_font,14)#FIXME don't hardcode font size
adjusted_card_sizes = (card_sizes[0] * pagesizes.inch, card_sizes[1] * pagesizes.inch)
card_printer = CardPrinter(pagesize,adjusted_card_sizes)
(cardsPerRow,rowsPerPage) = (card_printer.cards_per_row, card_printer.cards_per_column)
(page_width, page_height) = pagesize
groupedCards = group_cards(cards, cardsPerRow, rowsPerPage)
for (page_index,pageOfCards) in enumerate(groupedCards):
if custom_font is not None:
pdf.setFont(custom_font,14)#FIXME don't hardcode font size
for (row_index,rowOfCards) in enumerate(pageOfCards):
for (column_index,card) in enumerate(rowOfCards):
card_printer.print_on_front_page(pdf,card,row_index, column_index)
pdf.drawCentredString(page_width/2.0,20,"front of page %i" % (page_index + 1))
pdf.showPage()
if custom_font is not None:
pdf.setFont(custom_font,14)#FIXME don't hardcode font size
for (row_index,rowOfCards) in enumerate(pageOfCards):
for (column_index,card) in enumerate(rowOfCards):
card_printer.print_on_back_page(pdf,card,row_index, column_index)
pdf.drawCentredString(page_width/2.0,20,"back of page %i" % (page_index + 1))
pdf.showPage()
pdf.save()
示例2: test_canvas
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def test_canvas(self):
"Test generating an encrypted pdf by setting a user password on the Canvas."
fname = outputfile("test_encrypt_canvas.pdf")
c = Canvas(fname, encrypt="User")
c.setAuthor("Anonymous")
c.setFont("Helvetica-Bold", 36)
c.drawString(100, 700, "Top secret")
c.save()
parsedoc(fname)
示例3: test
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def test(self):
c = Canvas(outputfile('test_hello.pdf'))
#Author with Japanese text
c.setAuthor('\xe3\x83\x9b\xe3\x83\x86\xe3\x83\xab\xe3\x83\xbbe\xe3\x83\x91\xe3\x83\xb3\xe3\x83\x95\xe3\x83\xac\xe3\x83\x83\xe3\x83\x88')
#Subject with Arabic magic
c.setSubject(u'\u0643\u0644\u0627\u0645 \u0639\u0631\u0628\u064a')
c.setFont('Helvetica-Bold', 36)
c.drawString(100,700, 'Hello World')
c.save()
示例4: test_canvas
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def test_canvas(self):
"Test generating an encrypted pdf by setting a user password on the Canvas."
fname = outputfile('test_encrypt_canvas.pdf')
c = Canvas(fname, encrypt='User')
c.setAuthor('Anonymous')
c.setFont('Helvetica-Bold', 36)
c.drawString(100,700, 'Top secret')
c.save()
parsedoc(fname)
示例5: create_pdf
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def create_pdf(image_paths, output_filepath):
image_paths.sort()
pdf = Canvas(output_filepath)
pdf.setAuthor("MangaCreator")
for image_path in image_paths:
image = Image.open(image_path)
width, height = A4
pdf.drawInlineImage(image, x=0, y=0, width=width, height=height)
pdf.showPage()
pdf.save()
示例6: render
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def render(self, path):
canvas = Canvas(path, pagesize=A4, pageCompression=1)
canvas.setTitle(self.title)
canvas.setSubject(self.subject)
canvas.setAuthor(self.author)
canvas.setCreator(self.creator)
canvas._doc.info.producer = self.creator
self.canvas = canvas
self.render_pages()
self.canvas.save()
示例7: test
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def test(self):
c = Canvas(outputfile("test_hello.pdf"))
# Author with Japanese text
c.setAuthor(
"\xe3\x83\x9b\xe3\x83\x86\xe3\x83\xab\xe3\x83\xbbe\xe3\x83\x91\xe3\x83\xb3\xe3\x83\x95\xe3\x83\xac\xe3\x83\x83\xe3\x83\x88"
)
# Subject with Arabic magic
c.setSubject(u"\u0643\u0644\u0627\u0645 \u0639\u0631\u0628\u064a")
c.setFont("Helvetica-Bold", 36)
c.drawString(100, 700, "Hello World")
c.save()
示例8: _save_pdf
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def _save_pdf(self):
"""
Output the current document to a PDF file using ReportLab.
"""
save_model = self.application.get_save_model()
save_view = self.application.get_save_view()
document_model = self.application.get_document_model()
# TODO: seperate saving code into its own thread?
# Setup output pdf
pdf = PdfCanvas(save_model.filename)
pdf.setTitle(save_model.title)
pdf.setAuthor(save_model.author)
pdf.setKeywords(save_model.keywords)
# Generate pages
page_iter = document_model.get_iter_first()
while page_iter:
current_page = document_model.get_value(page_iter, 0)
# Write transformed image
temp_file_path = ''.join([tempfile.mktemp(), '.bmp'])
current_page.pil_image.save(temp_file_path)
assert os.path.exists(temp_file_path), \
'Temporary bitmap file was not created by PIL.'
size = constants.PAGESIZES_INCHES[current_page.page_size]
pdf_width = size[0] * points_per_inch
pdf_height = size[1] * points_per_inch
# Swizzle width and height if the page has been rotated on its side
if abs(current_page.rotation) % 180 == 90:
pdf_width, pdf_height = pdf_height, pdf_width
pdf.setPageSize((pdf_width, pdf_height))
pdf.drawImage(
temp_file_path,
0, 0, width=pdf_width, height=pdf_height,
preserveAspectRatio=True)
pdf.showPage()
os.remove(temp_file_path)
page_iter = document_model.iter_next(page_iter)
# Save complete PDF
pdf.save()
assert os.path.exists(save_model.filename), \
'Final PDF file was not created by ReportLab.'
document_model.clear()
示例9: test_standardencryption
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def test_standardencryption(self):
"Test generating an encrypted pdf by passing a StandardEncryption object to the Canvas."
encrypt = pdfencrypt.StandardEncryption(userPassword='User', ownerPassword='Owner')
encrypt.setAllPermissions(0)
encrypt.canPrint = 1
fname = outputfile('test_encrypt_canvas2.pdf')
c = Canvas(fname, encrypt=encrypt)
c.setAuthor('Anonymous')
c.setFont('Helvetica-Bold', 36)
c.drawString(100,700, 'Top secret')
c.save()
parsedoc(fname)
示例10: test_standardencryption128
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def test_standardencryption128(self):
"Test generating an encrypted pdf by passing a StandardEncryption object to the Canvas."
encrypt = pdfencrypt.StandardEncryption(userPassword="User", ownerPassword="Owner", strength=128)
encrypt.setAllPermissions(0)
encrypt.canPrint = 1
fname = outputfile("test_encrypt_canvas2_128.pdf")
c = Canvas(fname, encrypt=encrypt)
c.setAuthor("Anonymous")
c.setFont("Helvetica-Bold", 36)
c.drawString(100, 700, "More Top secret uses 128 bit encryption!")
c.save()
parsedoc(fname)
示例11: test_04_canvasMethods
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def test_04_canvasMethods(self):
from reportlab.lib.pagesizes import A4
from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.units import inch
c = Canvas('demo.pdf', pagesize=A4)
c.translate(inch,inch)
c.setFont("Helvetica", 14)
c.setAuthor("JY.zenist.song")
c.setTitle("Hello ReportLib")
c.drawString(3*inch, 3*inch, "Hello World")
c.showPage()
c.save()
示例12: draw
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def draw(self, invoice, stream):
""" Draws the invoice """
# embed unicode font
pdfmetrics.registerFont(
TTFont('FreeSans', join(STATIC_DIR, 'FreeSans.ttf'))
)
addMapping('FreeSans', 0, 0, 'FreeSans')
self.baseline = -2*cm
canvas = Canvas(stream, pagesize=A4)
canvas.setCreator("django-invoice")
canvas.setAuthor(smart_text(invoice.contractor))
canvas.setTitle(smart_text(invoice))
canvas.translate(0, 29.7*cm)
canvas.setFont(self.FONT_NAME, 10)
canvas.saveState()
self.draw_header(invoice, canvas)
canvas.restoreState()
canvas.saveState()
self.draw_subscriber(invoice, canvas)
canvas.restoreState()
canvas.saveState()
self.draw_contractor(invoice, canvas)
canvas.restoreState()
canvas.saveState()
self.draw_info(invoice, canvas)
canvas.restoreState()
canvas.saveState()
self.draw_items(invoice, canvas)
canvas.restoreState()
canvas.saveState()
self.draw_footer(invoice, canvas)
canvas.restoreState()
canvas.showPage()
canvas.save()
canvas = None
self.baseline = 0
示例13: start_pdf
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def start_pdf(filename, author=None, keywords=None, subject=None, title=None):
""" Starts a new pdf document
@param filename the name of the PDF generated in output.
@param author the author name.
@param subject the subject of the document.
@param title the title of the document.
"""
canvas = Canvas(filename)
if author:
canvas.setAuthor(author)
if keywords:
canvas.setKeywords(keywords)
if title:
canvas.setTitle(title)
if subject:
canvas.setSubject(subject)
canvas.setPageCompression(1)
return canvas
示例14: generateCollage
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def generateCollage(self,session):
file_name = 'collage.pdf' #TODO image should be created in a temp directory
pdf = Canvas(file_name,pagesize=self._pagesize)
# add metadata
pdf.setAuthor('photobooth') #TODO add app version to author
pdf.setSubject('wedding photos')
pdf.setTitle('pictures for session %s' % session.get_name())
pdf.setKeywords(('wedding', 'pictures','photobooth'))
# add pictures
#TODO add padding
(total_width, total_height) = self._pagesize
(image_width, image_height) = (total_width, total_height / len(session.get_photos()))
for (i,photo) in enumerate(session.get_photos()):
pdf.drawInlineImage(photo,0,i * image_height, image_width, image_height, preserveAspectRatio=True, anchor='n')
pdf.showPage()
pdf.save()
return file_name
示例15: generate_key
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import setAuthor [as 别名]
def generate_key(verticalCardsCount,horizontalCardsCount,cards, filename="key.pdf", page_margins = 4 * (0.5 * pagesizes.inch, )):
(page_margin_top, page_margin_left, page_margin_bottom, page_margin_right) = page_margins
padding = 0.0625 * pagesizes.inch
spaces = (verticalCardsCount * horizontalCardsCount) * [None,]
for card in cards:
spaces[card.position] = card
pagesize = pagesizes.landscape( ( 8.5 * pagesizes.inch, 11 * pagesizes.inch))
pdf = Canvas(filename, pagesize=pagesize, pdfVersion=(1,4))
pdf.setAuthor('placecardboardgenerate.py')
pdf.setSubject('wedding placecards key')
pdf.setTitle('Key for Placecards for Wedding Reception')
pdf.setKeywords(('wedding', 'placecards'))
(page_width, page_height) = pagesize
pdf.drawCentredString(page_width/2.0,20,"key of place cards")
thumbnail_width = ((page_width - page_margin_left - page_margin_right) - (padding * (horizontalCardsCount - 1))) / horizontalCardsCount
thumbnail_height = ((page_height - page_margin_top - page_margin_bottom) - (padding * (verticalCardsCount - 1))) / verticalCardsCount
x_margin = page_margin_left
x_offset = thumbnail_width + padding
y_margin = page_margin_top
y_offset = thumbnail_height + padding
for row_index in range(verticalCardsCount):
for column_index in range(horizontalCardsCount):
position = (row_index * horizontalCardsCount) + column_index
card = spaces[position]
(card_x, card_y) = \
(x_margin + (x_offset * column_index),\
(page_height - thumbnail_height) - (y_margin + (y_offset * row_index)))
if card is not None:
pdf.drawImage(card.image, card_x, card_y, width = thumbnail_width, height = thumbnail_height)
pdf.drawCentredString(card_x + thumbnail_width/2.0,card_y + thumbnail_height/2.0, str(card.position))
pdf.showPage()
pdf.save()