我有一个简单的代码将 pdf 转换为 jpg。 我需要 jpg 输出为 1200 x 1500 像素和 4 x 5 英寸。我需要 300 dpi。 当我运行代码时,它会生成 96 dpi 的 jpeg(1200 x >1500 - 但我想保持比例)。我检查了文档,但无法找到如何更改 dpi 输出。我获取了该文件并使用 Windows 原生画图程序对其进行裁剪,以获得 1200 x 1500 像素。当我从画图软件中保存它时,它的分辨率是 120 dpi。
import os
from pdf2image import convert_from_path
rel_path = os.path.dirname(__file__)
my_pdfs = ['IN.pdf']
my_jpgs = ['OUT.jpg']
for in_file, out_file in zip(my_pdfs, my_jpgs):
filetoconvert = os.path.join(rel_path, in_file)
filetosave = os.path.join(rel_path, out_file)
page = convert_from_path(filetoconvert, dpi=600, fmt='jpeg',
jpegopt={
'quality':95,
'progressive':True,
'optimize':True},
size=(1200,None)
)
#print(type(page))
for pp in page:
pp.save(filetosave, 'JPEG')
如何用pdf2image指定输出jpg的dpi?
您可以通过传递 DPI 的第二个参数来指定输出 jpg Convert_from_path 方法的 dpi,如下所示
from pdf2image import convert_from_path
pages = convert_from_path('sample.pdf', 400) #400 is the Image quality in DPI (default 200)
pages[0].save("sample.png")