无法使用sed命令编辑pdf文件

时间:2019-02-18 14:26:14

标签: bash pdf sed

我有一本PDF格式的书,使用sed无法更改其中的任何内容。我真的不能使用LibreOffice进行编辑,因为它是一个300页的文档,其中包含很多图像,并且在打开过程中PC会崩溃。我要做的就是仅在一个位置上更改一个或两个字符(例如,将“ +2”更改为“ +3”,其中“ +2”在整本书中仅出现一次),因此解决方案应该是基本的

我将其解压缩,然后尝试在其上使用sed,尽管sed会返回echo $?,但是0并没有做任何更改。

pdftk file.pdf output uncompressed_file.pdf uncompress
sed -i 's/foo/bar/g' uncompressed_file.pdf
pdftk uncompressed_file.pdf output corrected_file.pdf compress

此代码可与另一个文件一起使用,我怀疑某些PDF文件会阻止编辑,因此我正在寻找一种绕过该方法的方法。

1 个答案:

答案 0 :(得分:0)

我已经使用了shell命令来执行此操作。

qpdf --stream-data=uncompress $1 uncompressed.pdf
sed -i "s/("$2")/("$3")/g" uncompressed.pdf
qpdf --stream-data=compress uncompressed.pdf $1

因此,如果这是myShell.sh,则使用命令行,例如,

myShell.sh yourFile.pdf +2 +3

应该这样做。