J'essaie de créer des PDF en Python en utilisant ReportLab. J'ai besoin de redimensionner l'image PNG pour qu'elle tienne correctement sur la page. Lorsque je redimensionne l'image, elle est correcte lorsqu'elle est visualisée dans Microsoft Photos ou glissée et déposée dans un document Word, mais lorsqu'elle est insérée dans le PDF, elle est très floue.
Voici l'image mise à l'échelle qui apparaît nette.
Voici une capture d'écran du pdf qui apparaît floue.
Voici le code que j'utilise jusqu'à présent
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()
Si quelqu'un a des suggestions sur la façon d'obtenir une image nette, il serait très apprécié !
Le code de redimensionnement provient d'ici : Comment redimensionner une image à l'aide de la LIP tout en conservant son rapport hauteur/largeur ?