Come scoprire a quali caratteri si fa riferimento e quali sono incorporati in un documento PDF


105

Abbiamo un piccolo problema con i caratteri nei documenti PDF. Per mettere il dito sul problema che vorrei esaminare, quali caratteri sono effettivamente incorporati nel documento pdf e quali sono solo referenziati. Esiste un modo semplice (ed economico come gratuito) per farlo?

Risposte:


144

pdffontsstrumento a riga di comando originariamente da Xpdf , ora parte di Poppler .

Questo strumento è disponibile nella maggior parte delle distribuzioni Linux come parte del poppler-utilspacchetto.

Utilizzo e output di esempio:

$ pdffonts some.pdf 

name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
BAAAAA+Arial-Black                   TrueType          yes yes yes     53  0
CAAAAA+Tahoma                        TrueType          yes yes yes     28  0
DAAAAA+Wingdings-Regular             TrueType          yes yes yes     43  0
EAAAAA+Webdings                      TrueType          yes yes yes     38  0
FAAAAA+Arial-BoldMT                  TrueType          yes yes yes     33  0
GAAAAA+Tahoma-Bold                   TrueType          yes yes yes     23  0
HAAAAA+OpenSymbol                    TrueType          yes yes yes     48  0

per evitare linkrot, includi un esempio e / o un documento.
Jake Berger

Sembra che sia stato installato di default sulla mia installazione di Lubuntu 14.10.
DaAwesomeP

8
Per gli utenti Mac, brew install popplerper ottenere facilmente il pdffontscomando
Edward Newell

Nel visualizzatore di documenti evince, vai su File -> proprietà -> scheda Caratteri
Lnux

86

Molto più semplice se vuoi solo scoprire i nomi dei caratteri: eseguilo da un terminale

strings yourPDFfilepath.pdf | grep FontName

12
Windows: findstr FontName yourPDFfilepath.pdf
Craigo

11
Non funziona per me. (Mac con PDF generato da latex.) pdffontsMostra due caratteri incorporati; questo non mostra nessuno. Evidentemente, questo metodo funziona alcune volte, ma non è affidabile.
Mike

prova con la f minuscola su fontName
Ken Aspeslagh

@texnic Prova questo. Fare clic con il tasto destro e aprire il file in un editor di testo (ad es. Blocco note) e cercare FontName.
Kevin Lee

50

Finalmente ho un file di esempio che in realtà sembra contenere dei caratteri incorporati.

Utilizzando il normale Adobe Reader (o Foxit se preferisci). Seleziona File-> Proprietà nella finestra di dialogo risultante, scegli la scheda Carattere. Vedrai un elenco di caratteri. Quelli incorporati indicheranno questo fatto tra () dietro il nome del carattere.


5

CAM :: PDF ha un reporter di font, disponibile come utilità della riga di comando o tramite una chiamata alla libreria. Se esegui "listfont.pl file.pdf" ottieni un output come questo:

Page 1:
  Name: F1.0
    Type: TrueType
    BaseFont: NZUXSR+Impact
    Encoding: MacRomanEncoding
    Widths: yes
      Characters: 0-255
    Embedded: yes
  Name: F2.0
    Type: TrueType
    BaseFont: XSFKRA+ArialMT
    Encoding: MacRomanEncoding
    Widths: yes
      Characters: 0-255
    Embedded: yes

3

È possibile estrarre i caratteri dal PDF utilizzando Online Font Converter


Plug senza vergogna, ma questo è l'unico metodo multipiattaforma qui che restituisce una prova. Inoltre, sì, bel sito.
commonpike

1

usando iText gratuito (o iTextSharp se sei su .NET) puoi scrivere un'utilità che estrarrà per te queste informazioni usando il metodo BaseFont.GetDocumentFonts.

Leggi questo link per il codice

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.