当将PNG添加到ReportLab生成的PDF中时,PNG图像变得模糊。

4
我正在使用ReportLab在Python中创建PDF。我需要将PNG图片调整大小以正确适应页面。当我调整图像大小时,它们在Microsoft Photos中查看或拖放到Word文档中时看起来很好,但是当它们被放入PDF中时,它们变得非常模糊。 这是缩放后的图像,看起来清晰。 这是PDF的截图,看起来模糊。
以下是我目前使用的代码。
def resizeImage():
    basewidth = 500
    img = PIL.Image.open('test.png')
    wpercent = (basewidth/float(img.size[0]))
    hsize = int((float(img.size[1])*float(wpercent)))
    img = img.resize((basewidth,hsize), PIL.Image.ANTIALIAS)
    img.save('sompic.png')

def generatePDF():
    c = canvas.Canvas('template.pdf', pagesize=portrait(letter))
    #Header text
    c.setFont('Helvetica', 48, leading=None)
    c.drawCentredString(200, 300, "This is a pdf" )
    test = 'sompic.png'
    c.drawImage(test, 50,350, width=None, height=None)
    c.showPage()
    c.save()

resizeImage()
generatePDF()

如果有人对如何获得清晰图像有任何建议,将不胜感激!
调整大小的代码来自于这里:如何使用PIL调整图像大小并保持其宽高比?

看起来还是很清晰,但 PDF 中的图像比您缩放的图像要大。请使用更高分辨率的图像。 - Kenney
我对PIL或Report Lab并不是很了解,但想知道是否有一种方法可以为此图像设置插值(请参见Pdf Spec 8.9.5.3)。 - Jimmy
1个回答

0
如果有人偶然发现这篇文章,我最终采用的方法是使用Python和LaTex的混合方式,因为LaTex可以非常好地处理PDF和图像,从而得到清晰、清晰的图像。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接