PDF直接输出,或通过HTML文件输出

时间:2014-01-06 17:54:07

标签: html perl pdf

这是我的情况。我有一个运行测试的设备测试平台(Selenium,Perl和许多自定义代码)。结果当前输出到HTML文件中,任何浏览器都可以显示。它是一个包含许多大表的长页(整页宽度和多页,但是一行小于一页)。问题是此页面不是可打印。我还没有找到符合所有CSS3指令的浏览器,特别是在奇数页面上启动标题(仅适用于IE10 +)和跨页面拆分表行。我还想用引导点扩展目录并自动填充页码。页眉页码和安全页脚工作正常。如果有一个浏览器从HTML干净地打印出来,那将是令人满意的。

无论如何,我的客户问他们是否可以获得PDF格式的输出。环顾四周,我看到了一些HTML-to-PDF转换器,但要么它们不能很好地工作,要么昂贵,需要服务器安装(对于PHP),要么在别人的网站上(我们担心发送我们的非现场专有信息转换)。生成的PDF应该相当简单:没有输入或表单,没有加密,一些PNG或JPEG图像,一些文本颜色,以及许多表格和文本。所有页面链接都在文档中 - 可以丢失它们。只有一些“标准”字体。有人可以建议一些选择吗?命令行界面很好(事实上,首选,因此它可以从脚本运行)。我尝试从Chrome直接输出PDF,结果不理想(我可以配置页面大小,比例等吗?)。

我愿意从原始文本和数据生成PDF(即,不通过HTML文件作为中间形式)。一个可以使用我当前的Perl代码的库将是首选,以最大限度地减少重写(PDF :: Create有多好?)。我看到一些基于PHP的库,但是没有服务器可以使用PHP吗? (此处不允许安装服务器)非常重要的是,在第一个位置输出到HTML的重点是我不必计算字符和行长度并适合页面 - 让一个浏览器负责所有这些。是否有一个输出PDF的库,可以为我处理所有文书内容?

无论解决方案是什么,它都需要至少在Windows上运行(Linux也很好)。非常感谢您的建议!

1 个答案:

答案 0 :(得分:1)

快速检查CPAN看起来像PDF :: Create和PDF :: API2应该做你想要做的事情虽然两个模块似乎都提供了一些你可能觉得难以使用的PDF功能的低级别访问除非您对如何完成页面布局有一个具体的想法。幸运的是,PDF :: API2有许多辅助模块,可以使表格布局和自动文本流更容易处理。这里有一些关于这个主题的相关StackExchange链接(回复中有示例代码),你可能会觉得有用......

What's the best method to generate Multi-Page PDFs with Perl and PDF::API2?

How can I make PDF tables from Perl?

How to add header, footer with images using PDF::API2::Lite?

至于在Windows和UNIX上工作,我只是快速检查并使用桌面上的CPAN安装程序(ActivePerl 5.16.3 MSWin32-x86-multi-thread)安装PDF :: API2,所以在threory中,它应该假设您可以在某个地方安装所需的模块,也可以在Windows上工作。

您的里程可能会有所不同。