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


Python HTML.render方法代码示例

本文整理汇总了Python中weasyprint.HTML.render方法的典型用法代码示例。如果您正苦于以下问题:Python HTML.render方法的具体用法?Python HTML.render怎么用?Python HTML.render使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在weasyprint.HTML的用法示例。


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

示例1: print_certidao

# 需要导入模块: from weasyprint import HTML [as 别名]
# 或者: from weasyprint.HTML import render [as 别名]
    def print_certidao(self, request, diligencias):
        """
        :param diligencias:
        :return:
        """
        from weasyprint import HTML, CSS
        from django.conf import settings
        from app.models import Diligencia
        from django.utils import datetime_safe


        modelo_html = ''
        for i in range(len(diligencias)):
            if i == 0:                                          #primeira certidão # '<meta charset="utf-8" />'
                modelo_html += '<html>' \
                               '<head>' \
                               '<meta charset="utf-8" />' \
                               '<base href="http://ofjusapp.pythonanywhere.com/">'\
                               '</head>' \
                               '<body>' \
                               '<div style="float: none;">' \
                               '<div>'
                modelo_html += diligencias[i].documento
                modelo_html += '</div>'
            else:                                               #certidões intermediarias
                modelo_html += '<div style="page-break-before:always;">'
                modelo_html += diligencias[i].documento
                modelo_html += '</div>'
        modelo_html += '</div></body></html>'
        pdf_html = HTML(string=modelo_html)
        main_doc = pdf_html.render()
        pdf_file = main_doc.write_pdf()
        diligencias.update(imprimir=False)
        #pdf_file = HTML('http://weasyprint.org/').write_pdf('/tmp/weasyprint-website.pdf')
        return pdf_file  # returns the response.
开发者ID:dududrauto,项目名称:my-first-blog,代码行数:37,代码来源:printing.py

示例2: form_valid

# 需要导入模块: from weasyprint import HTML [as 别名]
# 或者: from weasyprint.HTML import render [as 别名]
 def form_valid(self, form):
     self.post_data = self.request.POST
     if 'download' in self.post_data:
         html = self.render_to_response(self.get_context_data(form=form))
         f = open(os.path.join(
             os.path.dirname(__file__), './static/payslip/css/payslip.css'))
         html = HTML(string=html.render().content)
         pdf = html.write_pdf(stylesheets=[CSS(string=f.read())])
         f.close()
         resp = HttpResponse(pdf, content_type='application/pdf')
         resp['Content-Disposition'] = \
             u'attachment; filename="{}_{}.pdf"'.format(
                 self.date_start.year, self.date_start.month)
         return resp
     return self.render_to_response(self.get_context_data(form=form))
开发者ID:bitmazk,项目名称:django-payslip,代码行数:17,代码来源:views.py

示例3: serve_pdf

# 需要导入模块: from weasyprint import HTML [as 别名]
# 或者: from weasyprint.HTML import render [as 别名]
    def serve_pdf(self, request):
        # Render html content through html template with context
        template = get_template(settings.PDF_TEMPLATE)
        context = {"invoice": self}

        html = template.render(context)

        # Write PDF to file
        document_html = HTML(string=html, base_url=request.build_absolute_uri())
        document = document_html.render()
        if len(document.pages) > 1:
            for page in document.pages[1:]:
                str(page)
            pdf = document.write_pdf()
        else:
            pdf = document.write_pdf()
        # response = HttpResponse(html)
        response = HttpResponse(pdf, content_type="application/pdf")
        response["Content-Disposition"] = 'filename="Invoice {0} | Invoice {0}.pdf"'.format(self.id)
        return response
开发者ID:SableWalnut,项目名称:wagtailinvoices,代码行数:22,代码来源:models.py

示例4: print_avisos

# 需要导入模块: from weasyprint import HTML [as 别名]
# 或者: from weasyprint.HTML import render [as 别名]
    def print_avisos(self, request, mandados):
        """
        :param mandados:
        :return:
        """
        from weasyprint import HTML, CSS
        from django.conf import settings
        from app.models import Atendimento, Oficial
        from django.utils import datetime_safe

        oj = Oficial.objects.get(usuario=request.user)
        atendimentos = Atendimento.objects.filter(oficial=oj, data__gt=datetime_safe.date.today())
        av = Modelo_Documento.objects.get(nome='AVISO')

        modelo_html = ''
        for i in range(len(mandados)):
            if i == 0:                                          #primeiro aviso # '<meta charset="utf-8" />'
                modelo_html += '<html>' \
                               '<head>' \
                               '<meta charset="utf-8" />' \
                               '</head>' \
                               '<body>' \
                               '<div style="float: none;">' \
                               '<div>'
                c = template.Context({'mandado':mandados[0], 'atendimentos':atendimentos})#.last()})
                t = template.Template(av.modelo)
                modelo_html += t.render(c)
                modelo_html += '</div>'
            else:                                               #avisos intermediarios
                modelo_html += '<div style="page-break-before:always;">'
                c = template.Context({'mandado':mandados[i], 'atendimentos':atendimentos})#.last()})
                t = template.Template(av.modelo)
                modelo_html += t.render(c)
                modelo_html += '</div>'
        modelo_html += '</div></body></html>'
        #print(modelo_html)
        pdf_html = HTML(string=modelo_html)
        main_doc = pdf_html.render()
        pdf_file = main_doc.write_pdf()
        #pdf_file = HTML('http://weasyprint.org/').write_pdf('/tmp/weasyprint-website.pdf')
        return pdf_file  # returns the response.
开发者ID:dududrauto,项目名称:my-first-blog,代码行数:43,代码来源:printing.py

示例5: generate_pdf

# 需要导入模块: from weasyprint import HTML [as 别名]
# 或者: from weasyprint.HTML import render [as 别名]
def generate_pdf(body):
    html = HTML(string=body)
    main_doc = html.render()
    pdf = main_doc.write_pdf()
    return pdf
开发者ID:itkpi,项目名称:tickets,代码行数:7,代码来源:pdf_utils.py

示例6: grabPRCY

# 需要导入模块: from weasyprint import HTML [as 别名]
# 或者: from weasyprint.HTML import render [as 别名]

#.........这里部分代码省略.........
								f.write('<td class="right unsuccess">')
							else:
								f.write('<td class="right">')
							f.write(clearStr(name.cssselect('.content-test')[0].cssselect('.progress-info .progress-info')[0].text))
							f.write('</td>')
						elif (len(name.cssselect('.content-test')[0].cssselect('.progress-info')) > 0):
							if (name.cssselect('.check-test')[0].get('test-status') == 'success'):
								f.write('<td class="right success">')
							elif (name.cssselect('.check-test')[0].get('test-status') == 'fail'):
								f.write('<td class="right unsuccess">')
							else:
								f.write('<td class="right">')
							f.write(clearStr(name.cssselect('.content-test')[0].cssselect('.progress-info')[0].text))
							f.write('</td>')
						elif (len(name.cssselect('.content-test')[0].cssselect('span')) > 0) or ('Системы статистики' in name.cssselect('.info-test')[0].text):
							if (name.cssselect('.check-test')[0].get('test-status') == 'success'):
								f.write('<td class="right success">')
							elif (name.cssselect('.check-test')[0].get('test-status') == 'fail'):
								f.write('<td class="right unsuccess">')
							else:
								f.write('<td class="right">')
							newList2 = name.cssselect('.content-test')[0].cssselect('span')
							for analytics in newList2:
								f.write(clearStr(analytics.text))
								f.write('<br>')
							f.write('</td>')
					elif (len(name.cssselect('.info-test')) > 0):
						if('Местоположение сервера' in name.cssselect('.info-test')[0].text):
							if (name.cssselect('.check-test')[0].get('test-status') == 'success'):
								f.write('<td class="right success">')
							elif (name.cssselect('.check-test')[0].get('test-status') == 'fail'):
								f.write('<td class="right unsuccess">')
							else:
								f.write('<td class="right">')
							f.write(name.cssselect('.content-test img')[0].get('alt').split(' ')[2])
							f.write('</td>')
						elif('Favicon' in name.cssselect('.info-test')[0].text):
							if(name.cssselect('.check-test')[0].get('test-status') == 'success'):
								f.write('<td class="right success">')
								f.write('Отлично, у сайта есть Favicon.')
								f.write('</td>')
							elif(name.cssselect('.check-test')[0].get('test-status') == 'fail'):
								f.write('<td class="right success">')
								f.write('Отлично, у сайта есть Favicon.')
								f.write('</td>')
			i += 1
			'''f.write('<td>')
			newList3 = name.cssselect('.description p')
			for paragraph in newList3:
			f.write(paragraph.text)'''
		f.write('</tbody>')
		f.write('</table>')
		f.write('''<p> Резолюция
Сайт частично оптимизирован.</p>
		</body>
		</html>
			''')
		f.close()
		file = HTML(filename="audit/" + customerList[1] + ".html")
		file.render().write_pdf(target="audit/" + customerList[1] + ".pdf")
		#file.render('file://' + os.getcwd() + '/audit/' + customerList[1] + '.html', 'audit/' + customerList[1] + '.pdf')
		subject = customerList[0] + ' - подготовили аудит вашего сайта: ' + customerList[1]
		message = customerList[0] + """, добрый день!

Причина нашего обращения к Вам не случайна.

Специалистами студии Дмитрия Биксилеева в течение марта месяца проводился выборочный аудит сайтов компаний работающих в сфере услуг для бизнеса. В том числе был проведен краткий аудит Вашего сайта %s

Нашими SEO-специалистами выявлены достаточно серьезные ошибки на сайте, мешающие его продвижению в поисковых системах и снижающие удобство пользования вашим сайтом для ваших потенциальных клиентов (см. приложение «Экспресс аудит сайта»). Как правило, данные ошибки не заметны на первый взгляд, но об их наличии убедительно свидетельствует низкий КПД сайта.

Наверное, и Вы сами, как ответственный и экономный хозяин, периодически задаетесь вопросом:

Почему сайт, в который вложено столько интеллектуальных и финансовых ресурсов не оправдывает свое существование?
Почему клиенты заходят на сайт, но не совершают покупок?
Почему Ваши конкуренты уводят клиентов?

Мы дадим ответы на все интересующие Вас вопросы и с удовольствием поделимся самыми свежими и самыми необходимыми в XXI веке знаниями по интернет-маркетингу. В случае Вашей заинтересованности, сделаем полный базовый, технический и юзабилити аудит сайта, предложим реальные сроки и способы устранения недостатков и выведем Ваш сайт на лидирующие позиции в поисковиках по самым высоко конверсионным запросам.

Мы не предлагаем Вам услуги с непредсказуемым или неубедительным результатом. Мы предлагаем взрывной рост Вашему Интернет-бизнесу!

Помогая Вам в бизнесе, мы становимся своеобразным хуком в интернет-продажах, Вашим директором по маркетингу, полностью выстраивающим маркетинг и систему продаж.

С уважением к Вам и Вашему бизнесу, Бубновский Михаил
Директор по развитию компании Студия Дмитрия Биксилеева

----------------------------------------------------------
Тел.: +7(343)298-03-54
Сот. Тел.: +7 (922)1554515
E-mail: [email protected]
skype: ottepel_1
www.biksileev.ru""" % customerList[1]
		#sendMail(customerList[2], subject, message, 'audit/' + customerList[1] + '.pdf')
		customerList.append('Отправлено')
		output.write('	'.join(customerList))
		output.write('\n')
		text1.delete('1.0', str(len('	'.join(customerList) + '\n') + 1) + '.0') 
		text1.insert(str(j) + '.0', '	'.join(customerList) + '\n')
		text1.update()
	output.close()
	phant.quit()
开发者ID:jz36,项目名称:megaindex-audit,代码行数:104,代码来源:tryUI.py

示例7: constructSvg

# 需要导入模块: from weasyprint import HTML [as 别名]
# 或者: from weasyprint.HTML import render [as 别名]

#.........这里部分代码省略.........
          svg, attrs = _svgText(draw, attrs)
        g.add(svg)

    elif dashItem['itemType'] == 'TitleItem':
      titleSvg, attrs = _svgText(draw,
          { 'x':           0
          , 'y':           0
          , 'text':        dashItem['textContent']
          , 'lineHeight':  dashItem.get('lineHeight', 10)
          , 'font-size':   '1.35em'
          , 'font-family': 'helvetica'
          , 'font-weight': 'bold' })
      g.add(titleSvg)

    elif dashItem['itemType'] == 'CommentItem':
      bgSvg, attrs = _svgRect(draw,
          { 'x':            COMMENT_PADDING
          , 'y':            COMMENT_PADDING
          , 'width':        w - COMMENT_PADDING
          , 'height':       h - COMMENT_PADDING
          , 'fill':         '#fff8b6'
          , 'stroke':       '#eae1a0'
          , 'stroke-width': 1 })
      g.add(bgSvg)

      authorSvg, attrs = _svgText(draw,
          { 'x':           COMMENT_PADDING + AUTHOR_PADDING
          , 'y':           COMMENT_PADDING + 2 * AUTHOR_PADDING
          , 'text':        dashItem['author']
          , 'lineHeight':  dashItem['lineHeight']
          , 'font-weight': 600
          , 'font-size':   '1em'
          , 'fill':        '#8c8c8c'
          , 'clip':        'rect(10,10,{width},{height})'.format(
                             width  = w - COMMENT_PADDING
                           , height = h - COMMENT_PADDING)
          , 'font-family': 'helvetica' })
      g.add(authorSvg)

      textSvg, attrs = _svgText(draw,
          { 'x':           COMMENT_PADDING + AUTHOR_PADDING
          , 'y':           COMMENT_PADDING + AUTHOR_PADDING + AUTHOR_HEIGHT
          , 'text':        dashItem['textContent']
          , 'lineHeight':  dashItem['lineHeight']
          , 'font-weight': 'normal'
          , 'font-size':   '1em'
          , 'font-family': 'helvetica' })
      g.add(textSvg)

    elif dashItem['itemType'] == 'PivotTableItem':
      from weasyprint import HTML, CSS
      dashItem['html'] = dashItem['html']\
        .replace('align="right"', 'class="alignright"')\
        .replace('align="center"', 'class="aligncenter"')
      html = HTML(string=dashItem['html'])

      wpx, hpx = '{width}px'.format(width = w), '{height}px'.format(height = h)
      css = CSS(string="""
        @page {
          margin: 0;
          padding: 0;
          size: %s %s;
        }
        table, th, td, tr {
          border: 1px solid black;
          border-collapse: collapse;
          border-spacing: 0;
          padding: 0;
          margin: 0;
          font-weight: normal;
          background-color: white;
        }
        table {
          width: %s;
          height: %s;
        }
        .alignright {
          text-align: right;
        }
        .aligncenter {
          text-align: center;
        }
      """ % (wpx, hpx, wpx, hpx))

      page = html.render(stylesheets=[css]).pages[0]
      with tmpfile() as tmp:
        import cairocffi as cairo
        surface = cairo.SVGSurface(tmp, x + page.width, y + page.height)
        page.paint(cairo.Context(surface), left_x=x, top_y=y)
        surface.finish()

        tmp.seek(0)
        for line in tmp:
          if re.match(r'<(?:xml|(/)?svg).*>', line) is None:
            drawBody += line
        drawBody = drawBody.rstrip()

    if dashItem['itemType'] != "PivotTableItem":
      drawBody += g.tostring()
  return drawHead + drawBody + drawTail
开发者ID:Polychart,项目名称:builder,代码行数:104,代码来源:svg.py


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