用于将html转换为pdf、rtf、docx、wml和odt的python接口)属于zopyx.smartprintng.core

zopyx.convert2的Python项目详细描述


zopyx.convert2

zopyx.convert2包帮助您将html转换为pdf、rtf、odt、docx 以及使用xsl-fo技术或princexml的wml。此包用作 zopyx.smartprintng.core的低级API。

要求

  • Java 1.5.0或更高版本(FOP 0.94要求Java 1.6或更高版本)
  • csstoxslfo (包括)

安装

  • 使用"简易安装"或从python cheeseshop下载源代码来安装zopyx.convert2。 这将在必要时自动安装BeautifulGroup和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如何在内部工作

  • 使用mxtidy将源html文件转换为xhtml
  • 使用伟大的"csstoxslfo"转换器将xhtml文件转换为fo 作者:沃纳·唐恩。
  • fo文件传递给外部xinc或xfc转换器 生成所需的输出格式
  • 所有转换器都是基于java技术的 跨操作系统(包括Windows)的高度可移植性

环境变量

以下环境变量可用于解析操作系统或分发 具体问题:

zopyx_convert_shell -默认为 sh 并用作 执行外部转换器

zopyx_convert_execution_mode -默认为 进程并引用 python执行外部命令的方法(默认情况下使用 进程 模块)。 其他值: 系统 命令

已知问题

  • 如果将zopyx.convert2与fop一起使用:请使用最新的fop 0.94 只有。不要使用任何打包的fop版本,比如macports的 已知已损坏。
  • 确保您已经阅读了 csstoxslfo 文档。 csstoxslfo 有 关于HTML标记。别指望它是终极的 HTML转换器。有关必要的标记的任何问题都记录在 csstoxslfo 文档,将不予答复。

作者

zopyx.convert2 由Andreas Jung为德国图宾根的zopyx有限公司撰写。

许可证

zopyx.convert2 在zope公共许可证(zpl 2.1)下发布。 请参阅license.txt。

联系人

< div > 佐皮克斯有限公司 夏洛滕斯特。37/1
德国图宾根D-72070
www.zopyx.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
多线程重新构造使用线程池和BlockingQueue的I/O密集型Java web服务   java SWT CTabFolder检查CTAB是否存在   java如何防止具体类的实例化?   java如何将子域定向到正确的JBoss应用程序?   java Android外部文件出现不一致   java FileSystemNotFoundException:未安装提供程序“jndi”   显示jframe上的java隐藏单选按钮   java CXF客户端TCP连接在每个请求之间关闭   Hadoop查询、日期、循环、BASH或Java   java从长类型到十进制类型对象的转换类型错误   java为什么不在用户消息中提供用户提供的数据?有可能的威胁/攻击吗?   使用作用域存储MediaStore的应用程序中的java共享意图问题   java我可以通过将成员指针传递给方法并在方法中分配来初始化它吗?   java如何在一个包含正负值的数组中找到最大的负值?   java有比较二叉树路径的简单方法吗?   java Swagger(ui)不显示操作   java KairosDB缺失值的线性插值   用于此特定求和的java循环