Это график, созданный с помощью matplotlib:
Он сохраняется в папке, а затем добавляется в PDF через PyPDF2.
По непонятным причинам Несмотря на высокое качество .png, в PDF он выглядит как зубчатые края (особенно в нижней части). Они исчезают при увеличении, но в остальном они всегда рядом.
Я не могу понять, что я делаю неправильно. Я уже добавлял аналогичные изображения в формате .png к слайдам PowerPoint без этой проблемы!
Используя matplotlib, изображение сохраняется с использованием dpi = 1500:
fig1.savefig(saving_path, transparent = True,dpi=1500)
PyPDF2 используется для вложения файла .png, который выводится в файл PDF:
from reportlab.pdfgen import canvas
from PyPDF2 import PdfFileWriter, PdfFileReader
pdf_name = input("Enter the name of the template pdf file (add a .pdf at the end): \n")
output_file = PdfFileWriter()
input_file = PdfFileReader(open(pdf_name, "rb"))
c = canvas.Canvas('image.pdf',pagesize=(2480, 3508))
c.drawImage(r'.\matplotlib_pic.png', 440, 600,130,155,mask=[250,255,250,255,250,255])
c.save()
image = PdfFileReader(open("image.pdf", "rb"))
input_file = PdfFileReader(open(pdf_name, "rb"))
page_count = input_file.getNumPages()
output_file = PdfFileWriter()
for page_number in range(page_count):
input_page = input_file.getPage(page_number)
input_page.mergePage(image.getPage(0))
output_file.addPage(input_page)
with open("testimageprint.pdf", "wb") as outputStream:
output_file.write(outputStream)