• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python pisa.pisaDocument函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: download_merged_pdf

def download_merged_pdf(obj, files):
    """
    Returns a HTTPResponse that contains all PDF files merged into a
    single PDF file.
    """
    warnings.simplefilter('ignore', DeprecationWarning)

    filename = u"%s_%s_%s_files.pdf" % (obj.type, obj.reference, obj.revision)
    output = StreamedPdfFileWriter()

    # generate a summary
    ctx = { "obj" : obj, "files" : files,
            "state_histories" : get_state_histories(obj),
            }
    template = get_template("summary.xhtml")
    html  = template.render(Context(ctx))
    result = StringIO.StringIO()
    pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("utf-16")), result)
    result.seek(0)
    inp = PdfFileReader(result)
    for page in inp.pages:
        output.addPage(page)

    # append all pdfs
    for pdf_file in files:
        inp = PdfFileReader(file(pdf_file.file.path, "rb"))
        for page in inp.pages:
            output.addPage(page)
    response = http.StreamingHttpResponse(output, content_type='application/pdf')
    response['Content-Disposition'] = 'attachment; filename="%s"' % filename
    warnings.simplefilter('default', DeprecationWarning)
    return response
开发者ID:amarh,项目名称:openPLM,代码行数:32,代码来源:views.py


示例17: 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()

    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])

    return dest.getvalue()
开发者ID:dimitrisr,项目名称:django-easy-pdf,代码行数:28,代码来源:rendering.py


示例18: _generatePDF

    def _generatePDF(write_file=False, title="Latest CCOL Events", school_id="", grade="", subject=""):        
        events = Event.objects.all().order_by('-start_date')[:4]

        context_dict = {'events':events,
                        'title':title}
        
        template = get_template("flyer_pdf.html")
        context = Context(context_dict)
        html  = template.render(context)
        result = StringIO()
        pdf = pisa.pisaDocument(StringIO( "{0}".format(html) ), result)
        
        if not pdf.err:
            if write_file:
                tempFileName = settings.MEDIA_ROOT+"/"+title.replace(" ","")+".pdf"
                tempFile = open(tempFileName, 'wb+')
                tempFile.write(result.getvalue())
                tempFile.close()
                return tempFileName
                
            else:
                return HttpResponse(result.getvalue(), content_type='application/pdf')
        
        if write_file:
            return None
        
        return HttpResponse('We had some errors<pre>%s</pre>' % cgi.escape(html))
开发者ID:forallsystems,项目名称:hipc,代码行数:27,代码来源:views.py


示例19: generar_pdf

def generar_pdf(html):
	# Función para generar el archivo PDF y devolverlo mediante 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 al generar el PDF: %s' % cgi.escape(html))
开发者ID:franlu,项目名称:pupils,代码行数:7,代码来源:views.py


示例20: export_pdf

    def export_pdf(self, request, pk):
        group = get_object_or_404(Group, pk=pk)
        attrs = {'group__pk': pk}

        if request.GET.get('finished', '0') == '1':
            attrs['enroll_finished'] = True

        elif request.GET.get('finished', '0') == '2':
            attrs['enroll_finished'] = False

        if request.GET.get('activate', '0') == '1':
            attrs['enroll_activate'] = True

        elif request.GET.get('activate', '0') == '2':
            attrs['enroll_activate'] = False

        student_list = Enroll.objects.filter(**attrs)

        template = get_template('Pdf/student_list.html')
        html = template.render(Context({'student_list': student_list,
                                        'group': group}))
        result = io.StringIO()
        pdf = pisa.pisaDocument(io.StringIO(html), result)
        if not pdf.err:
            response = HttpResponse(result.getvalue(), content_type='application/pdf')
            response['Content-Disposition'] = 'attachment; filename="student_list_%s.pdf"' % (group.name)
            return response

        return HttpResponse("Error " + str(pdf.err) + "  " + html)
开发者ID:solvo,项目名称:academica,代码行数:29,代码来源:Group.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python reportlab_paragraph.Paragraph类代码示例发布时间:2022-05-26
下一篇:
Python context.pisaContext函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap