使用ImageMagick转换-非法参数

问题描述 投票:0回答:1

我正在尝试将PDF转换为JPG,主要目标是要有缩略图,以便用户可以在应用程序中预览PDF。

显然,ImageMagick是执行此操作的好方法,但到目前为止,我仍然无法将其转换为文件。

import subprocess

params = ['convert', '-density 300 -resize 220x205', 'dummy.pdf', 'thumb.jpg']
subprocess.check_call(params)

所以这就是我得到的,而不是转换文件:

Unzulässiger参数-300追溯(最近一次通话):文件“ pdf_preview_test.py”,第4行,在subprocess.check_call(PARAMS)文件“ C:\ Users \ EliasMessner \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ subprocess.py”,行347,在check_call中提高CalledProcessError(retcode,cmd)subprocess.CalledProcessError:命令'['转换','-密度300-调整大小220x205','dummy.pdf','thumb.jpg']'返回非零退出状态4。

我找不到有关该问题的任何信息。看来“ 300”参数是非法的,但是恕我直言,它已正确使用。非常感谢您的帮助。谢谢。

python-3.x subprocess imagemagick
1个回答
1
投票

当您在Windows上时,代码可能正在尝试内置的Windows转换程序。您不会说您正在使用Imagemagick上的哪个版本; V7使用magick而不是convert来防止出现此问题。

如果您允许Imagemagick在安装时将convert添加到环境路径中,则可能不会有问题-多次安装对我来说从来没有。

您可以尝试将convert转换为完整路径,以将“”中的路径包围起来。您可以重命名转换程序,例如myconvert并在程序中使用它而不是转换。

我会在命令行中尝试使用Imagemagick命令来证明它首先可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.