我正在编写一个脚本来批量编辑一个包含1000多个PDF的文件夹,并将它们转换为SVG。下面的代码有效。但是每个文件都有两次Inkscape启动和退出。鉴于我有这么多的文件要处理,我想知道我是否可以加快它。你知道吗
Inkscape有一个命令行shell模式,可以使用inkscape --shell
进入该模式。可以从Python访问shell模式吗?如果是这样的话,我该怎么做呢?这会有助于加快速度吗?(我试过通过subprocess
发送inkscape --shell
,但没有效果。)
import subprocess
directory = os.path.dirname(os.path.abspath(__file__))
pdfList = [f for f in glob.glob("*.pdf")]
inkscapePath = 'C:/Program Files/Inkscape/inkscape.exe'
outputfolder = os.path.join(directory, 'output')
if not os.path.exists(outputfolder):
os.makedirs(outputfolder)
for idx, filename in enumerate(pdfList):
filenameNoExt = filename[:-4]
p = subprocess.call([inkscapePath,
directory + '/' + filenameNoExt + '.pdf',
'--export-plain-svg=' + outputfolder + '/' + filenameNoExt + '.svg'])
p = subprocess.call([inkscapePath,
'--file=' + outputfolder + '/' + filenameNoExt + '.svg',
r'--verb', 'EditSelectAll',
r'--verb', 'FitCanvasToDrawing',
r'--verb', 'ObjectToPath',
r'--verb', 'FileSave',
r'--verb', 'FileQuit'])
(This thread相关,但没有帮助。)
目前没有回答
相关问题 更多 >
编程相关推荐