Sostituisci un'immagine in un PDF usando la riga di comando


11

Devo elaborare alcuni file PDF. L'attività consiste nello scambio di un determinato file di immagine con un altro. Il mio primo problema è come sostituire un'immagine PDF dalla riga di comando in un processo batch. Successivamente proverò ad affrontare altri problemi come come identificare quale immagine devo sostituire (perché i file PDF possono avere più di un'immagine). Ma prima voglio risolvere il primo problema: come sostituire un'immagine in un PDF con un'altra.

Ho letto di poppler-utils e pdftk ma, per quanto ne so, nessuno di questi strumenti consente di sostituire le immagini in PDF.


1
Se trovi una risposta, sarà davvero interessante saperlo. Dopo aver isolato la "pagina del problema", è possibile utilizzare ImageMagick per inserire un'immagine in un'altra e quindi riconvertirla in pdf: imagemagick.org/Usage/layers Inoltre: superuser.com/questions/614784/…
Konstantinos

Grazie a @pidosaurus stavo considerando queste opzioni ma ha un grosso problema: implica convertire il PDF (o la pagina della firma) in immagini. È un problema perché il PDF risultante avrà dimensioni molto maggiori e l'utente non potrebbe selezionare un pezzo di testo da copiare e incollare, ad esempio.
Ivan,

la ricerca converte da imagemagick, e molto altro ancora, gli strumenti che offrono Ooconv da OpenOffice (ora libreoffice, in realtà) - Una volta ho assunto qualcuno per scrivere un convertitore PPT in PDF e questi erano gli strumenti utilizzati.
matematica

Nessuno degli strumenti PDF che conosco è in grado di farlo, ma non sarebbe molto difficile scrivere un nuovo strumento utilizzando una libreria PDF con quella funzionalità. Un problema che dovrai risolvere è come specificare una particolare immagine in un PDF.
Dirkt

Risposte:


1

OK ... Penso che pdflatexsia il pezzo mancante qui.

L'OP ha detto che ha esaminato poppler-utilse pdftk. Vorrei aggiungere a quello pdfimages. Questi, insieme a pdflatexsono i pezzi di una soluzione.

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

Nel codice di esempio sopra, pdfimages cerca tra le pagine da 4 a 20 di target.pdfed estrae tutte le immagini in file con nomi che iniziano imageroot.

poppler-utilsfornisce pdftotext. Raccomando l' -layoutopzione che fa un ottimo lavoro mantenendo il documento leggibile dall'uomo.

pdftotext -layout $1.pdf $1.txt

L'obiezione del PO alla imagemagicksoluzione offerta dal pidosauro è che un'immagine non ha testo estraibile. Con le utility che ho delineato, l'OP ora avrà tutte le immagini e tutto il testo estratto, e i numeri di pagina e i contenuti sono conservati -layoutdall'opzione. L'OP potrebbe identificare la pagina corretta del testo e inserirla in un .texfile che termina con una %includegraphicsdirettiva e fa riferimento all'immagine sostitutiva per nome file. Quindi pdflatexquesto e si finisce con un nuovo .pdf a pagina singola da inserire nel resto del documento con pdftk. Se sapessi dove risiedeva nel testo della pagina originale, puoi %includegraphics [h]e ottenere l'immagine esattamente nel posto giusto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.