Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将输出数据写入pdf?_Python_Pdf_Fpdf - Fatal编程技术网

Python 如何将输出数据写入pdf?

Python 如何将输出数据写入pdf?,python,pdf,fpdf,Python,Pdf,Fpdf,我找不到用python将输出数据(列表或函数返回)写入pdf的方法。这是我的简单代码。我想在pdf中逐行编写数据列表的I。但输出仅显示[1,2,3,4,5,6]。 哪个pdf模块更适合我使用 import fpdf data=[1,2,3,4,5,6] pdf = fpdf.FPDF(format='letter') pdf.add_page() pdf.set_font("Arial", size=12) for i in str(data): pdf.write(5,i) pd

我找不到用python将输出数据(列表或函数返回)写入pdf的方法。这是我的简单代码。我想在pdf中逐行编写数据列表的
I
。但输出仅显示
[1,2,3,4,5,6]
。 哪个pdf模块更适合我使用

import fpdf

data=[1,2,3,4,5,6]

pdf = fpdf.FPDF(format='letter')
pdf.add_page()
pdf.set_font("Arial", size=12)

for i in str(data):
    pdf.write(5,i)
pdf.output("testings.pdf")

要将输出写入PDF,您所做的一切都是正确的。但是您没有得到“想要”的结果,因为您的Python代码不正确

for i in str(data):
      .. do stuff with i here ..
然后,
for
循环迭代该字符串的内容–其字符–并将它们逐个写入PDF

这是你的第一个错误。是的,您必须向
pdf.write
提供一个字符串,但仅限于要写入的每个单独项目,而不是整个输入对象

第二个是假设
pdf.write
输出一行,该行末尾包含一个返回值。它没有:

此方法从当前位置打印文本。当到达右边距(或满足字符)时,会出现换行符,文本从左边距继续。方法退出时,当前位置仅保留在文本末尾。
()

您可以使用插入换行符,或在写入前在每个字符串的末尾追加
\n

工作代码:

import fpdf

data=[1,2,3,4,5,6]

pdf = fpdf.FPDF(format='letter')
pdf.add_page()
pdf.set_font("Arial", size=12)

for i in data:
    pdf.write(5,str(i))
    pdf.ln()
pdf.output("testings.pdf")

可能的重复对我来说很好,请查看以下链接上的解决方案:不。我想逐行将多个dict文件写入pdf!
import fpdf

data=[1,2,3,4,5,6]

pdf = fpdf.FPDF(format='letter')
pdf.add_page()
pdf.set_font("Arial", size=12)

for i in data:
    pdf.write(5,str(i))
    pdf.ln()
pdf.output("testings.pdf")