Modificare i file PDF in tutti i modi possibili

Il formato PDF è ottimo per gestire i documenti, però è un po’ ostico per quanto riguarda le modifiche. Nonostante questo, ci sono molte operazioni possibili per ritoccare i documenti PDF e adattarli alle proprie esigenze. Cercherò in questo articolo di raccogliere (forse ambiziosamente) tutte le operazioni che il nostro amato Linux ci consente (descritte in almeno un modo tra quelli disponibili).

Quindi è probabile che in futuro il post venga ulteriormente aggiornato, probabilmente grazie ai vostri commenti e suggerimenti! Non parlerò dei molti modi per creare file PDF, visto che sono cose che moltissimi sanno già e comunque esula dallo scopo dell’articolo. Vi anticipo già che sul blog di Aldo, sempre piacevole da leggere, trovate un articolo simile. Abbiamo avuto la stessa idea senza saperlo e la cosa ci ha divertito.

I programmi utilizzati

Per non rendere l’articolo più complicato da leggere vi elenco qui tutti gli strumenti usati. Chiaramente tutto dipende da quale operazione volete fare (quindi non è detto che vi serviranno tutti). Rispetto ad Aldo io mischio un po’ gli strumenti ad interfaccia grafica con quelli a linea di comando, spero che non sia un problema.

Vi posso dire per certo che trovate tutti questi componenti nel gestore pacchetti di Ubuntu, ma sono convinto che qualsiasi distribuzione tra quelle più famose li comprenda nei propri repository.

Modifiche relative all’ordine delle pagine

Dividere un PDF in più parti

Pdfsam fornisce diverse opzioni attraverso l’interfaccia grafica alla sezione Split, tra le quali:

  • burst (divisione in pagine singole)
  • divisione dopo n pagine
  • divisione ogni n pagine
  • divisione delle pagine pari o dispari

Unire vari PDF

In questo caso pdfsam permette un semplice accodamento di più documenti, cosa che si può ottenere anche con pdftk usando questo comando:

pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

Eliminare/tenere solo alcune pagine

Usando PDF-Shuffler è possibile selezionare col mouse una o più pagine (aiutandosi con i tasti Shift o Ctrl) e poi premere Canc per eliminarle. Se invece un documento contiene molte pagine e se ne vogliono preservare solamente alcune è più semplice farlo da terminale. Cito l’ottimo esempio dal post di Aldo:

Col seguente comando estraiamo le pagine 3, dalla 10 alla 20, 25, 28, 32, dalla 45 alla fine.

pdftk input.pdf cat 3 10-20 25 28 32 45-end output output.pdf

Modificare arbitrariamente l’ordine delle pagine

Tramite PDF-Shuffler si possono accodare più PDF (oppure lavorare su uno solo) e poi spostare le pagine semplicemente tramite drag’n’drop.

Alternare le pagine tra due PDF distinti (interleave)

Questo si rivela utile nel caso in cui sia necessario modificare separatamente le pagine pari da quelle dispari (per esempio per ritagliare con margini diversi) oppure quando abbiamo un documento PDF con 2 pagine per foglio che vogliamo spezzare in modo da avere pagine singole. Le istruzioni per il ritaglio le vedremo dopo, intanto supponiamo di avere due documenti, dispari.pdf e pari.pdf, da voler alternare. Il trucco l’ho trovato sul blog Binary Static, e consiste nel fare il burst dei due PDF usando nomi opportuni per le pagine, in modo che poi vengano ordinate correttamente.

pdftk dispari.pdf burst output %04d_A.pdf
pdftk pari.pdf burst output %04d_B.pdf

Si provvede dunque all’unione di tutte le pagine (è importante che non ci siano altri file PDF estranei nella stessa directory):

pdftk *.pdf cat output out.pdf

Preparare la stampa a libretto (booklet)

Per realizzare autonomamente un libretto da stampare su fogli che poi andranno piegati e rilegati insieme, è necessario ridisporre le pagine in modo che l’ordine sia corretto una volta che viene fatta la rilegatura. Si può fare facilmente passando per il formato PS (PostScript). I comandi sono i seguenti:

pdftops documento.pdf output.ps
psbook output.ps tmp.ps
psnup -pA4 -2 tmp.ps booklet.ps
rm output.ps tmp.ps
ps2pdf booklet.ps
rm booklet.ps

In pratica si converte il documento in PostScript e si ordinano le pagine a libretto. Si usa psnup (vedi più sotto) per metterlo su due pagine in formato A4 (ovviamente si può cambiare) e poi si riconverte il file ottenuto in PDF. Qua e là si fa un po’ di pulizia. Sulle differenze tra pdf2ps e pdftops consiglio di leggere questo articolo. Ricordatevi infine, quando stampate, di fare correttamente il fronte-retro!

Modifiche sull’aspetto delle pagine

Ruotare le pagine

Il modo più comodo di ruotare di 90° o 180° a piacimento alcune (o tutte le) pagine di un PDF, è quello di usare PDF-Shuffler. Una volta selezionate le pagine desiderate (aiutatevi sempre con i tasti Ctrl o Shift), cliccate col destro per scegliere dal menu come ruotarle. Una volta finito esportate il file. Si possono ruotare le pagine anche tramite il terminale usando pdftk: consultate l’articolo di Aldo per questo aspetto.

Ritagliare i margini

Se volete ritagliare approssimativamente i bordi delle pagine, il metodo più facile è usare ancora PDF-Shuffler. Il menu contestuale ha una voce per il ritaglio, la nuova finestra che si apre vi chiede un valore in percentuale per ogni lato. Ricordate che questo valore è sempre relativo alla pagina di partenza, anche se lo cambiate successivamente.

Se invece avete un documento con bordi precisi dove ritagliare, dovrete ricorrere a un sistema un po’ più macchinoso. Per questo avrete bisogno innanzitutto di convertire la pagine da ritagliare in una immagine dalla quale misurare dei pixel. Ne approfitto quindi per dirvi come convertire un PDF in immagini. Usate ImageMagick in questo modo:

convert -density 288 documento.pdf -resize 25% documento.jpg

Il trucco di usare una risoluzione di 288 e poi riscalare del 25% si chiama supersampling e consente di avere un’immagine precisa e con l’antialiasing. Dovete quindi aprire l’immagine con Gimp o un altro editor di immagini e misurare i pixel che volete tagliare da ogni lato. Una volta fatto questo, salvate questo codice in Python dentro a un file chiamato pdf_crop.py e dategli i permessi di esecuzione. Usatelo nel seguente modo:

pdf_crop.py -p 1.0 -m "10 20 30 40" -i documento.pdf

Cambiate i valori in pixel: in questo esempio lo script taglia il documento di 10 pixel a sinistra, 20 in alto, 30 a destra e 40 in basso.

Nei commenti è stato suggerito anche Briss, che consente di ritagliare una o più zone, in modo da poter anche dividere una pagina in più parti. Purtroppo non è disponibile nei repository però vale la pena provarlo.

Ridimensionare le pagine

Anche in questo caso si può lavorare con il documento convertito in PostScript. Si usa quindi psresize per cambiare il formato di carta e ridimensionare per il meglio il documento. Tenete presente che dovete conoscere la dimensione in centimetri prima e dopo il ridimensionamento, e calcolare che livello di percentuale è richiesto. Per esempio, per ridimensionare un A4 in A5, dovete scalare circa del 70% (cioè 0.7) e passare da una dimensione di 21×29.7 cm a una di 14.85×21 cm.

pdftops documento.pdf output.ps
pstops "1:0@0.7" output.ps scalato.ps
psresize -w 21cm -h 29.7cm -W 14.85cm -H 21cm scalato.ps ridimensionato.ps
ps2pdf ridimensionato.ps
rm output.ps scalato.ps ridimensionato.ps

Mettere più pagine in una

Come accennavo prima, per disporre più pagine in una in un documento PostScript, si può usare il comando psnup. Ad esempio, per mettere 4 pagine in una su un foglio A4, potete fare così:

pdftops documento.pdf output.ps
psnup -PA4 -4 output.ps multipagina.ps
ps2pdf multipagina.ps
rm multipagina.ps output.ps

Operazioni relative all’intero documento

Riparare un PDF danneggiato

In alcuni casi un file PDF con piccoli difetti può essere letto male dai lettori, ma si può tentare di recuperarlo. Per farlo, dovete semplicemente “unire” quel file a nessun altro, con uno dei metodi che ho indicato inizialmente (pdftk oppure pdfsam).

Sbloccare le operazioni sui PDF

Alcuni file vengono creati con il blocco su alcune operazioni, come ad esempio la stampa oppure la copia del testo. Su Linux quasi sempre non è un problema, visto che questi blocchi sono ignorati da vari lettori, però se dovete passare un documento a una persona che usa Adobe Reader potrebbe tornare utile sbloccare il PDF.

Per farlo, aprite il file in PDF-Shuffler e poi esportatelo semplicemente. In alternativa si può usare il sito PDFUnlock! per documenti fino a 5MB. Tenete presente che questo metodo funziona solo per i PDF con permessi bloccati (stampa, copia, …) e non con i PDF protetti da password per la lettura, i quali non si possono sbloccare così facilmente.

Se il file è un PDF in versione 1.5 (invece della più diffusa 1.4) PDF-Shuffler può aver problemi a esportarlo. In questo caso, avete due ulteriori alternative un po’ meno ottimali al sito PDFUnlock!:

  • convertire il file in PS e poi di nuovo in PDF come spiegato nel paragrafo successivo (relativo alla compressione)
  • aprirlo con Evince e usare la funzione di stampa “su file” per creare un nuovo PDF (perderete l’orientamento delle pagine orizzontali)

Comprimere gli elementi grafici per ridurre il peso

Di questo avevo già parlato in un altro post, in sostanza si tratta di convertire in PS e poi di nuovo in PDF: quando il documento contiene immagini molto pesanti, queste vengono compresse automaticamente.

pdftops input.pdf tmp.ps
ps2pdf tmp.ps compresso.pdf
rm tmp.ps

Aggiornamento 29/03/2015: esiste un altro metodo che in genere dà risultati migliori e permette una regolazione più precisa. Potete usare Ghostscript per creare un nuovo file scegliendo il livello di qualità delle immagini, in questo modo:

gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dCompatibilityLevel=1.4 -r75 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compresso.pdf input.pdf

Le varie qualità disponibili sono le seguenti, come indicate in questo sito:

-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi images)
-dPDFSETTINGS=/printer  (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default  (almost identical to /screen)

Per ulteriori opzioni, fate riferimento al sito linkato sopra.

Modificare i metadati

Per cambiare le informazioni interne, come l’autore del documento, è utile prima di tutto estrapolare quelle che ci sono già:

pdftk input.pdf dump_data output info.txt

Poi si può modificare il file di testo con le opportune informazioni, e riscriverle così:

pdftk input.pdf update_info info.txt output output.pdf

Ringrazio Aldo, perché ho estratto queste istruzioni dal suo post. Cito inoltre questo stralcio dove dice che parametri si possono inserire.

Un esempio di elenco di metadati:

InfoKey: Title
InfoValue: Titolo del PDF
InfoKey: Subject
InfoValue: Soggetto del PDF
InfoKey: Keywords
InfoValue: Parole, Chiave, Del, PDF
InfoKey: Author
InfoValue: Autore del PDF

Estrarre i font

Se volete estrarre un carattere incorporato da un documento, potete usare FontForge. Aprite il programma e vi si presenterà la schermata Open font. Su Filter impostate Extract from PDF e poi selezionate il vostro file. Tenete conto che molti font nei PDF contengono solo un sottoinsieme dei caratteri, e molto spesso i font sono protetti da copyright. In alcuni casi sarà FontForge a rifiutarsi di estrarre il font.

Una volta aperto il carattere ci sono diverse ottimizzazioni da fare, leggete questo articolo per i dettagli.

Estrarre le immagini

Questo è uno dei compiti più semplici. Il seguente comando creerà una serie di immagini in formato XPM il cui nome inizia per estratta-.

pdfimages documento.pdf estratta

Estrarre il testo

Per convertire un PDF in formato TXT basta fare:

pdftotxt documento.pdf

Se volete soltanto ricercare all’interno dei documenti PDF, forse è più conveniente installare e adoperare pdfgrep. Vedete anche il paragrafo successivo riguardante il testo contenuto nelle immagini.

Effettuare l’OCR dei PDF contenenti immagini

È possibile “sovraimporre” il testo sulle immagini di un PDF in modo da renderlo ricercabile. Ho scritto un post a riguardo in cui spiego le limitazioni delle soluzioni open source e propongo l’uso di un software tramite Wine.

Annotare e riempire i moduli

Esistono due tipi di moduli PDF. Alcuni documenti contengono dei veri e propri campi modificabili, in tal caso un lettore PDF come Evince li può tranquillamente compilare. Provate questo documento di esempio per vedere personalmente.

Se invece avete un PDF che ha semplicemente l’aspetto di un modulo e su cui volete scrivere, oppure un qualsiasi testo da annotare, potete semplicemente aprirlo con Xournal. Il programma vi fornisce un semplice strumento testo per inserire scritte dove volete e permette evidenziare o disegnare linee. Una volta finito, cliccate su File > Export to PDF per salvare un nuovo documento modificato.

Se volete fare modifiche con strumenti di disegno avanzati, potreste provare anche Inkscape. Dovete però ricordarvi che Inkscape gestisce una pagina alla volta, e se non avete installati i font presenti nel PDF le scritte potrebbero apparire diverse, sballando un po’ l’aspetto complessivo. In compenso con Inkscape avete la maggior libertà d’azione possibile, potendo spostare oggetti, eliminarli e aggiungerne di altri. Alla fine potete esportare di nuovo in PDF.

Convertire il PDF in formato PDF/A

Il formato PDF/A è la “versione ISO” del formato PDF. Serve per documenti che devono essere conservati per anni con la garanzia di poterli sempre aprire. Pertanto a volte serve convertire un PDF in PDF/A, specialmente PDF/A-1b.

Ho fatto molti esperimenti su questo punto, ma ci sono ancora diversi problemi da sistemare prima di trovare un metodo sicuro e abbastanza automatico per usare GhostScript convertendo in PDF/A, lo stesso dicasi per i PDF prodotti con LaTeX e il pacchetto pdfx.

Consiglio pertanto l’uso di un convertitore online, come ad esempio quello di webPDF, utilizzabile cliccando qui.

95 pensieri riguardo “Modificare i file PDF in tutti i modi possibili

  1. Per quanto riguarda il workflow che ho in mente è il seguente:
    1) scrittura dell’esercizio in latex e compilazione per ottener eil pdf;
    2) controllo di non aver fatto errori di copiatura e pianificazione dei primi conti da svolgere;
    3) scrittura del file tex con i conti e i passaggi pianificati al punto precedente e compilazione del file;
    4) controllo del file PDF e eventuale aggiunta di annotazioni e semplificazioni con programma tipo annotator;
    5) ripetizione dei punti 3) e 4) fino a quando l’esercizio non viene terminato;
    6) passaggio ad un esercizio successivo;

  2. Se mi si concede un ot… Uso pdf shuffler da anni, ma ogni tanto, quando sono su computer in giro non Linux, non so mai che pesci pigliare per fare selezione delle pagine pdf.

    Esiste mica un alter ego di pdf shuffler per winzozz?

  3. Coseno Zini, ah ok, ora è più chiaro.

    Io ho provato a usare Jarnal, che permette di caricare un pdf come sfondo, ma non di tenerlo poi separato dalle annotazioni (io almeno non ci sono riuscito, né ho trovato tutorial a riguardo).

    Ma per tenere le due cose staccate, non potresti usare Xournal (che è anche citato nel post)? 😀

    il ragazzo usa Windows 10 e fargli cambiare SO non è così semplice

    Xournal rilascia build anche per Windows, almeno presumo vedendo il sito… comunque su questo blog si parla generalmente di Linux. 😉

    è troppo lento nella digitazione dei comandi latex

    Be’, a mio modesto parere sarebbe molto più pratico lavorare con LyX per questo genere di cose, invece di usare LaTeX direttamente. 😛

    Marco, magari fosse solo il problema di riordinare le pagine. 😀 Quello per fortuna si riesce a fare in qualche modo… l’incubo diventa fare dei ritagli in modo “umano”. Comunque sia, credo che tu ti sia perso questo mio post su Facebook:

    https://facebook.com/51001739727/posts/10154115602519728

  4. Buongiorno, ho la necessità di svolgere il seguente lavoro :
    Ho 1 file PDF che contiene lettere di “presentazione” che quindi vanno – singolarmente- come prima pagina, e a seguire 2 modelli F24 ma in PDF singoli (es: Lettere di tutti i contribuenti in un unico PDF e F24 singoli di MARIO ROSSI MARIO ROSSI – MARIO BIANCHI MARIO BIANCHI – MARIO VERDI MARIO VERDI)
    Come è possibile unire i due PDF in modo che la lettera di presentazione di MARIO BIANCHI anticipi i relativi F24, e così via per tutti i contribuenti ?
    Ringrazio per l’attenzione
    Giulia

    1. Come è possibile unire i due PDF in modo che la lettera di presentazione di MARIO BIANCHI anticipi i relativi F24, e così via per tutti i contribuenti ?

      Come scritto nel post, puoi riordinare le pagine come preferisci usando PDF-Shuffler:

      Tramite PDF-Shuffler si possono accodare più PDF (oppure lavorare su uno solo) e poi spostare le pagine semplicemente tramite drag’n’drop.

  5. Ciao, vorrei allargare le diapositive delle dispense pdf (universitarie). Perché ad esempio quando si stampa, la pagina non sfrutta mai tutto lo spazio e quindi rimane molto bordo complicandone la lettura, perché i caratteri sono troppo piccoli, non sfruttando tutto lo spazio del foglio stampato.
    Forse la soluzione è scritta nel “paragrafo” “Ridimensionare le pagine” di questa pagina del tuo sito? Ma non credo.
    Grazie.

    1. Se il tuo obiettivo è quello di ritagliare i bordi dal PDF originale, la soluzione più semplice è seguire appunto quanto scritto nella sezione Ritagliare i margini. 🙂

      Se invece la pagina va bene ma la stampi semplicemente piccola, non devi modificare il file. Ti basta aggiustare le impostazioni che usi per stampare.

  6. Io ho un altro tipo di problema. Ho in ogni pagina più slides che vorrei dividere in pagine singole. C’è un modo per ritagliare queste slides?

    1. Certamente, supponendo per esempio che tu abbia due slide per pagina ti basta:

      • effettuare due copie del file
      • ritagliare i margini del primo PDF tenendo solo la parte delle slide dispari, e il secondo solo con quelle pari
      • fare l’interleave delle pagine pari e dispari come spiegato nel post
      • fare la compressione (vedi post) in modo da togliere gli elementi ormai invisibili che sono rimasti dopo il ritaglio

      Ti conviene farti uno script bash con i comandi di ritaglio e unione così da non doverli digitare ogni volta mentre calcoli con precisione i margini da ritagliare. Io di solito facevo 4-5 prove cambiando un po’ i valori finché non ottenevo la precisione desiderata.

  7. Molto interessante, complimenti e grazie, ha arricchito il mio bagaglio mai sazio. Tuttavia stavo cercando la soluzione ad un problema che ogni tanto mi si pone: a fine mese ricavo una lista con dei conteggi per l’erogazione di carburante da un programma che me li salva esclusivamente in pdf (lasciamo stare la questione del programma, che è una battaglia che sto combattendo ancora ora). Capita spesso che il conteggio di un veicolo venga riportato su in parte su una pagina e in seguito sull’altra. A volte risolvo salvando il documento in Word ma non è la prima volta che mi capita che qualche riga del conteggio finisca per non so quale motivo nel “pié di pagina”, creando una gran confusione.

    Esiste un modo per spostare i dati del conteggio diviso in due pagine, in una pagina sola?
    (a volte le soluzioni sono davanti al naso, ma le cerco lontano…)

    Ringrazio sin d’ora per l’attenzione! Un carissimo saluto!

    1. Se devo essere sincero, il quesito mi ha un po’ confuso. Prima dici che un software ti esporta solo in formato PDF, poi dici che modifichi il documento Word? In ogni caso se il programma che usi ti spezza i dati suppongo sia perché finisce il foglio, quindi in termini di rapidità ha più senso far generare un PDF con un formato di pagina un po’ più largo (magari 35cm di altezza invece di 29,7cm) oppure con i margini più ridotti, e poi stamparlo scalato su un A4.

  8. Ciao Andrea (e un saluto a tutti i seguaci del sito). Domanda: ho due fogli formato A4 (già in formato pdf); mi occorre ottenere un foglio formato A3 con i due A4 testé citati, uno accanto all’altro. Come devo procedere?!??

    1. L’articolo contiene già le istruzioni per mettere più pagine in una. Basta assicurarsi che il PDF di partenza abbia le pagine ruotate nel modo corretto in modo che vengano affiancati come si vuole.

  9. Andrea,
    scusami ma non so mettere le mani nel tuo programma python per ritagliare i margini.
    Quindi volevo chiederti se esiste un sistema più semplice per risolvere un problema che non credo sia solo mio.
    Il SSN adesso inia le ricette del medico tramite posta elettronica. Ogni prescrizione ha un formato A5 orizzontale ed occupa la parte superiore di un foglio A4 verticale. Quindi se devo stampare più ricette ho un certo spreco di carta. Riesco a risolvere il problema con PDF Master editor ma, se le ricette sono più di 4 ci si perde un bel po’ di tempo.
    È possibile realizzare uno script Linux che automatizzi la procedura?
    Suggerimenti?

    In ogni caso grazie per tutti i preziosi consigli che ho trovato nelle tue pagine.
    Andrea


    forse dovevo specificare meglio quello che vorrei fare:

    • aprire i vari file, ognuno con un foglio A4
    • tagliare i fogli in due A5 e conservare solo la parte superiore
    • unire a due a due i fogli A5 con le prescrizioni.

    andrea

  10. Lo script non l’ho creato io. 🙂 Ad ogni modo quello che hai descritto si può fare tutto con PDF-shuffler (tranne l’ultimo passo, 2 pagine in 1, che si fa nelle opzioni di stampa del lettore PDF):

    • prima unisci tutti gli A4 con PDF shuffler
    • poi, prima di salvare, ritagli tutte le pagine del 50% sul lato inferiore

    Infatti nel post c’è questa parte che fa al caso tuo:

    Se volete ritagliare approssimativamente i bordi delle pagine, il metodo più facile è usare ancora PDF-Shuffler. Il menu contestuale ha una voce per il ritaglio, la nuova finestra che si apre vi chiede un valore in percentuale per ogni lato.

    Riguardo alla tua domanda:

    È possibile realizzare uno script Linux che automatizzi la procedura?

    Volendo sì, se se interessato puoi inviarmi una richiesta dettagliata con il modulo di contatto e ti risponderò al più presto.

  11. Sto digitalizzando, con uno scanner A3 delle vecchie riviste di storia, e le scannerizzo in formato jpg e poi con Scan Tailor divido le pagine per poi riunirle in un unico file pdf., ma è procedimento molto lungo, a differenza di quando posso usare la stampante Kyocera TASKAlpha del mio ufficio che digitalizza dall’A3 all’A4 in pochi minuti una rivista di 70 pagine.Il mio quesito è questo:esiste un programma che permetta di digitalizzare una rivista, utilizzando com input il formato A3 e come output l’A4,sempre IN PDF?

  12. Ci sono diversi modi. Uno è quello suggerito nel post e nei commenti precedenti: fare due copie del PDF, uno tagliato a sinistra, l’altro a destra, e infine fare interleave e compressione.

    L’altro è usare unpaper, che tra l’altro si può anche attivare comodamente tramite Gscan2pdf.

    Poi c’è anche Briss (sempre discusso nel link precedente).

  13. Buongiorno, guida molto utile sul mondo Pdf.
    Io avrei un’altra esigenza. Ho migliaia di pdf formato A6 fronte/retro che vorrei unire su A4 fronte/retro. Quindi in modo da stampare 4 A6 su 1 A4.
    E’ fattibile una operazione del genere?
    Grazie

    1. Certo, infatti l’atto di mettere più pagine in una è un’operazione che ho trattato nel post. 🙂

  14. Il programma pdfbook trasforma un pdf a4 in libretto a5 con un comando simile a:

    pdfbook filedipartenza.pdf --outfile fileprodotto.pdf
    

    Facile!

    Daniele

    1. Grazie per la segnalazione. Al tempo non lo avevo incluso perché richiede di aver installato LaTeX, quindi sono svariati MB di spazio per fare un semplice booklet. 🙂

      Su Ask Ubuntu ci sono anche altre soluzioni interessanti: https://askubuntu.com/q/214538/271

      Aggiornamento: anzi, aspetta… tu ti riferisci a pdfbook basato su LaTeX o a pdfbook parte di pdfjam? 😀 Sembra che siano due cose diverse.

  15. Articolo molto interessante, complimenti.
    Ho un quesito: devo disporre una serie di file pdf composti da una singola pagina di dimensioni variabili in un nuovo documento pdf di un’unica pagina, di dimensioni fisse, posizionandoli secondo cordinate precise (ovviamenti i file di partenza sono di dimensioni inferiori al documento di output), è possibile automatizzare questa operazione?

    1. Con i PDF si può fare più o meno quasi tutto, anche se nel caso specifico probabilmente la cosa migliore è scrivere un piccolo script (magari con PyPDF o Ghostscript) che effettui le operazioni desiderate.

  16. Salve.
    Ho avuto modo di seguire seguo l’altra tua pagina su come estrarre i video dal web e devo ringraziarti perché mi ha aiutato parecchio. Questa sui pdf non è da meno. Ho letto i post precedenti ma non ho trovato nulla che mi potesse far pensare ad una soluzione… In pratica ho dei file pdf di circa 3/4 MB ciascuno ed avrei la necessità di ricercare un nome specifico nel loro interno e stampare solo le pagine che contengono quel nome. Posso usare sia windows che linux ma preferirei quest’ultimo: con uno script sarebbe l’ideale. Avresti una dritta da darmi?
    Grazie
    Marco

  17. Puoi usare pdfgrep (citato nel post) per cercare parole e/o stampare i numeri di pagina dove compaiono. Poi potresti farti uno script che usa pdftk per estrarre le relative pagine e accodarle in un unico file PDF.

    Così facendo avrai un PDF solo da aprire e stampare. 🙂

  18. Grazie a te ho fatto un passo avanti.
    Usando il comando pdfgrep -in “pippo” *.pdf mi ridà la schermata:
    7: PIPPO
    PIPPO
    10: PIPPO
    PIPPO
    14: PIPPO
    PIPPO
    18: PIPPO
    PIPPO
    dove effettivamente 7,10,14 e 18 sono il numero di pagina dove si trova la stringa “pippo”.
    Ora per dare “in pasto” quei risultati di pagina a pdftk?
    Dal tuo post sopra, credo che il comando interessato sia: pdftk *.pdf cat (qui andrebbe messo il risultato delle pagine del comando precedente…)
    Ma non saprei proprio come…..
    MArco

    1. Esatto, a quel punto puoi farti uno script in Bash o Python che legga i vari numeri di riga e poi estragga le pagine interessate.

      Se hai necessità dello sviluppo di un software personalizzato contattami pure tramite il modulo presente nella pagina Contatti. 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *