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


Python pisa.pisaDocument函数代码示例

本文整理汇总了Python中xhtml2pdf.pisa.pisaDocument函数的典型用法代码示例。如果您正苦于以下问题:Python pisaDocument函数的具体用法?Python pisaDocument怎么用?Python pisaDocument使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了pisaDocument函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: tree_equation_id_pdf

def tree_equation_id_pdf(request, id):
    tree_equation = TreeEquation.objects.get(ID=id)

    template = get_template('data/template.tree_equation.pdf.html')

   
    html = template.render(Context({
        'tree_equation': tree_equation
    }))

    def fetch_resources(uri, rel):
        path = 'ERROR'
        if uri[0:6] == 'static':
            path = settings.STATIC_ROOT + uri[6:]
        elif uri[0:5] == 'media':
            path = settings.MEDIA_ROOT + uri[5:]
        print uri, path
        return path

    buffer = StringIO.StringIO()
    pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")),
                      buffer,
                      link_callback=fetch_resources)

    pdf = buffer.getvalue()
    buffer.close()
    
    # Create the HttpResponse object with the appropriate PDF headers.
    response = HttpResponse(mimetype='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=TreeEquation_%s.pdf' % tree_equation.ID

    response.write(pdf)
    return response
开发者ID:BlueBits,项目名称:globallometree,代码行数:33,代码来源:views.py

示例2: defaultview

def defaultview():
    """
    serving landing page index.html
    """
    if request.method == "POST":
        #in case of report generation
        dict = json.loads(request.form['data'])

        if request.form['type'] == "pdf":

            #Generate PDF

            html = flask.render_template('report.html', content=dict)
            result = StringIO.StringIO()
            pisa.pisaDocument(StringIO.StringIO(html), result)
            result.seek(0)
            download_filename = "reports.pdf"
            response = flask.current_app.response_class(result, mimetype='application/pdf')
            response.headers.add('Content-Disposition', 'attachment',
                             filename=download_filename)

            return response
        else:
            #Generate XML
            xml = dicttoxml.dicttoxml(dict)
            download_filename='reports.xml'

            response = flask.current_app.response_class(xml, mimetype='application/pdf')
            response.headers.add('Content-Disposition', 'attachment',
                             filename=download_filename)

            return response
    else:
        #Serve index.html
        return flask.render_template('index.html')
开发者ID:daliaban,项目名称:ReportGen,代码行数:35,代码来源:views.py

示例3: record_by_id_pdf_view

def record_by_id_pdf_view(request, id, model_class, 
        record_content_template, record_title, record_url):
    record = model_class.objects.get(pk=id)

    template = get_template('base/template.record.pdf.html')
   
    html = template.render(Context({
        'record': record.serialize(request=request),
        'record_content_template': record_content_template,
        'record_title': record_title,
        'record_url': record_url,
        'is_pdf': True
    }))

    def fetch_resources(uri, rel):
        path = 'ERROR'
        if uri[0:7] == '/static':
            path = os.path.join(settings.PROJECT_PATH, 'templates', 'static') +  uri[7:]
        return path

    result = StringIO.StringIO()
    pisa.pisaDocument(

        StringIO.StringIO(html.encode("UTF-8")), result, encoding='UTF-8',link_callback=fetch_resources)

    pdf = result.getvalue()
    result.close()
    
    # Create the HttpResponse object with the appropriate PDF headers.
    response = HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=%s.pdf' % record_title.lower().replace(' ', '_')
    response.write(pdf)
    return response
开发者ID:GlobAllomeTree,项目名称:GlobAllomeTree,代码行数:33,代码来源:views.py

示例4: buffer_pdf

def buffer_pdf(html):
    """
        Return a cstringio datas containing a pdf
    """
    result = StringIO.StringIO()
    pisa.pisaDocument(html,
                      result,
                      link_callback=fetch_resource,
                      encoding='utf-8', html_encoding="utf-8")
    return result
开发者ID:mike-perdide,项目名称:autonomie,代码行数:10,代码来源:pdf.py

示例5: write_img_to_pdf

    def write_img_to_pdf (src, dest):
        # Helper xhtml2pdf function to dump image/template to pdf
        context = dict(img_path = src)
        template = get_template('tracker/pdf_img_template.html')
        html = template.render(Context(context))

        with open(dest, 'wb') as f:
            pisa.pisaDocument(cStringIO.StringIO(
                html.encode('UTF-8')), f
            )
开发者ID:dannysellers,项目名称:django_orders,代码行数:10,代码来源:invoice_views.py

示例6: generate

 def generate(self, header, data, output_stream):
     def fetch_resources(uri, rel):
         urls = {settings.MEDIA_ROOT: settings.MEDIA_URL, settings.STATICFILES_ROOT: settings.STATIC_URL}
         for k, v in urls.items():
             if (uri.startswith(v)):
                 return os.path.join(k, uri.replace(v, ""))
         return ''
     pisa.pisaDocument(
         force_text(render_template(self.template_name, {'pagesize': 'A4', 'headers': header, 'data': data})),
         output_stream, encoding=self.encoding, link_callback=fetch_resources
     )
开发者ID:asgeirrr,项目名称:django-pyston,代码行数:11,代码来源:file_generator.py

示例7: html_to_pdf

def html_to_pdf(content, encoding="utf-8", link_callback=fetch_resources, **kwargs):
    """
    Converts html ``content`` into PDF document.

    :param unicode content: html content
    :returns: PDF content
    :rtype: :class:`bytes`
    :raises: :exc:`~easy_pdf.exceptions.PDFRenderingError`
    """
    src = BytesIO(content.encode(encoding))
    dest = BytesIO()
    #result = open("/home/midas/Documentos/appem/infa_web/static/report.pdf", 'wb') # Changed from file to filename

    result = open(os.path.join(settings.MEDIA_ROOT, kwargs["filename_to_save"]), 'w') # Changed from file to filename


    pdf = pisa.pisaDocument(src, result, encoding=encoding, link_callback=link_callback, **kwargs)
    #pdf = pisa.pisaDocument(src, dest, encoding=encoding, link_callback=link_callback, **kwargs)

    if pdf.err:
        logger.error("Error rendering PDF document")
        for entry in pdf.log:
            if entry[0] == xhtml2pdf.default.PML_ERROR:
                logger_x2p.error("line %s, msg: %s, fragment: %s", entry[1], entry[2], entry[3])
        raise PDFRenderingError("Errors rendering PDF", content=content, log=pdf.log)

    if pdf.warn:
        for entry in pdf.log:
            if entry[0] == xhtml2pdf.default.PML_WARNING:
                logger_x2p.warning("line %s, msg: %s, fragment: %s", entry[1], entry[2], entry[3])
    print (".................................")

    result = open(os.path.join(settings.MEDIA_ROOT, kwargs["filename_to_save"]), 'r') # Changed from file to filename

    return result
开发者ID:stzef,项目名称:InfaWeb,代码行数:35,代码来源:rendering.py

示例8: create_page

    def create_page(self, page):
        data = StringIO.StringIO(page.encode('utf-8'))
        temp = StringIO.StringIO()

        pdf = pisa.pisaDocument(data, temp)

        self.pdf_base.addDocument(pdf)
开发者ID:PKpacheco,项目名称:certificate-generator,代码行数:7,代码来源:report.py

示例9: _create_pdf

    def _create_pdf(self):

        # Dati di esempio
        #order = self.resource.order
        xres = self.resource
        #querySet = self._get_resource_list(self.request).distinct()
        querySet, nSup, nProducts, nPacts = self._get_pdfrecords_pacts(self._get_resource_list(self.request).order_by('name'))
        context_dict = {
            'order' : xres,
            'recSup' : querySet,
            'Suppliers_count' : nSup,
            'pacts_count' : nPacts,
            'products_count' : nProducts,
            'user' : self.request.user,
        }

        REPORT_TEMPLATE = "blocks/%s/report.html" % self.BLOCK_NAME

        template = get_template(REPORT_TEMPLATE)
        context = Context(context_dict)
        html = template.render(context)
        result = StringIO.StringIO()
        #DOMTHU: <th title='TOT account'>&#8364;</th>
        #pdf = pisa.pisaDocument(StringIO.StringIO(html), result) 
        pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1", "ignore")), result)
        #pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8", "ignore")), result ) #, link_callback = fetch_resources )
        if not pdf.err:
            response = HttpResponse(result.getvalue(), mimetype='application/pdf')
            response['Content-Disposition'] = "attachment; filename=Suppliers.pdf"
            return response
        return self.response_error(_('We had some errors<pre>%s</pre>') % cgi.escape(html))
开发者ID:OrlyMar,项目名称:gasistafelice,代码行数:31,代码来源:suppliers_report.py

示例10: save_pdf

def save_pdf(pdf_data,file,diagnoseId,fileName,identityPhone):
    default.DEFAULT_FONT["helvetica"]="msyh"
    fontFile = os.path.join( constant.DirConstant.ROOT_DIR+ '/DoctorSpring/static/font', 'msyh.ttf')
    pdfmetrics.registerFont(TTFont('msyh',fontFile))
    # from xhtml2pdf.pisa.sx.pisa3 import pisa_default
    pdf = pisa.pisaDocument(StringIO(
        pdf_data.encode("UTF-8")), file,encoding='utf-8')
    file.close()

    output = PdfFileWriter()

    with open(fileName, "rb") as f1:
        input1 = PdfFileReader(f1)

        for i in range(input1.getNumPages()):
            output.addPage(input1.getPage(i))

        #print(identityPhone)
        password = str(int(identityPhone))
        owner_pwd = ''.join(random.choice(string.letters + string.digits) for _ in range(64))
        #print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + owner_pwd)
        output.encrypt(password, owner_pwd)

        output.write(open("temp.pdf", "wb"))

    os.remove(fileName)
    os.rename("temp.pdf", fileName)

    fileUrl=upload_pdf(fileName,diagnoseId)
    return fileUrl
开发者ID:LichuanLu,项目名称:redberry,代码行数:30,代码来源:pdf_utils.py

示例11: render_pdf

def render_pdf(html):
    # Function to generate the pdf document and return it throught HttpResponse
    result = StringIO.StringIO()
    pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result)
    if not pdf.err:
        return HttpResponse(result.getvalue(), mimetype='application/pdf')
    return HttpResponse('Error when generating the pdf: %s' % cgi.escape(html))
开发者ID:hnejadi,项目名称:inoxtags-shop,代码行数:7,代码来源:tools.py

示例12: pdf

 def pdf(self):
     """
     Converts html to pdf and returns the char stream
     """
     result = StringIO()
     # h3 and down shouldn't make chapters
     html = self.html.encode("UTF-8")
     html = html.replace('<h3>', '<h3 class="not_outline">')
     html = html.replace('<h4>', '<h4 class="not_outline">')
     html = html.replace('<h5>', '<h5 class="not_outline">')
     html = html.replace('<h6>', '<h6 class="not_outline">')
     # add page breaks before each h2
     html = html.replace('<h2>', '<h2 class="break">')
     # generate the pdf
     pisa.pisaDocument(StringIO(html), result)
     return result.getvalue()
开发者ID:footley,项目名称:md2ebook,代码行数:16,代码来源:md2ebook.py

示例13: transform_to_pdf

def transform_to_pdf(response, pdfname, return_stringIO=False):
    """
    call xhtml2pdf.pisa to convert html responce to pdf
    """
    # response['mimetype'] = 'application/pdf'

    # TODO : on the fly filename from url
    # response['Content-Disposition'] = 'attachment; filename=%s.pdf' % pdfname

    content = response.content

    if not return_stringIO:
        new_response = HttpResponse(content="", mimetype="application/pdf")
        new_response["Content-Disposition"] = "attachment; filename=%s.pdf" % pdfname
    else:
        new_response = StringIO.StringIO()

    pdf = pisa.pisaDocument(StringIO.StringIO(content), new_response, link_callback=fetch_resources)

    if not pdf.err:
        if return_stringIO:
            pdf = new_response.getvalue()
            new_response.close()
            return pdf
        else:
            return new_response
    else:
        # TODO return error and redirect to default view
        return HttpResponse(
            "We had some errors in pdfMiddleWare : \
                            <br/><pre>%s</pre>"
            % pdf
        )
开发者ID:bisio,项目名称:django-pdf,代码行数:33,代码来源:middleware.py

示例14: create_pdf_body

 def create_pdf_body(self):
     from apps.mail.models import Attachment
     from xhtml2pdf import pisa
     import os
     try:
         #ghetto tmp file for pdf creation, will this work on HEROKU? I think so but could be slow...
         if not os.path.exists('tmp'):
             os.makedirs('tmp')
         #TODO: need default attachment
         attachment = None
         html = self.free_edit_body
         fname = 'tmp/request_%s_tmp.pdf' % self.id
         with open(fname, 'wb') as f:
             doc = pisa.pisaDocument(html, f)
         if not doc.err:
             with open(fname, 'rb') as f:
                 to_file = ContentFile(f.read())
                 attachment = Attachment()
                 attachment.user = self.author
                 attachment.file.save('request_%s.pdf' % self.id, to_file)
                 attachment.save()
             os.remove(fname)
         else:
             logger.error("error writing to PDF: %s" % doc.err)
         self.printed = attachment
         self.save()
         return attachment.url
     except Exception as e:
         logger.exception(e)
         return None 
开发者ID:CoulterJones,项目名称:foiamachine,代码行数:30,代码来源:models.py

示例15: factura_pdf

def factura_pdf(html):

    reporventa = StringIO.StringIO()
    pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF:8")), reporventa)
    if not pdf.err:
        return HttpResponse(reporventa.getvalue(), mimetype='application/pdf')
    return HttpResponse("Error en generar el pdf")
开发者ID:DanielRevollo,项目名称:materiales,代码行数:7,代码来源:views.py


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