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

Pip*_*pin 3 pdf bash sed

我有一本 PDF 格式的书,但我无法使用sed. 我无法真正使用 LibreOffice 来编辑它,因为它是一个 300 页的文档,其中包含大量图像,而且我的电脑在打开过程中会崩溃。我所需要做的就是仅在一个位置更改一两个字符(例如,将“+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
Run Code Online (Sandbox Code Playgroud)

这段代码与另一个文件一起工作,我怀疑某些 PDF 文件阻止编辑,我正在寻找一种方法来绕过它。

Vec*_*tec 5

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

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

因此,如果这是 myShell.sh,则命令行如下:

myShell.sh yourFile.pdf +2 +3
Run Code Online (Sandbox Code Playgroud)

应该这样做。