Zamień obraz w pliku PDF za pomocą wiersza polecenia


11

Muszę przetworzyć niektóre pliki PDF. Zadanie polega na wymianie danego pliku obrazu na inny. Mój pierwszy problem dotyczy sposobu zastąpienia obrazu PDF z wiersza poleceń w procesie wsadowym. Następnie spróbuję rozwiązać inne problemy, takie jak określenie, który obraz muszę wymienić (ponieważ pliki PDF mogą zawierać więcej niż jeden obraz). Ale najpierw chcę rozwiązać pierwszy problem: jak zamienić obraz w pliku PDF na inny.

Czytałem o poppler-utils i pdftk, ale o ile wiem, żadne z tych narzędzi nie pozwala na zamianę obrazów na PDF.


1
Jeśli znajdziesz odpowiedź, naprawdę warto ją poznać. Po wyodrębnieniu „strony problemowej” można użyć ImageMagick, aby wstawić obraz do innego, a następnie przekonwertować go z powrotem do formatu pdf: imagemagick.org/Usage/layers Również: superuser.com/questions/614784/…
Konstantinos

Dzięki @pidosaurus Zastanawiałem się nad tymi opcjami, ale ma duży problem: implikuje konwersję pliku PDF (lub strony z podpisem) na obrazy. Jest to problem, ponieważ wynikowy plik PDF będzie miał znacznie większy rozmiar, a użytkownik nie może na przykład wybrać fragmentu tekstu do skopiowania i wklejenia.
Ivan

lookup konwersji z imagemagick, a jeszcze bardziej, narzędzia, które zapewniają ooconv z openoffice (obecnie libreoffice, właściwie) - kiedyś zatrudniłem kogoś, kto napisał konwerter PPT na PDF i były to używane narzędzia.
matematyka,

Żadne z narzędzi PDF, które znam, nie jest w stanie tego zrobić, ale napisanie nowego narzędzia przy użyciu biblioteki PDF z taką funkcjonalnością nie byłoby trudne. Jednym z problemów, które musisz rozwiązać, jest określenie określonego obrazu w pliku PDF.
reż

Odpowiedzi:


1

OK ... Myślę, że pdflatextutaj brakuje kawałka.

OP powiedział, że sprawdził poppler-utilsi pdftk. Pozwól mi dodać do tego pdfimages. Są to razem z pdflatexrozwiązaniami.

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

W powyższym przykładowym kodzie pdfimages przegląda strony od 4 do 20 target.pdfi wyodrębnia wszystkie obrazy do plików o rozpoczynających się nazwach imageroot.

poppler-utilszapewnia pdftotext. Polecam -layoutopcję, która wykonuje świetną robotę, utrzymując dokument czytelny dla człowieka.

pdftotext -layout $1.pdf $1.txt

Sprzeciw OP wobec imagemagickrozwiązania oferowanego przez pidozaura polega na tym, że obraz nie ma tekstu do wyodrębnienia. Dzięki narzędziom, które opisałem, OP będzie teraz zawierał wszystkie obrazy, a także cały wyodrębniony tekst, a numery stron i zawartość zostaną zachowane przez -layoutopcję. OP może zidentyfikować poprawną stronę tekstu i wrzucić go do .texpliku, który kończy się %includegraphicsdyrektywą i odnosi się do zastępczego obrazu według nazwy pliku. Następnie pdflatexto i powstaje nowy jednostronicowy plik .pdf, który można wstawić do reszty dokumentu pdftk. Jeśli wiesz, gdzie w tekście oryginalnej strony znajduje się obraz, możesz %includegraphics [h]i umieścić obraz we właściwym miejscu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.