Nell'introdurre pdftk-java, ho spiegato come utilizzo il pdftk-java
comando per apportare modifiche rapide, spesso tramite script, ai file PDF.
Tuttavia, una delle cose pdftk-java
è particolarmente utile quando ho scaricato un file PDF di grandi dimensioni, a volte con centinaia di pagine di testo di riferimento, e ho scoperto che il creatore di PDF non includeva un sommario. Non intendo un sommario stampato nella prima parte del libro; Intendo il sommario che trovi sul lato del tuo lettore PDF, che il formato PDF chiama ufficialmente "segnalibri".
Senza i segnalibri, trovare il capitolo a cui devi fare riferimento è ingombrante e comporta molti scorrimenti o ricerche frustranti di parole che pensi di ricordare di aver visto nell'area generale.
Un altro piccolo inconveniente di molti file PDF è la mancanza di metadati, come un titolo e un autore appropriati nelle proprietà del PDF. Se hai mai aperto un PDF e hai visto qualcosa di generico come "Microsoft Word - 04_Classics_Revisited.docx" nella barra del titolo della finestra, conosci questo problema.
Non devo più affrontare questo problema perché ho pdftk-java
, che mi consente di creare i miei preferiti.
Installa pdftk-java su Linux
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Come suggerisce il nome, pdftk-java è scritto in Java, quindi funziona su tutti i principali sistemi operativi purché Java sia installato.
Gli utenti Linux e macOS possono installare Linux da AdoptOpenJDK.net.
Gli utenti Windows possono installare la build Windows di Red Hat di OpenJDK.
Per installare pdftk-java su Linux:
- Scarica la versione di pdftk-all.jar dal suo repository Gitlab e salvala in
~/.local/bin/
o in qualche altro luogo nel tuo percorso. - Apri
~/.bashrc
nel tuo editor di testo preferito e aggiungi questa riga:alias pdftk='java -jar $HOME/.local/bin/pdftk-all.jar'
- Carica le tue nuove impostazioni Bash:
source ~/.bashrc
Dati dump
Il primo passo per correggere i metadati di un PDF è estrarre il file di dati che il PDF contiene attualmente.
Probabilmente non c'è molto nel file di dati (questo è il problema!), ma ti dà un buon punto di partenza.
$ pdftk mybigfile.pdf \
data_dump \
output bookmarks.txt
Questo produce un file chiamato bookmarks.txt
e contiene tutti i metadati assegnati al file di input (in questo esempio, mybigfile.pdf
), più un sacco di gonfiore.
Modifica dei metadati
Per modificare i metadati del PDF, apri il tuo bookmarks.txt
file nel tuo editor di testo preferito, come Atom o Gedit.
Il formato è per lo più intuitivo e i dati in esso contenuti sono prevedibilmente trascurati:
InfoBegin
InfoKey: Creator
InfoValue: Word
InfoBegin
InfoKey: ModDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: CreationDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: Producer
InfoValue: Mac OS X 10.10.4 Quartz PDFContext
InfoBegin
InfoKey: Title
InfoValue: Microsoft Word - 04_UA_Classics_Revisited.docx
PdfID0: f049e63eaf3b4061ddad16b455ca780f
PdfID1: f049e63eaf3b4061ddad16b455ca780f
NumberOfPages: 42
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 612 792
PageMediaDimensions: 612 792
[...]
Puoi modificare i campi InfoValue per contenere i dati che hanno senso per il PDF che stai riparando. Ad esempio, invece di impostare la chiave Creator sul valore Word, è possibile impostarla sul nome dell'autore effettivo o della casa editrice che rilascia il file PDF. Invece di assegnare al documento la stringa di esportazione predefinita dell'applicazione che lo ha prodotto, assegnagli il titolo effettivo del libro.
C'è anche del lavoro di pulizia che puoi fare. Tutto sotto il NumberOfPages
anche la riga non è necessaria, quindi rimuovi quelle righe.
Aggiunta di segnalibri
I segnalibri PDF seguono questo formato:
BookmarkBegin
BookmarkTitle: My first bookmark
BookmarkLevel: 1
BookmarkPageNumber: 2
BookmarkBegin
indica che stai creando un nuovo segnalibro.BookmarkTitle
contiene il testo visibile nel visualizzatore PDF.BookmarkLevel
imposta il livello di ereditarietà di questo segnalibro. Se imposti un BookmarkLevel su 2, viene visualizzato all'interno di un triangolo di apertura del segnalibro precedente. Se imposti un BookmarkLevel su 3, viene visualizzato all'interno di un triangolo di apertura del segnalibro precedente, purché il segnalibro precedente sia impostato su 2. Questa impostazione ti dà la possibilità di aggiungere un segnalibro, ad esempio, al titolo di un capitolo e alle intestazioni di sezione all'interno di quel capitolo.BookmarkPageNumber
determina a quale pagina PDF viene indirizzato l'utente quando fa clic sul segnalibro.
Crea segnalibri per ogni sezione del libro che ritieni importante, quindi salva il file.
Aggiornamento delle informazioni sui preferiti
Ora che hai impostato i tuoi metadati e segnalibri, puoi applicarli al tuo PDF, in realtà, li applicherai a un nuovo PDF che contiene lo stesso contenuto del vecchio PDF:
$ pdftk mybigfile.pdf \
update_info bookmarks.txt \
output mynewfile.pdf
Questo produce un file chiamato mynewfile.pdf
, contenente tutti i tuoi metadati e segnalibri.
Editoria professionale
La differenza tra un PDF con metadati generici e senza segnalibri e un PDF con valori di metadati personalizzati e segnalibri utili probabilmente non farà o interromperà una vendita.
Tuttavia, prestare attenzione ai piccoli dettagli come i metadati mostra che apprezzi la garanzia della qualità e fornire segnalibri ai tuoi utenti è utile e sfrutta la tecnologia disponibile.
Usa pdftk-java
per semplificare questo processo e i tuoi utenti ti ringrazieranno.