使用 Python 将 PNG 图像插入 Reportlab PDF

问题描述 投票:0回答:1

我已经尝试并浏览了类似问题的多个主题,我无法将图像导出为 pdf,有什么方法可以调试以了解发生了什么。当我使用下面的函数作为更简单的示例时,它工作正常,但是,我无法共享它不起作用的其他图像,我想知道如何调试并理解它为什么不起作用。

from reportlab.platypus import Image
from reportlab.lib.units import inch
import matplotlib.pyplot as plt
from io import BytesIO

def fig2image(f):
    buf = io.BytesIO()
    f.savefig(buf, format='png', dpi=300)
    buf.seek(0)
    x,y = f.get_size_inches()
    return Image(buf, x * inch, y * inch)
 
#Worked Example:
abc, ax = plt.subplots(dpi=400,figsize=(4,4))
plt.plot([1,2,3,4])
plt.savefig('abc.png')

fig2image(abc)
python io reportlab
1个回答
0
投票

您可以使用

format
参数和
savefig
来保存为 pdf。确保文件扩展名也是 .pdf

import matplotlib.pyplot as plt
import numpy as np

# create data
values=np.cumsum(np.random.randn(1000,1))

# use the plot function
plt.plot(values)
plt.savefig('abc.pdf', format='pdf')

输出

© www.soinside.com 2019 - 2024. All rights reserved.