【问题标题】:How do I create a simple pdf file in python?如何在python中创建一个简单的pdf文件?
【发布时间】:2012-08-02 13:18:58
【问题描述】:

我正在寻找一种从 Python 输出非常简单的 pdf 文件的方法。基本上它将由两列单词组成,一列是俄语(所以是 utf-8 字符),另一列是英语。

我已经用谷歌搜索了大约一个小时,我发现的软件包要么是大量的过度杀伤(并且仍然没有提供有用的示例),例如 ReportLab,要么似乎假设任何人都会做的唯一事情with pdfs 是将它们中的几个连接在一起(PyPdf,pdfrw)。

也许我只是遗漏了一些明显的东西,但我所看到的所有这些似乎都引发了一些关于获取 17 个 pdf 文件并将它们转换为具有 23 个窗格的 60 英尺宽的海报(可能有点夸张)的大规模讨论,让我想知道如何让“Hello World”程序工作。任何帮助将不胜感激。

【问题讨论】:

  • 我不知道任何工具,但您可以以不同的方式处理您的问题。将您想要格式化的内容输出到文本文件,然后在其上使用 bash txt->pdf 工具。
  • 我的同事在她的应用程序中使用 ReportLab 进行 PDF 处理。似乎工作正常。
  • 不是重复的,这个问题特别说 pypdf 不是答案。

标签: python pdf


【解决方案1】:

您可以使用wkhtmltopdf。它是一个命令行实用程序,使用 Webkit 将 html 转换为 pdf。

如果需要,您可以将数据生成为 html 并使用 css 设置样式,然后使用 wkhtmltopdf 生成 pdf 文件。

【讨论】:

  • 这行得通。我尝试了其他一些解决方案,其中大多数都遇到了 utf-8 字符的问题(尽管我确信有一些简单的修复方法我不知道如何解决它)但是这个没有问题。感谢您的帮助!
【解决方案2】:

rst2pdf 完全符合您的要求;重组文本输入

样式可以与原生 RST 样式一起应用,文档级属性(包括字体)由 style sheet 控制。

【讨论】:

  • 很遗憾目前不支持 python 3。
【解决方案3】:

试试pod (python open document) 是一个库,可以轻松生成内容为动态的文档。

pod 生成另一个包含所需结果的 ODF 文本文档 (ODT)。pod 可以在服务器模式下调用 OpenOffice 以生成 PDF、DOC、RTF 或 TXT 格式的结果 格式。

【讨论】:

    【解决方案4】:

    recipe 将文本文件转换为 PDF。有点长但纯 Python,没有外部依赖。

    【讨论】:

      【解决方案5】:

      你也可以使用 weasyprint 它支持特定的 css 分页媒体功能

      【讨论】:

        【解决方案6】:

        更简单的方法是使用 csv 包将两列写入 .csv 文件,然后将其读入电子表格并打印为 pdf。不是 100% 的 Python,但可能会减少 90% 的工作量......

        【讨论】:

          猜你喜欢
          • 2013-03-03
          • 1970-01-01
          • 1970-01-01
          • 2011-04-06
          • 2015-05-13
          • 2011-02-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多