Perl 以编程方式更改PDF中所有行的宽度
我用iPad应用程序制作了手写幻灯片,结果发现这条线太细,无法投射到房间的大屏幕上 不幸的是,该应用程序没有能力更改笔划宽度后。。。(天哪)但我有导出的PDF文件 作为一名程序员,我应该能够通过Perl 以编程方式更改PDF中所有行的宽度,perl,pdf,Perl,Pdf,我用iPad应用程序制作了手写幻灯片,结果发现这条线太细,无法投射到房间的大屏幕上 不幸的是,该应用程序没有能力更改笔划宽度后。。。(天哪)但我有导出的PDF文件 作为一名程序员,我应该能够通过 例如,将PDF上所有行的宽度更改两倍 所以,我的问题是,实现我的目标最简单的方法是什么。 例如,是否有一个Perl模块允许我检查PDF上的所有行 --更新 好的,我通过ps2pdf(使用Ghostscript)将PDF转换为PS文件,并使用文本编辑器将3w替换为6w等。(此处w是一个扩展到setline
例如,将PDF上所有行的宽度更改两倍 所以,我的问题是,实现我的目标最简单的方法是什么。 例如,是否有一个Perl模块允许我检查PDF上的所有行 --更新 好的,我通过
ps2pdf
(使用Ghostscript)将PDF转换为PS文件,并使用文本编辑器将3w
替换为6w
等。(此处w
是一个扩展到setlinewidth
的宏),然后我将生成的PS文件转换回PDF。问题解决了
但是有更好的方法吗?您可以使用Inkscape将.pdf转换为.svg,用一些脚本(例如Python,它不重要)对其进行解析,然后将其转换回.pdf。 如果这还不够程序化,则可以使用命令行选项:
>inkscape -l test.pdf output.svg
处理后返回:
>inkscape -l processed.svg final.pdf
谢谢你的意见。.svg比使用.ps作为中间文本表示更好吗?我一点也不知道.svg…我没有用过.ps,我不知道。svg是自解释的,所以通过脚本编辑它很容易。ps也是不言自明的。然后我相信你可以用脚本修改它。是的,我就是这么做的。。。(我用编辑器替换正则表达式;我可以用脚本来完成。)我想知道是否可以直接用PDF文件。。。