1

我是 plone 的新手,我试图让发送作为 PDF 添加工作。我已经添加了:

  • 比萨
  • pyPDF
  • html5lib
  • 报告实验室

到构建文件并已将collective.sendaspdf发送配置为 PDF 插件。每当我尝试单击“以 PDF 格式发送”选项时,它什么都不做。帮助将不胜感激。

错误日志中的回溯有以下信息:

Exception Value
    'ascii' codec can't decode byte 0xe2 in position 8192: ordinal not in range(128)

Traceback (innermost last):

    Module ZPublisher.Publish, line 126, in publish
    Module ZPublisher.mapply, line 77, in mapply
    Module ZPublisher.Publish, line 46, in call_object
    Module jquery.pyproxy.plone, line 66, in _jquery
    Module collective.sendaspdf.browser.ajax, line 56, in show_send_form
    Module collective.sendaspdf.browser.ajax, line 44, in _show_send_form
    Module collective.sendaspdf.browser.base, line 237, in make_pdf
    Module collective.sendaspdf.browser.base, line 223, in generate_pdf_file
    Module collective.sendaspdf.transforms.pisa, line 16, in html_to_pdf

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 8192: ordinal not in range(128) 

当我在修改 buildout.cfg 文件后尝试使用 bin/buildout 通过 build out 安装 wkhtmltopdf 时,出现以下错误:

同时:
安装。
错误:缺少选项:buildout:parts
* ** * **精选版本** * ** * *
[版本]

** * ***/挑选的版本** * ** *

我已经完成了这个链接中所说的一切:https ://github.com/vincent-psarga/collective.sendaspdf

我在我的构建文件(buildout.cfg)中进行了以下更改:

parts =
    instance
    zopepy
    zopeskel
    unifiedinstaller
    repozo
    backup
    chown
    wkhtmltopdf
    wkhtmltopdf_executable   

environment-vars =
    zope_i18n_compile_mo_files true
    PYTHON_EGG_CACHE ${buildout:directory}/var/.python-eggs
    WKHTMLTOPDF_PATH ${buildout:directory}/wkhtmltopdf 

[wkhtmltopdf]
recipe = hexagonit.recipe.download
url = http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2

[wkhtmltopdf_executable]
recipe = collective.recipe.cmd
on_install = true
on_update = true
cmds =
     cd ${buildout:directory}/parts/wkhtmltopdf
     mv wkhtmltopdf-amd64 wkhtmltopdf
     chmod +x wkhtmltopdf

你能告诉我我做错了什么吗?帮助将不胜感激。谢谢

4

2 回答 2

4

我是 Send as PDF 的主要开发者。一个简单的问题:你真的需要使用 Pisa/report lab 吗?

我在工具开发之初就添加了它,但很快就会放弃对这个 PDF 生成器的支持(wkhtmltopdf 就像一个魅力,维护这两种支持有点困难)。如果您查看产品的 README,有安装 WKHtmlToPDF 的说明:https ://github.com/vincent-psarga/collective.sendaspdf

我强烈建议你使用这个工具,它的选择比你使用 Pisa 的要多。如果您真的需要 Pisa/reportlab,无论如何我都会看看这个问题;)

干杯,文森特

于 2012-07-16T10:14:02.753 回答
3

查看源代码,我认为您在这里遇到了错误。

该代码期望输入的 HTML 是一个 unicode 字符串,但您的情况并非如此,并且将其重新编码为 ASCII 会失败。

您需要在 GitHub 上的collective.sendaspdf 问题跟踪器中提交包含您的回溯的错误报告。

于 2012-07-14T06:39:14.037 回答