Помещение файла .png в PDF с использованием PyPDF2, но файл .png зазубренные края на его границах - PullRequest
0 голосов
/ 25 марта 2020

Это график, созданный с помощью matplotlib:

pic

Он сохраняется в папке, а затем добавляется в 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)

...