Замініть зображення в PDF за допомогою командного рядка


11

Мені потрібно обробити деякі файли PDF. Завдання полягає в обміні заданого файлу зображення іншим. Перша моя проблема - як замінити зображення PDF з командного рядка в пакетному процесі. Далі я спробую вирішити інші проблеми, наприклад, як визначити, яке зображення потрібно замінити (оскільки у файлах PDF може бути більше одного зображення). Але спершу я хочу вирішити першу проблему: як замінити зображення в PDF на інший.

Я читав про poppler-utils та pdftk, але, наскільки я знаю, жоден із цих інструментів не дозволяє замінити зображення в PDF.


1
Якщо ви знайдете відповідь, це буде цікаво знати. Після виділення "проблемної сторінки" ви можете використовувати ImageMagick, щоб вставити зображення в інший, а потім перетворити його назад у pdf: imagemagick.org/Usage/layers Також: superuser.com/questions/614784/…
Константинос

Дякуючи @pidosaurus, я розглядав ці параметри, але у нього є велика проблема: це передбачає перетворення PDF (або сторінки підпису) у зображення. Це проблема, оскільки отриманий PDF буде набагато більшим за розміром, і користувач не зможе вибрати фрагмент тексту, який потрібно копіювати та вставляти, наприклад.
Іван

пошук конвертації з Imagemagick, і, тим більше, інструменти, які ooconv з openoffice (тепер фактично libreoffice) - я одного разу найняв когось, щоб написати PPT в PDF-конвертер, і це були інструменти, які використовували.
математика

Жоден із інструментів PDF, які я знаю, не в змозі зробити це, але було б не важко написати новий інструмент, використовуючи бібліотеку PDF з цією функціональністю. Одна з проблем, яку вам доведеться вирішити, - це вказати певне зображення в PDF.
dirkt

Відповіді:


1

Гаразд ... Я думаю pdflatex, що тут відсутня деталь.

ОП заявила, що вивчила poppler-utilsта pdftk. Дозвольте додати до цього pdfimages. Вони разом із pdflatexшматочками розчину.

pdfimages -f 4 -l 20 -j -png target.pdf imageroot

У наведеному вище прикладі код pdfimages розглядає сторінки з 4 по 20 target.pdfта витягує всі зображення у файли, на яких починаються імена imageroot.

poppler-utilsзабезпечує pdftotext. Я рекомендую -layoutваріант, який виконує велику роботу, зберігаючи документ читабельним.

pdftotext -layout $1.pdf $1.txt

Заперечення ОП проти imagemagickрішення, запропонованого підозавром, полягає в тому, що на зображенні немає тексту, який можна витягнути . З утилітами, які я окреслив, ОП тепер матиме всі зображення, а також увесь витягнутий текст, а номери сторінок і вміст зберігаються -layoutопцією. ОП може визначити правильну сторінку тексту та вписати її у .texфайл, який закінчується %includegraphicsдирективою та посилається на зображення заміни за назвою файлу. Потім ви pdflatexце і закінчуєте новим односторінковим .pdf, який потрібно вставити в решту документа pdftk. Якщо ви знали, де в тексті оригінальної сторінки %includegraphics [h]розміщувалося зображення, ви можете отримати зображення саме в потрібному місці.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.