Strumenti Utente



aggiornare_l_indice_di_un_file_pdf_con_pdftk

Aggiornare l'indice di un file PDF con pdftk

Per eseguire quanto riporterò nel seguito avrete bisogno di pdftk, si tratta di una piccola utility che permette di modificare file PDF da linea di comando.

La trovate all'indirizzo http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/. Per modificare l'indice avrete bisogno di una versione aggiornata (personalmente ho potuto verificare che la versione 1.41 non permette l'aggiornamento dell'indice, la versione 1.45 sì).

Per estrarre i metadata dal nostro file pdf (incluso l'indice), digitiamo il comando

pdftk in.pdf dump_data > metadata.txt

Aprendo il file metadata.txt troveremo un contenuto del tipo

~~READMORE~~

InfoBegin
InfoKey: Creator
InfoValue: pdftk 1.45 - www.pdftk.com
InfoBegin
InfoKey: Producer
InfoValue: itext-paulo-155 (itextpdf.sf.net-lowagie.com)
InfoBegin
InfoKey: ModDate
InfoValue: D:20130108135555-01'00'
InfoBegin
InfoKey: CreationDate
InfoValue: D:20130108135555-01'00'
PdfID0: a167ad7c526ea1c111b6b0774c427cd8
PdfID1: 8b2a606b6e878c04d1623d508f804a9e
NumberOfPages: 400
PageLabelNewIndex: 1
PageLabelStart: 1
PageLabelNumStyle: DecimalArabicNumerals

Dobbiamo ora aggiungere le informazioni relative al nostro indice. Ciascuna riga dell'indice sarà individuata da quattro linee

BookmarkBegin
BookmarkTitle: Titolo
BookmarkLevel: 2
BookmarkPageNumber: 256

BookmarkBegin ci dice che stiamo inserendo una voce dell'indice. BookmarkTitle è il titolo del paragrafo che comparirà nell'indice. BookmarkLevel è il livello del paragrafo (il capitolo sarà di livello 1, i paragrafi principali del capitolo saranno di livello 2, i paragrafi secondari contenuti all’interno dei paragrafi saranno di livello 3, e così via). BookmarkPageNumber è il numero della pagina cui rimanderà il link.

Nel nostro file metadata.txt aggiungiamo in coda le informazioni relative all'indice. Ad esempio

InfoBegin
InfoKey: Creator
InfoValue: pdftk 1.45 - www.pdftk.com
InfoBegin
InfoKey: Producer
InfoValue: itext-paulo-155 (itextpdf.sf.net-lowagie.com)
InfoBegin
InfoKey: ModDate
InfoValue: D:20130108135555-01'00'
InfoBegin
InfoKey: CreationDate
InfoValue: D:20130108135555-01'00'
PdfID0: a167ad7c526ea1c111b6b0774c427cd8
PdfID1: 8b2a606b6e878c04d1623d508f804a9e
NumberOfPages: 400
PageLabelNewIndex: 1
PageLabelStart: 1
PageLabelNumStyle: DecimalArabicNumerals
BookmarkBegin
BookmarkTitle: Foreword
BookmarkLevel: 1
BookmarkPageNumber: 8
BookmarkBegin
BookmarkTitle: Preface
BookmarkLevel: 1
BookmarkPageNumber: 9
BookmarkBegin
BookmarkTitle: Acknowledgments
BookmarkLevel: 1
BookmarkPageNumber: 11

A questo punto aggiorniamo i metadata nel file PDF con il comando

  pdftk in.pdf update_info metadata.txt output out.pdf

Il file out.pdf contiene l'indice aggiornato.


aggiornare_l_indice_di_un_file_pdf_con_pdftk.txt · Ultima modifica: 2013/01/11 09:46 da mickele77

Facebook Twitter Google+ Digg Reddit LinkedIn StumbleUpon Email