我有一本 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
这段代码适用于另一个文件,我怀疑某些 PDF 文件会阻止编辑,我正在寻找绕过它的方法。
最佳答案
我已经使用 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
应该这样做。
关于bash - 无法使用sed命令编辑pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54749404/