本文整理汇总了Python中pdfkit.from_string方法的典型用法代码示例。如果您正苦于以下问题:Python pdfkit.from_string方法的具体用法?Python pdfkit.from_string怎么用?Python pdfkit.from_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pdfkit
的用法示例。
在下文中一共展示了pdfkit.from_string方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: download
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def download():
read_password = current_app.config.get('READ_PASSWORD')
if not read_password or session.get('read_password') == read_password:
input_filename = 'resume.md'
output_filename = 'resume.pdf'
with open(input_filename, 'r') as stream:
html_text = markdown(stream.read(), output_format='html4')
# render the html template
output = render_template('pdf_template.html', yue_css=yue_css,
title=current_app.config.get('TITLE'),
sub_title=current_app.config.get('SUB_TITLE'),
content=html_text)
# generate pdf file
pdfkit.from_string(output, output_filename, options=current_app.config.get('PDF_OPTIONS'), )
return send_from_directory(current_app.config.get('UPLOAD_FOLDER'),
'resume.pdf', as_attachment=True)
else:
return redirect(url_for("resume"))
示例2: to_pdf
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def to_pdf(title: str, markdown_source: str) -> bytes:
html_style = MarkdownToPDF.css()
html_body = markdown2.markdown(markdown_source)
html = f"""
<html>
<head>
<meta charset="utf-8">
<title>{title}</title>
<style>
{html_style}
</style>
</head>
<body class="markdown-body">
{html_body}
</body>
</html>
"""
return pdfkit.from_string(html, False, options={"quiet": ""})
示例3: get_xs_detail
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def get_xs_detail(href, title, path):
url = xzl+href
print('开始采集' + title + '的详情, 章节地址为: ' + url + '\n')
text_maker = ht.HTML2Text()
response = close_session().get(url=url, headers=headers)
selector = Selector(text=response.text)
html = selector.css(u'.cata-book-content').extract_first()
file_name = title
if markdown:
md = text_maker.handle(html)
with open(path + file_name + '.md', 'w') as f:
f.write(md)
else:
if not xs_pdf:
# 在html中加入编码, 否则中文会乱码
html = "<html><head><meta charset='utf-8'></head> " + html + "</html>"
pdfkit.from_string(html, path + file_name + '.pdf')
else:
return html
# 采集专栏列表
示例4: get_zl_detail
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def get_zl_detail(url, path, name):
response = close_session().get(url=url, headers=headers)
selector = Selector(text=response.text)
text_maker = ht.HTML2Text()
create_time = selector.css(u'.time abbr::attr(title)').extract_first()
html = selector.css(u'.xzl-topic-body-content').extract_first()
file_name = name
if hasTime:
file_name = create_time+' '+name
if markdown:
md = text_maker.handle(html)
with open(path + file_name + '.md', 'w') as f:
f.write(md)
else:
# 在html中加入编码, 否则中文会乱码
html = "<html><head><meta charset='utf-8'></head> " + html + "</html>"
pdfkit.from_string(html, path + file_name + '.pdf')
# 关闭多余连接
示例5: download_pdf
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def download_pdf(data: pd.DataFrame, file_name='output'):
data_html = data.to_html(index=False)
try:
data_pdf = pdf.from_string(data_html, False)
except OSError:
env = Environment(loader=FileSystemLoader(settings.PROJECT_DIR('templates')))
template = env.get_template('pdf_export.html')
template_vars = {"title": file_name.capitalize(),
"table": data_html}
data_pdf = HTML(string=template.render(template_vars)).write_pdf()
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="{}.{}"'.format(file_name, 'pdf')
response.write(data_pdf)
return response
示例6: html_to_pdf
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def html_to_pdf(input, output, type='string'):
"""Convert HTML/webpage to PDF. For linux, install: sudo apt-get install wkhtmltopdf.
Args:
input (str): HTML Text, URL or file.
output (str): Output file (.pdf).
type (str): Types can be 'string', 'url' or 'file'.
"""
if type == 'url':
pdfkit.from_url(input, output)
elif type == 'file':
pdfkit.from_file(input, output)
else:
pdfkit.from_string(input, output)
示例7: main
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def main(input_paths_str, output_path):
# lee los htmls a convertir en PDF
input_paths = input_paths_str.split(",")
htmls = []
for input_path in input_paths:
with open(input_path) as input_file:
htmls.append(markdown2.markdown(
input_file.read(),
extras=["fenced_code", "codehilite", "admonition"]))
print("Hay {} documentos".format(len(htmls)))
# guarda html
with open(output_path.replace(".pdf", ".html"), "wb") as output_html:
# aplica el estilo al principio
html = "\n".join(htmls)
html_with_style = """
<link rel="stylesheet" href="pdf.css" type="text/css"/>
""" + html
# escribe el html
output_html.write(html_with_style.encode("utf-8"))
shutil.copyfile(
"docs/css/pdf.css",
os.path.join(os.path.dirname(output_path), "pdf.css")
)
# guarda pdf
pdfkit.from_string(html, output_path, options={"encoding": "utf8"},
css="docs/css/pdf.css")
示例8: render_to_pdf_response_pdfkit
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def render_to_pdf_response_pdfkit(template_name, context_dict, css_files=None):
"""Render to a PDF response using pdfkit
`context_dict` is expected to be generated by htk.view_helpers.wrap_data
PyPI: https://pypi.python.org/pypi/pdfkit
Installation: https://github.com/JazzCore/python-pdfkit/wiki/Using-wkhtmltopdf-without-X-server
Outstanding Issues:
-
"""
import pdfkit
html = generate_html_from_template(template_name, context_dict)
base_url = context_dict['request']['base_uri']
#html = rewrite_relative_urls_as_absolute(html, base_url)
options = {
'page-size' : 'Letter',
'orientation' : 'Portrait',
'margin-top' : '0.75in',
'margin-bottom' : '0.75in',
'margin-left' : '0.50in',
'margin-right' : '0.50in',
'encoding' : 'UTF-8',
#'print_media_type' : False,
#'title' : context_dict.get('title', 'PDF'),
}
pdf = pdfkit.from_string(html.encode('utf-8'), False, options=options, css=css_files)
if pdf:
response = HttpResponse(pdf, content_type='application/pdf')
else:
response = HttpResponseServerError('Error generating PDF file')
return response
示例9: save_pdf
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def save_pdf(self, html):
chooser = Gtk.FileChooserDialog("Export PDF", None, Gtk.FileChooserAction.SAVE,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.set_file_chooser_path(chooser)
pdf_filter = Gtk.FileFilter()
pdf_filter.add_pattern("*.pdf")
pdf_filter.set_name("PDF Files")
chooser.add_filter(pdf_filter)
chooser.set_do_overwrite_confirmation(True)
response = chooser.run()
if response == Gtk.ResponseType.OK:
file_name = chooser.get_filename()
if not file_name.endswith(".pdf"):
file_name += ".pdf"
try:
pdfkit.from_string(html, file_name, options= {'quiet': '', 'page-size': 'Letter',
'margin-top': '0.75in',
'margin-right': '0.75in',
'margin-bottom': '0.75in',
'margin-left': '0.75in',
'encoding': "UTF-8",
'javascript-delay' : '550',
'no-outline': None})
except:
try:
# Failed so try with no options
pdfkit.from_string(html, file_name)
except:
# Pdf Export failed, show warning message
if not self.pdf_error_warning:
self.pdf_error_warning = True
print("\nRemarkable Error:\tPDF Export Failed!!")
pdf_fail_dialog = Gtk.MessageDialog(self, 0, Gtk.MessageType.ERROR,
Gtk.ButtonsType.CANCEL, "PDF EXPORT FAILED")
pdf_fail_dialog.format_secondary_text(
"File export to PDF was unsuccessful.")
pdf_fail_dialog.run()
pdf_fail_dialog.destroy()
elif response == Gtk.ResponseType.CANCEL:
pass
chooser.destroy()
self.window.set_sensitive(True)
示例10: get_xs
# 需要导入模块: import pdfkit [as 别名]
# 或者: from pdfkit import from_string [as 别名]
def get_xs(href, is_all=False):
url = xzl + href + '#a4'
print('开始采集小书信息,小书地址为: ' + url + '\n')
xzl_path = ''
if is_all:
xzl_path = '小专栏/'
response = close_session().get(url=url, headers=headers)
selector = Selector(text=response.text)
chapter = selector.css(u'.book-cata-item').extract()
xs_title = selector.css(u'.bannerMsg .title ::text').extract_first()
html = ''
if xs_pdf:
html = '<div>' + selector.css(u'.dot-list').extract_first() + '</div>'
for idx, c in enumerate(chapter):
selector = Selector(text=c)
items = selector.css(u'.cata-sm-item').extract()
z_title = selector.css(u'a::text').extract_first()
z_href = selector.css(u'a::attr(href)').extract_first()
path = os.path.join(os.path.expanduser("~"), 'Desktop')+'/'+xzl_path+xs_title+'/'+z_title+'/'
if xs_pdf:
path = os.path.join(os.path.expanduser("~"), 'Desktop')+'/'+xzl_path+xs_title+'/'
else:
print(xs_title + '共%d章, 正在创建存储目录\n' % len(chapter))
print('文件存储位置: ' + path + '\n')
if not os.path.exists(path):
os.makedirs(path)
print('文件夹创建成功\n')
html += get_xs_detail(z_href, z_title, path)
for item in items:
selector = Selector(text=item)
j_title = selector.css(u'.cata-sm-item a::text').extract_first()
j_href = selector.css(u'.cata-sm-item a::attr(href)').extract_first()
html += get_xs_detail(j_href, j_title, path)
time.sleep(seconds)
time.sleep(seconds)
if xs_pdf:
# 在html中加入编码, 否则中文会乱码
html = "<html><head><meta charset='utf-8'></head> " + html + "</html>"
pdfkit.from_string(html, path+xs_title+'.pdf')
print('小书:' + xs_title + '的文章已采集完成\n')
print('我们应该尊重每一位作者的付出, 请不要随意传播下载后的文件\n')
# 采集小书章节详情