Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 以编程方式更改PDF中所有行的宽度_Perl_Pdf - Fatal编程技术网

Perl 以编程方式更改PDF中所有行的宽度

Perl 以编程方式更改PDF中所有行的宽度,perl,pdf,Perl,Pdf,我用iPad应用程序制作了手写幻灯片,结果发现这条线太细,无法投射到房间的大屏幕上 不幸的是,该应用程序没有能力更改笔划宽度后。。。(天哪)但我有导出的PDF文件 作为一名程序员,我应该能够通过 例如,将PDF上所有行的宽度更改两倍 所以,我的问题是,实现我的目标最简单的方法是什么。 例如,是否有一个Perl模块允许我检查PDF上的所有行 --更新 好的,我通过ps2pdf(使用Ghostscript)将PDF转换为PS文件,并使用文本编辑器将3w替换为6w等。(此处w是一个扩展到setline

我用iPad应用程序制作了手写幻灯片,结果发现这条线太细,无法投射到房间的大屏幕上

不幸的是,该应用程序没有能力更改笔划宽度后。。。(天哪)但我有导出的PDF文件

作为一名程序员,我应该能够通过
例如,将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文件。。。