Не могу редактировать pdf файл с помощью команды sed - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть книга в формате 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-файлы мешают редактированию, и я ищу способ обойти это.

1 Ответ

0 голосов
/ 17 марта 2019

Я использовал команду оболочки для этого.

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

, должна это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...