2015-09-10 26 views
9

Ho un'applicazione sulla mia macchina Ubuntu 14.04.x. Questa applicazione esegue il text mining su file PDF. Ho il sospetto che si sta usando Apache Tika ecc ...Problema di carattere sulla macchina Ubuntu nell'analisi del file PDF

Il problema è che, durante il suo processo di lettura, ottengo il seguente avvertimento:

2015-09-10 14:15:35 [WARN] FontManager Font not found: CourierNewPSMT 
2015-09-10 14:15:36 [WARN] FontManager Font not found: CourierNewPSMT 
2015-09-10 14:19:33 [WARN] FontManager Font not found: Helvetica 
2015-09-10 14:19:34 [WARN] FontManager Font not found: ESQWSF+Helvetica 
2015-09-10 14:19:34 [WARN] FontManager Font not found: ESQWSF+Helvetica 
2015-09-10 14:19:34 [WARN] FontManager Font not found: ESQWSF+Helvetica 
...... 

Come posso ottenere quei tipi di carattere sulla mia macchina? O è qualche java lib che mi manca per i font?

+1

Hai controllato il tuo FontManager.java sul tuo computer Linux? – Jordon

+1

Cosa dovrei controllare? – MaatDeamon

+0

Sei in grado di cambiare il codice? È la tua applicazione o stai semplicemente eseguendo questa applicazione? – MQ87

risposta

4

Vorrei fare un approccio in tre fasi per risolvere questo problema.

  1. analizzare ciò che i file vengono cercati e non trovati con strace
  2. usare apt-file per cercare il pacchetto che fornisce questi file
  3. Installare il pacchetto mancante

1.) Installare strace se non è già installato sudo apt-get install strace

Controllare quali file vengono utilizzati dall'app:

$> strace <your app> 2>&1 | grep open

è possibile filtrare ulteriormente questo per errori ENOENT:

$> strace <your app> 2>&1 | grep open | grep ENOENT

Ora si dovrebbe sapere quali file sono mancanti.

2.) Verificare quale pacchetto fornisce questo file. (dpkg -S funziona solo per i pacchetti già installati)

su 
apt-get install apt-file 
apt-file update 
apt-file search <filename> 

3.) installare quel pacchetto utilizzando apt-get install <package>

non ho Ubuntu qui, ma i font MS sono normalmente disponibili in un pacchetto chiamato " mscorefont "o simili.