python中ghostscript的语法

2024-10-01 00:36:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在Linux上安装了python ghostscript。我可以从命令行运行gs,它将从pdf创建jpg。以下是有效的代码:

~$ gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -sOutputFile=/home/user/output.jpg /home/user/downloads/test.pdf

我试图在Python中运行该进程,但无法获得语法。我没有犯错,但什么也没发生。我试着阅读Popen/subprocess,但是我不明白为什么我调用的gs进程不能运行并创建文件。在

^{pr2}$

Tags: 代码命令行gshomepdf进程linuxjpeg
3条回答

为了测试出了什么问题,您可以将标准输出通过管道传输,如下所示:

import sys, subprocess

args = ['gs','-dSAFER','-dNOPAUSE','-dBATCH','-sDEVICE=jpeg','-sOutputFile=/home/user/output2.jpg /home/user/downloads/test.pdf']
output = Popen( args, stdout = sys.stdout, stderr = sys.stderr )

最后两个参数是连接的,因此无法工作;这实际上与在终端gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg '-sOutputFile=/home/user/output.jpg /home/user/downloads/test.pdf'中运行相同,这是您不希望工作的。在

把最后两个分开,就可以了:

output = Popen(['gs', '-dSAFER', '-dNOPAUSE', '-dBATCH', '-sDEVICE=jpeg', '-sOutputFile=/home/user/output2.jpg', '/home/user/downloads/test.pdf'])

这起作用了(python):

os.system('gs -dSAFER -dNOPAUSE -dQUIET -dBATCH -sDEVICE=jpeg -sOUTPUTFILE=/home/user/output2.jpg /home/user/Downloads/test.pdf')

相关问题 更多 >