纯Python解决方案将XHTML转换为PDF

时间:2009-10-21 04:26:38

标签: python google-app-engine pdf

我正在使用纯Python解决方案(针对GAE)将网页转换为pdf。

我查看了reportlab,但文档侧重于从头开始生成pdf,而不是从HTML转换。

你推荐什么? - pisa

编辑: 我的用例是我有一个HTML报告,我想用PDF格式提供。我将对此报告结构进行更新,因此我不想维护单独的PDF版本,但(希望)会自动转换。
另外,因为我生成报告HTML,我可以确保它是格式良好的XHTML,使PDF转换更容易。

3 个答案:

答案 0 :(得分:8)

Pisa声称支持我想要做的事情:

  pisa是一个使用html2pdf的转换器   ReportLab Toolkit,HTML5lib和   pyPdf。它支持HTML 5和CSS 2.1   (以及一些CSS 3)。完全是   用纯Python编写,所以它是   平台独立。主要好处   用户使用Web的这个工具   像HTML和CSS这样的技能是可以的   快速生成PDF模板   没有学习新技术。   轻松集成到Python中   像CherryPy,KID这样的框架   模板,TurboGears,Django,Zope,   Plone,Google AppEngine(GAE)等。

所以我会进一步调查

答案 1 :(得分:4)

您考虑过pyPdf了吗?我怀疑它有你需要的功能丰富性,但是,它是一个开始,并且是纯Python。 PdfFileWriter类将是生成PDF输出的类,不幸的是它需要PageObject个实例,并且不提供将它们放在一起的实际方法,除了从现有PDF文档中提取它们。不幸的是,我能找到的所有更丰富的pdf页面生成包似乎都依赖于reportlab或其他非纯Python库: - (。

答案 2 :(得分:4)

您要求的是一个纯Python HTML渲染器,至少可以说这是一项重要任务(像webkit这样的“真实”渲染器是数千小时工作的产物)。据我所知,没有。

我建议不要寻找HTML到PDF转换器,而是以易于转换为两者的格式构建报表 - 例如,您可以将其构建为DOM(一组链接对象),以及为HTML和PDF输出编写转换器。这比将HTML转换为PDF更加有限,因此更容易实现。