Как загрузить изображение в скрипт Python, а затем распечатать его в PDF с помощью ReportLab - PullRequest
0 голосов
/ 19 марта 2019

В настоящее время я создаю огромное количество графиков с R, которые в настоящее время я вручную перетаскиваю в ppt-документ, который затем превращаю в PDF.Я хотел бы автоматизировать этот процесс с помощью Python и изучал PIL и ReportLab.Я написал следующий код:

# import packages
from reportlab.pdfgen import canvas
from PIL import Image
import io
from reportlab.lib.utils import ImageReader

# creating pdf canvas
document = canvas.Canvas("/Desktop/images_new.pdf")

# call image
img_new = Image.open("/Desktop/plots/Plot_no1.png")
img_new.show()

# print figure on document (pdf)
imgdata = io.BytesIO()

img_new.savefig(imgdata, dpi=300, format='png')
imgdata.seek(0)  # rewind the data

Image = ImageReader(imgdata)

# get image width and height
iw, ih = Image.getSize()
ratio = ih/iw

# set parameter for image width
image_width = 500

document.drawImage(Image, 55, 55, width=image_width, height=(image_width*ratio))

document.showPage()  # to end a page and start a new one

document.save()

К сожалению, этот код не работает, и Python сообщает мне, что у объекта нет атрибута "savefig".Большое спасибо за любую помощь !!

...