跳转到主要内容

一个将HTML转换为PDF、RTF、DOCX、WML和ODT的Python接口(属于zopyx.smartprintng.core)

项目描述

zopyx.convert2

zopyx.convert2软件包帮助您使用XSL-FO技术或使用PrinceXML将HTML转换为PDF、RTF、ODT、DOCX和WML。此软件包用作zopyx.smartprintng.core的低级API。

需求

  • Java 1.5.0或更高版本(FOP 0.94需要Java 1.6或更高版本)

  • csstoxslfo(包含)

  • XFC-4.0(XMLMind)用于ODT、RTF、DOCX和WML支持(如有需要)

  • XINC 2.0(Lunasil)用于PDF支持(商业版)

  • FOP 0.94(Apache项目)用于PDF支持(免费版)

  • PrinceXML(商业版)用于PDF支持

安装

  • 使用easy_install或从Python Cheeseshop下载源代码安装zopyx.convert2。如果需要,这将会自动安装Beautifulsoup和Elementree模块。

  • 环境变量$XFC_DIR必须设置,并指向您的XFC安装目录的根目录

  • 环境变量$XINC_HOME必须设置,并指向您的XINC安装目录的根目录

  • 环境变量$FOP_HOME必须设置,并指向您的FOP安装目录的根目录

  • 如果您使用PrinceXML,则“prince”二进制文件必须在$PATH中

支持的平台

Windows,Unix

源代码

错误跟踪器

用法

一些来自Python命令行的示例

from zopyx.convert2 import Converter
C = Converter('/path/to/some/file.html')
pdf_filename = C('pdf-xinc')['output_filename']       # using XINC
pdf2_filename = C('pdf-pisa')['output_filename']      # using PISA
pdf3_filename = C('pdf-fop')['output_filename']       # using FOP
pdf4_filename = C('pdf-prince')['output_filename']    # using FOP
rtf_filename = C('rtf-xfc')['output_filename']
pdt_filename = C('odt-xfc')['output_filename']
wml_filename = C('wml-xfc')['output_filename']
docx_filename = C('docx-xfc')['output_filename']

还有一个非常简单的命令行转换器可用

html-convert --format rtf --output foo.rtf sample.html

html-convert有一个–test选项,可以将一些示例HTML转换为文件。如果一切正常,您应该会看到类似以下内容

>html-convert --test
Entering testmode
pdf: /tmp/tmpuOb37m.html -> /tmp/tmpuOb37m.pdf
rtf: /tmp/tmpuOb37m.html -> /tmp/tmpuOb37m.rtf
docx: /tmp/tmpuOb37m.html -> /tmp/tmpuOb37m.docx
odt: /tmp/tmpuOb37m.html -> /tmp/tmpuOb37m.odt
wml: /tmp/tmpuOb37m.html -> /tmp/tmpuOb37m.wml
pdf: /tmp/tmpZ6PGo9.html -> /tmp/tmpZ6PGo9.pdf
rtf: /tmp/tmpZ6PGo9.html -> /tmp/tmpZ6PGo9.rtf
docx: /tmp/tmpZ6PGo9.html -> /tmp/tmpZ6PGo9.docx
odt: /tmp/tmpZ6PGo9.html -> /tmp/tmpZ6PGo9.odt
wml: /tmp/tmpZ6PGo9.html -> /tmp/tmpZ6PGo9.wml

zopyx.convert2的内部工作方式

  • 源HTML文件使用mxTidy转换为XHTML。

  • 使用Werner Donne编写的出色的“csstoxslfo”转换器将XHTML文件转换为FO。

  • 将FO文件传递给外部XINC或XFC转换器以生成所需的输出格式。

  • 所有转换器均基于Java技术,使得转换解决方案在操作系统(包括Windows)之间具有高度的可移植性。

环境变量

以下环境变量可用于解决与操作系统或发行版特定的相关问题:

ZOPYX_CONVERT_SHELL - 默认为sh,用作执行外部转换器的shell命令。

ZOPYX_CONVERT_EXECUTION_MODE - 默认为process,表示Python执行外部命令的方法(默认使用process模块。其他值:systemcommands

已知问题

  • 如果您正在使用zopyx.convert2与FOP一起使用:仅使用最新的FOP 0.94。不要使用任何打包的FOP版本,如MacPorts提供的版本,该版本已知已损坏。

  • 请确保您已阅读csstoxslfo文档。 csstoxslfo对HTML标记有一些要求。不要期望它是最终的HTML转换器。有关必要标记的所有问题均记录在csstoxslfo文档中,并将不会回答。

作者

zopyx.convert2由德国图宾根的ZOPYX Ltd.的Andreas Jung编写。

许可

zopyx.convert2根据Zope公共许可证(ZPL 2.1)发布。请参阅LICENSE.txt。

联系

ZOPYX Ltd.
Charlottenstr. 37/1
D-72070 Tuebingen, Germany
www.zopyx.com

更改

更改日志

2.4.5 (2012-11-05)

  • 修正了拼写错误

2.4.4 (2012-11-05)

  • 在现有文件夹内部创建tidyed文件,而不是在$TMPDIR中。此错误导致某些样式文件无法通过PDFreactor加载。

2.4.3 (2012-06-20)

  • 修正了日志记录器的(误)使用

  • 修正了API文档

2.4.2 (2012-01-01)

  • 实验性支持PDFreactor

2.4.1 (2011-11-11)

  • 修正了BeautifulSoup依赖关系

2.4 (2011-11-07)

  • 更新文档以反映Plone客户端连接器第一个公开版本的变化

2.3.2 (2011-08-23)

  • 在Calibre转换器中添加了对%(WORKDIR)s替换的支持

2.3.1 (2011-06-15)

  • 支持PISA(pdf-pisa-bin)- 要求在$PATH中找到‘pisa’

2.3.0 (2011-06-05)

  • 支持PISA(pdf-pisa)

2.2.5 (2011-04-03)

  • Calibre转换器现在遵守commandlineoptions.txt文件

2.2.4 (2010-12-16)

  • 为基于XFC的转换器去除BASE标签

2.2.3 (2010-08-16)

  • 使去除BASE标签特定于pdf-fop

2.2.2 (2010-08-15)

  • pdf-fop转换器未正确注册

2.2.1 (2010-07-19)

  • 支持$ZOPYX_CONVERT_SHELL

2.2.0 (2010-05-15)

  • 添加了专门的ConversionError异常

2.1.1 (2010-02-19)

  • 放宽了对图像存在的tidy检查

2.1.0 (2009-09-05)

  • Calibre集成

  • API更改:convert()现在返回一个包含所有相关转换结果的更丰富的dict

2.0.4 (2009-07-07)

  • 固定BeautifulSoup 3.0.x

2.0.3 (2009-07-05)

  • 在fop.py中修复了问题

2.0.2 (2009-06-02)

  • 修复了测试数据文件的损坏路径

2.0.1 (2009-06-02)

  • 添加了环境变量ZOPYX_CONVERT_EXECUTE_METHOD,以控制process模块与os.system()(在挂起的Java进程的情况下)的使用(默认值:‘process’)

2.0.0 (2009-05-14)

  • 最终发布

2.0.0b3 (25.12.2008)

  • tidy:将图像引用重写为相对于要转换的HTML文件

2.0.0b2 (05.10.2008)

  • 修正了一些导入错误

  • 现在与zopyx.smartprintng.core一起工作

2.0.0b1 (04.10.2008)

  • 首次发布

  • zopyx.convert的完整新实现

  • 添加了对PrinceXML的支持

项目详细信息


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

zopyx.convert2-2.4.6.zip (373.5 kB 查看哈希值)

上传时间

由以下支持