标签: python-pdfkit

我们如何解决“求解环境:初始冻结求解失败。使用灵活求解重试。” 安装新的 conda 软件包时出现问题

我尝试使用以下命令在 Windows 的 conda 中安装新包:

conda install -c conda-forge python-pdfkit

但出现以下错误:

收集包元数据 (current_repodata.json):已完成 解决环境:初始冻结解决失败。使用灵活的解决方案重试。解决环境:current_repodata.json 中的 repodata 失败,将使用下一个 repodata 源重试。

我尝试了以下解决方法,但没有用,仍然出现相同的错误:

解决方法1:

$conda create --name myenv
$conda activate myenv
Run Code Online (Sandbox Code Playgroud)

解决方法2:

conda config --set ssl_verify false
Run Code Online (Sandbox Code Playgroud)

python pdfkit python-3.x anaconda python-pdfkit

33
推荐指数
2
解决办法
15万
查看次数

python-pdfkit(wkhtmltopdf)TOC溢出

我目前正在创建一个非常好的PDF.它在技术上没有任何问题.但是,TOC很难看.

TOC是通过xsl生成的,xsl通过jinja2传递给页面顶部的简单细节.我修改了XSL以精确匹配客户的品牌和设计.然而,该名单的高度不断增加.

这是当前的结果(很抱歉模糊文本)你可以看到toc在新页面上的正确位置拾取,但似乎没有办法在新页面上应用上边距: 在此输入图像描述

代码: 这是xsl:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:outline="http://wkhtmltopdf.org/outline"
            xmlns="http://www.w3.org/1999/xhtml">
  <xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
          doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
          indent="yes" />
  <xsl:template match="outline:outline">
    <html>
      <head>
        <title>Table of Contents</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style>

      body{
        background-color: #fff;
        margin-left: 0px;
        margin-top: 0px;
        color:#1e1e1e;
        font-family: arial, verdana,sans-serif;
        font-size: 90px;
      }
      .contentSection{
        position:relative;
        height:3200px;
        width:6100px;
      }
      .profile{
        position:absolute;
        display:inline-block;
        top:200px !important;
      }


      h1 {
        text-align: left;
        font-size: 70px;
        font-family: arial;
        color: #ef882d;
      }
      li {
        border-bottom: 1px dashed rgb(45,117,183);
      }
      span {float: …
Run Code Online (Sandbox Code Playgroud)

python xslt xsl-fo wkhtmltopdf python-pdfkit

27
推荐指数
1
解决办法
1246
查看次数

如何在Javascript中获取元素及其子元素的所有计算css属性

我正在尝试使用pdfKit从html文件创建pdf文件来在python中设置服务.

所以基本上我会将我的元素作为字符串发送并期望服务器返回它的pdf版本,但为了准确表示我还需要发送元素的css文件.

我怎样才能做到这一点?仅使用元素及其所有子元素的相关样式属性和选择器生成JSON /对象.尊重层次结构,没有重复.有类似的问题,但它们已经过时,往往不考虑儿童元素.

我想也许有一种方法可以从这个元素创建一个新的DOM,然后获得根css?

javascript css wkhtmltopdf python-pdfkit

15
推荐指数
1
解决办法
1606
查看次数

pdfkit 使用 from_string 创建页面

我正在使用 pdfkit 从字符串生成 pdf 文件。

问:我传递给 pdfkit 的每个字符串我都希望它作为输出 pdf 中的一个新页面。

我知道使用如下 from_file 是可能的。但是,我不想将它写入文件并使用它。

pdfkit.from_file(['file1', 'file2'], 'output.pdf') 这将创建 2 页的 output.pdf 文件。

类似下面的东西可能吗?

pdfkit.from_string(['ABC', 'XYZ'], 'output.pdf') 
Run Code Online (Sandbox Code Playgroud)

它应该在 output.pdf 文件的第 1 页和第 2 页中写“ABC”和“XYZ”

python pdfkit python-pdfkit

7
推荐指数
1
解决办法
3117
查看次数

FileNotFoundError:[Errno 2]没有这样的文件或目录:使用 python pdfkit 时的“which”

我有一个奇怪的错误。我尝试使用 pdfkit 将 HTML 字符串转换为 PDF,但收到“没有这样的文件或目录:'which'”。我知道 pdfkit 使用 wkhtmltopdf,并且它尝试使用 which 来找到该实用程序。我不知道发生了什么事。'which' 工作正常,wkhtmltopdf 安装在 /usr/bin/ 上。我在这一行收到错误:

pdf = pdfkit.from_string(html, False, options=options)
Run Code Online (Sandbox Code Playgroud)

和回溯:

Traceback:  

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/srv/zboss-git/zboss/issues/views.py" in export_comments
  453.     pdf = pdfkit.from_string(html, False, options=options)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/pdfkit/api.py" in …
Run Code Online (Sandbox Code Playgroud)

pdfkit wkhtmltopdf python-pdfkit

6
推荐指数
1
解决办法
4165
查看次数

是否有 div 到 table 转换器?

我有大量的结构化 HTML,我需要将其转换为能够在 pdfkit 中呈现它。

我正在使用 pdfkit,它似乎不太适合布局,但确实适合网格。

任何帮助将不胜感激!

<div class="row">
              <div class="col-md-10">
                <div class="col-md-3 left" style="padding: 20px 0 30px 0; color:#454545; font-family: Arial, sans-serif; font-size: 16px;">
                  Packages
                </div>
                <div class="col-md-9 left" style="padding: 20px 0 30px 0; color:#454545; font-family: Arial, sans-serif; font-size: 16px;">
                    <h4>User 1 </h4>
                    <div class="row">
                      <div class="col-md-6">
                        <p style="padding-left:20px">
                            Total records <br/>
                            Total cycles <br/>
                            Total records out <br/>
                            Consumable Costs<br/>
                            <br/>
                            Total Artwork Changes <br/>
                            Artwork Change Costs <br/>
                            <br/>
                            <span style="color:green;">Artwork Change Discount </span><br/>                            
                            Subtotal <br/>
                            Sales …
Run Code Online (Sandbox Code Playgroud)

html css python-pdfkit

5
推荐指数
1
解决办法
7881
查看次数

pdfkit - A4 html 页面无法打印成 A4 pdf

我在下面重现了我的问题:

  1. 我在网页上画了一个 210x297 的矩形

    <!DOCTYPE html>
    <html>
    <style>
    div.rectangle {
      border: solid 1px;
      width: 210mm;
      height: 297mm;
    }
    </style>
    <head>
    </head> 
    <body> 
    <div class="rectangle">
      <img/>
    </div>
    </body>
    </html>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我使用 Python 中的 pdfkit 将此 html 文档转换为 pdf

    import pdfkit
    
    options = {
        'page-size':'A4',
        'encoding':'utf-8', 
        'margin-top':'0cm',
        'margin-bottom':'0cm',
        'margin-left':'0cm',
        'margin-right':'0cm'
    }
    
    pdfkit.from_file('test.html', 'test.pdf', options=options)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我获得了一个 pdf 文件,左上角有一个矩形,其大小大约小了 5 倍......

如果您能看看,我将不胜感激!

python pdfkit html-to-pdf wkhtmltopdf python-pdfkit

5
推荐指数
1
解决办法
7310
查看次数

pdfkit 新行 from_string 或 html 不起作用

我想找到一种在 pdfkit 中换行的方法。

我尝试了字符串和 html 文件,但它没有按预期工作。

以下两个最小的示例不是为我提供“a”(换行符)“b”,而是生成“a b”。我将不胜感激你的帮助。

# from_string example (html example follows)

import pdfkit

options = {
    'page-size': 'A4',
    'margin-top': '0.75in',
    'margin-right': '0.75in',
    'margin-bottom': '0.75in',
    'margin-left': '0.75in',
    'encoding': 'UTF-8',
    'quiet': ''
}

s1 = 'a \n b'
pdfkit.from_string(s1, 'out.pdf', options=options)


# html example

import pdfkit

s2 = """
a

b
"""

h1 = """<html>
<head></head>
<body><p>"""

h2 = """</p></body>
</html>"""

content = h1 + s2 + h2

f = open('out.html', 'w')
f.write(content)
f.close()

options = {
    'page-size': 'A4', …
Run Code Online (Sandbox Code Playgroud)

pdfkit python-pdfkit

5
推荐指数
0
解决办法
966
查看次数

找不到 wkhtmltopdf 可执行文件:“b''” 如果此文件存在,请检查此进程是否可以读取它

在 Heroku 上托管我的 Django 应用程序后,当我尝试下载动态 pdf 时,我的 Django 应用程序的 wkhtmltopdf 会导致此错误。

在本地机器(Ubuntu)中我已经申请了

sudo apt-get install wkhtmltopdf
Run Code Online (Sandbox Code Playgroud)

我还在项目目录中添加了 Aptfile,以便 Heroku 在构建应用程序时安装这些依赖项和要求。

apt文件:

wkhtmltopdf
Run Code Online (Sandbox Code Playgroud)

但不幸的是 Heroku 甚至不构建具有给定依赖项的应用程序。

我还尝试通过运行 Heroku bash 来安装它,但 Heroku 阻止了。

W: Not using locking for read only lock file /var/lib/dpkg/lock-frontend
W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to locate package wkhtmltopdf
Run Code Online (Sandbox Code Playgroud)

我生成pdf的代码是:

def pdf_generation(request, pk):
    ''' Will generate PDF file from the html template '''
    template = get_template('bankApp/print_view.html')
    withdraw_obj = get_object_or_404(Withdraw, id=pk)
    year_month_day = …
Run Code Online (Sandbox Code Playgroud)

django heroku python-pdfkit

5
推荐指数
1
解决办法
2635
查看次数

如何使用python-pdfkit中的from_string生成包含非ascii字符的PDF

我正在努力用Python 3.5.2,python-pdfkit和wkhtmltox-0.12.2生成一个带有非ascii字符的简单PDF.

这是我能写的最简单的例子:

import pdfkit
html_content = u'<p>ö</p>'
pdfkit.from_string(html_content, 'out.pdf')
Run Code Online (Sandbox Code Playgroud)

这就像输出文档看起来像: PDF中错误显示的非ascii字符

python pdf encoding python-pdfkit

4
推荐指数
1
解决办法
2447
查看次数

在Python pdfkit中指定字体

我在 Debian Docker 映像上使用 python 3.6 和 pdfkit 0.6.1(似乎是 wkhtmltopdf 0.12.3.2)。我尝试查看docs & wkhtmltopdf 选项,但无法指定整个文档的字体。只有页脚和页眉的字体选项。

我尝试指定

font-family: "Times New Roman", Times, serif;
Run Code Online (Sandbox Code Playgroud)

在html 到 pdf 转换之前的divhtml<style>部分的包装器中,但它没有出现“Times New Roman”。查看二进制文件,似乎它正在使用DejaVuSerif.

有没有办法指定正在转换的文档的字体?

python pdf-generation pdfkit wkhtmltopdf python-pdfkit

4
推荐指数
1
解决办法
6602
查看次数

从 html 模板生成 PDF 并在 Django 中通过电子邮件发送

我正在尝试使用Weasyprint python 包从 HTML 模板生成 pdf 文件,我需要使用通过电子邮件发送它。

这是我尝试过的:

def send_pdf(request):
minutes = int(request.user.tagging.count()) * 5
testhours = minutes / 60
hours = str(round(testhours, 3))
user_info = {
    "name": str(request.user.first_name + ' ' + request.user.last_name),
    "hours": str(hours),
    "taggedArticles": str(request.user.tagging.count())
}
html = render_to_string('users/certificate_template.html',
                        {'user': user_info})
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'filename=certificate_{}'.format(user_info['name'] + '.pdf')
pdf = weasyprint.HTML(string=html).write_pdf(response, )
from_email = 'our_business_email_address'
to_emails = ['Reciever1', 'Reciever2']
subject = "Certificate from INC."
message = 'Enjoy your certificate.'
email = EmailMessage(subject, message, from_email, to_emails) …
Run Code Online (Sandbox Code Playgroud)

python django django-templates weasyprint python-pdfkit

3
推荐指数
1
解决办法
7399
查看次数