当前位置: 首页>>代码示例>>Python>>正文


Python Canvas.setAuthor方法代码示例

本文整理汇总了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()
开发者ID:phillipgreenii,项目名称:photoplacecardboard,代码行数:37,代码来源:placecardboardgenerater.py

示例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)
开发者ID:FatihZor,项目名称:infernal-twin,代码行数:11,代码来源:test_lib_pdfencrypt.py

示例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()
开发者ID:ingob,项目名称:mwlib.ext,代码行数:11,代码来源:test_hello.py

示例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)
开发者ID:sengupta,项目名称:scilab_cloud,代码行数:11,代码来源:test_encrypt.py

示例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()
开发者ID:Sillern,项目名称:manga_viewer,代码行数:12,代码来源:image.py

示例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()
开发者ID:ministryofjustice,项目名称:money-to-prisoners-api,代码行数:12,代码来源:__init__.py

示例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()
开发者ID:nakagami,项目名称:reportlab,代码行数:13,代码来源:test_hello.py

示例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()
开发者ID:HughP,项目名称:nostaples,代码行数:56,代码来源:save.py

示例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)
开发者ID:sengupta,项目名称:scilab_cloud,代码行数:14,代码来源:test_encrypt.py

示例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)
开发者ID:FatihZor,项目名称:infernal-twin,代码行数:14,代码来源:test_lib_pdfencrypt.py

示例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()
开发者ID:zenist,项目名称:ZLib,代码行数:14,代码来源:test_pdf.py

示例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
开发者ID:vandorjw,项目名称:django-invoice,代码行数:48,代码来源:pdf.py

示例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
开发者ID:aw-bib,项目名称:tind-invenio,代码行数:21,代码来源:hocrlib.py

示例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
开发者ID:brad,项目名称:photobooth,代码行数:21,代码来源:collage_generator.py

示例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()
开发者ID:phillipgreenii,项目名称:photoplacecardboard,代码行数:45,代码来源:placecardboardgenerater.py


注:本文中的reportlab.pdfgen.canvas.Canvas.setAuthor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。