pythonでpdfを取り込んでから編集してpdfとして出力する際の画像のサイズ(ピクセル数)を変更したい(小さくしたい)のですが出力前にPILやOpencvでresizeをすると画質が落ちてしまいます。またこのときデータ容量も小さくなります。
しかし出力後にmacbookのpreviewの「pdfとして書き出す」のメニューから画像のサイズを変更して
デフォルトのA4サイズにすると、画質を落とさずにピクセル値が変更できています。またこのときデータ容量は変わっていません。
後者の処理によって画質を落とさずにサイズを縮小したいのですが
毎回macのpreviewを開いてこの作業を行うと時間がかかってしまいますので
この処理をpython側で行うことはできないでしょうか?
下記は取り込んだpdfをopencvでresizeしてから出力した場合です
python
1from pdf2image import convert_from_path 2from PIL import Image 3import cv2 4import numpy as np 5 6image = convert_from_path("image.pdf") 7image = np.array(image) 8print(image.shape) #(2339,1654,3) 9image = cv2.resize(image,(841,595)) 10image = Image.fromarray(image) 11image.save("image.pdf")
回答1件
あなたの回答
tips
プレビュー