Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
  Condividi: Facebook Twitter
Ricerca testo su pdf e estrae pagine relative
#1
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
Cita messaggio
#2
...nessuno che può darmi una mano?
Cita messaggio
#3
(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.narkiv...-da-un-pdf

Ciao :)
_/_/_/_/_/                                      _/     
   _/        _/  _/_/    _/_/_/  _/_/_/  _/  _/ 
  _/_/_/  _/_/      _/     _/  _/    _/  _/_/     
 _/        _/         _/     _/  _/    _/   _/  _/   
_/        _/          _/_/_/  _/    _/  _/      _/
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)