Forum Informatica Libera
Ricerca testo su pdf e estrae pagine relative - Versione stampabile

+- Forum Informatica Libera (https://www.ergosumracalmuto.org/informaticalibera/forum)
+-- Forum: Software (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=11)
+--- Forum: Macro, scripting e programmazione generica (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=14)
+--- Discussione: Ricerca testo su pdf e estrae pagine relative (/showthread.php?tid=220)



Ricerca testo su pdf e estrae pagine relative - Marcof - 11/01/2020

Ciao a tutti.

Ho un file pdf di circa 6/7 MB ed avrei la necessità di ricercare un nome specifico nel suo interno e stampare solo le pagine che contengono quel nome. "Ingegnandomi", si fa per dire, sono riuscito a fare questo:

#!/bin/bash
pdfgrep -in "pippo" prova.pdf > prova.txt
sed -i 's/://g;s/ //g;s/pippo//g' ~/prova.txt
sed -i "s/$/ /g" prova.txt
cat prova.txt | tr -d "\n" > prova1.txt
sed -i 's/ *$//' prova1.txt
pdftk prova.pdf cat < prova1.txt output pippo.pdf
rm *.txt
exit

I comandi funzionano bene fino al comando "pdftk prova.pdf cat < prova1.txt output pippo.pdf".
È come se non venisse eseguito "cat < prova1.txt" infatti il file pdf che genera (pippo.pdf) è identico a quello iniziale (prova.pdf).
Mentre se provo ad eseguire quella riga sul terminale e gli sostituisco i valori contenuti nel file prova.txt, funziona.
Infatti "pdftk prova.pdf cat 16 19 23 27 output pippo.pdf, funziona benissimo. (i numeri si riferiscono ai numeri di pagina dove gli altri comandi hanno trovato la parola "pippo" nel file "prova.pdf").

Dove sbaglio?

Grazie a tutti



RE: Ricerca testo su pdf e estrae pagine relative - Marcof - 23/01/2020

...nessuno che può darmi una mano?


RE: Ricerca testo su pdf e estrae pagine relative - Frank - 06/02/2023

(11/01/2020, 17:40)Marcof Ha scritto: Ciao a tutti.

Ho un file pdf di circa 6/7 MB ed avrei la necessità di ricercare un nome specifico nel suo interno e stampare solo le pagine che contengono quel nome. "Ingegnandomi", si fa per dire, sono riuscito a fare questo:

#!/bin/bash
pdfgrep -in "pippo" prova.pdf > prova.txt
sed -i 's/://g;s/ //g;s/pippo//g' ~/prova.txt
sed -i "s/$/ /g" prova.txt
cat prova.txt | tr -d "\n" > prova1.txt
sed -i 's/ *$//' prova1.txt
pdftk prova.pdf cat < prova1.txt output pippo.pdf
rm *.txt
exit

I comandi funzionano bene fino al comando "pdftk prova.pdf cat < prova1.txt output pippo.pdf".
È come se non venisse eseguito "cat < prova1.txt" infatti il file pdf che genera (pippo.pdf) è identico a quello iniziale (prova.pdf).
Mentre se provo ad eseguire quella riga sul terminale e gli sostituisco i valori contenuti nel file prova.txt, funziona.
Infatti "pdftk prova.pdf cat 16 19 23 27 output pippo.pdf, funziona benissimo. (i numeri si riferiscono ai numeri di pagina dove gli altri comandi hanno trovato la parola "pippo" nel file "prova.pdf").

Dove sbaglio?

Grazie a tutti


Ciao, forse ti sara utile questo e comunque con una ricerca in google troverai mille esempi dell uso corretto del comando pdftk

https://it.comp.os.linux.iniziare.narkive.com/FZrzX2ox/estrarre-pagine-singole-da-un-pdf

Ciao :)