8

我正在使用 pdfkit 从字符串生成 pdf 文件。

问:我传递给 pdfkit 的每个字符串我都希望它作为输出 pdf 中的新页面。

我知道这可以使用 from_file 如下所示。但是,我不想将它写入文件并使用它。

pdfkit.from_file(['file1', 'file2'], 'output.pdf') 这将创建 2 页的 output.pdf 文件。

类似下面的东西可能吗?

pdfkit.from_string(['ABC', 'XYZ'], 'output.pdf') 

它应该在 output.pdf 文件的第 1 页和第 2 页中写入“ABC”和“XYZ”

4

2 回答 2

2

我知道这是旧的,但万一其他人发现自己在这里,我想我会分享我所做的。我必须实现 PyPDF2 来执行上面指定的操作。我的类似解决方案是:

from PyPDF2 import PdfFileReader, PdfFileWriter
import io


with open('output.pdf', 'wb') as output_file:
    writer = PdfFileWriter()
    for s in ['ABC', 'XYZ']:
        stream = io.BytesIO()
        stream.write(pdfkit.from_string(s, False))
        # This line assumes the string html (or txt) is only 1 page.
        writer.addPage(PdfFileReader(stream).getPage(0))
    writer.write(output_file)
于 2021-04-06T01:16:04.180 回答
-3

您可以像这样连接字符串:

pdfkit.from_string('ABC' + 'XYZ', 'output.pdf')
于 2020-07-21T16:23:26.797 回答