Sostituire un carattere in un documento PDF

Ho un documento PDF (non crittografato) con i campi di module modificabili. Tuttavia, il carattere per questi campi è rotto: manca di alcuni glifi, quindi, quando inserisco il text, appaiono alcune lacune.

Come posso modificare il documento PDF – Non ho accesso al documento di origine utilizzato per creare esso – per sostituire un altro tipo di carattere al posto di quello rotto ?

Il carattere in questione è Adobe Caliban Regular , che posso vedere incorporato nel documento. Gli glifi che visualizzano il vuoto includono "i", "T", "V"; forse altri che non ho scoperto.

Ho anche un altro documento simile usando Caliban, che viene visualizzato correttamente inclusi gli glifi elencati sopra come rotti. Se qualcuno può dirmi come prendere un font da un PDF e sostituirlo in un PDF esistente , sarebbe una soluzione.

Attualmente sto utilizzando:

  • Debian GNU + Linux
  • Evince (e ho anche provato Okular ) per la visualizzazione
  • La libreria Poppler per rendering PDF
  • Emacs (o qualsiasi editor di text) per modificare il codice PDF
  • pdftk e OpenOffice.org installati, se ciò aiuta

Vorrei essere interessato ad altri strumenti di editing PDF gratuiti software ( se zero o less ), se aiuteranno a questo task.

È estremamente difficile sostituire un font incorporato in un PDF. Non sono a conoscenza di un software gratuito in licenza (con licenza GPL) o software gratuito ( probabilmente ) che potrebbe probabilmente farlo (inserendo innanzitutto il font e quindi reimpostando un font sustituto). So solo di due prodotti commerciali che lo fanno: calltoftware.com's pdfToolbox4 e Enfocus ' PitStop (naturalmente, ci sono sicuramente altri, ma non ne sono consapevoli, e questi due sono i leader del mercato qui).

Ecco un modo per estrarre un font incorporato da un PDF utilizzando Free Software. Tieni presente che è consentito solo legalmente, se la licenza del font non lo proibisce. Nel repository del codice sorgente di Ghostscript vive un'utilità di programma PostScript denominata extractFonts.ps che può aiutare qui:

  1. Installare Ghostscript. Utilizza la versione più recente, 8.71.
  2. Scarica il file http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/extractFonts.ps
  3. Puoi leggere i commenti contenuti nel file scaricato.
  4. Eseguire il seguente command in una casella DOS (cmd.exe):

     gswin32c.exe ^ -q ^ -dNODISPLAY ^ C:/path/to/extractFonts.ps ^ -c "(c:/path/to/your-pdf-file.pdf) extractFonts quit" 
  5. Prendi nota di tutti i messaggi di avviso o di errore che il command può sputare.
  6. I font estratti con successo saranno ora memorizzati nella tua directory corrente utilizzando lo stesso nome del PDF.

(Ricorda che estrarre i caratteri qui non significa eliminare i font dal PDF, ma creare fontfile che sono copie di quelle incorporate nel PDF.)


Ecco un altro block di costruzione che può contribuire a raggiungere quello che vuoi. Potresti voler decomprimere tutte le parti compresse / flussi del tuo PDF, in modo da poter modificare facilmente il file con un semplice editor di text. (Attenzione: la modifica dei PDF non è un task semplice e diretto: i tuoi sforzi di editing richiederanno un notevole know-how e intelligenze circa gli interni del formato di file PDF.)

Questo trucco utilizza anche un'utilità di sotto-directory di toolbin Subversion di Ghostscript.

  1. Scarica il file http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/pdfinflt.ps
  2. Potresti voler leggere i commenti nel file scaricato.
  3. Eseguire il seguente command in una casella DOS (cmd.exe):

     gswin32c.exe ^ -- ^ c:/path/to/pdfinflt.ps ^ c:/path/to/your-pdf-file.pdf ^ c:/path/to/your-pdf-file-decompressed.pdf 

Questo command tenterà di decomprimere tutti i flussi " compressi " . (Se non sei sfortunato, il tuo file contiene anche flussi che utilizzano altri methods di compressione (come ad esempio "zip" ) che rimarranno invariati da questo command.)