Jak dowiedzieć się, do których czcionek się odwołuje, a które są osadzone w dokumencie PDF

105

Mamy mały problem z czcionkami w dokumentach PDF. Aby wskazać problem, chciałbym sprawdzić, które czcionki są faktycznie osadzone w dokumencie PDF, a które tylko się do nich odnoszą. Czy jest na to łatwy (i tani jak darmowy) sposób?

Jens Schauder
źródło

Odpowiedzi:

144

pdffontsnarzędzie wiersza poleceń pierwotnie z Xpdf , obecnie część Poppler .

To narzędzie jest dostępne w większości dystrybucji Linuksa jako część poppler-utilspakietu.

Przykładowe użycie i wyniki:

$ 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
vartec
źródło
aby uniknąć linkrot, dołącz przykład i / lub jakiś dokument.
Jake Berger
Wygląda na to, że został zainstalowany domyślnie w mojej instalacji Lubuntu 14.10.
DaAwesomeP
8
Dla użytkowników komputerów Mac, brew install poppleraby łatwo uzyskać pdffontspolecenie
Edward Newell
W przeglądarce evince dokumentów przejdź do Plik -> Właściwości -> zakładka Czcionki
Lnux
86

O wiele prostsze, jeśli chcesz tylko poznać nazwy czcionek: uruchom to z terminala

strings yourPDFfilepath.pdf | grep FontName
michelem
źródło
12
Windows: findstr FontName yourPDFfilepath.pdf
Craigo
11
Nie działa na mnie. (Mac z plikiem PDF wygenerowanym przez Latex.) pdffontsPokazuje dwie osadzone czcionki; to nie pokazuje żadnego. Najwyraźniej ta metoda czasami działa, ale nie jest niezawodna.
Mike
spróbuj z małą literą f w fontName
Ken Aspeslagh
@texnic Spróbuj tego. Kliknij prawym przyciskiem myszy i otwórz plik w edytorze tekstu (np. Notatniku) i wyszukaj FontName.
Kevin Lee
50

W końcu otrzymałem przykładowy plik, który wydaje się mieć osadzone czcionki.

Używając zwykłego programu Adobe Reader (lub Foxit, jeśli wolisz). Wybierz Plik-> Właściwości w wyświetlonym oknie dialogowym wybierz zakładkę Czcionka. Zobaczysz listę czcionek. Te, które są osadzone, będą wskazywać ten fakt w () za nazwą czcionki.

Jens Schauder
źródło
5

CAM :: PDF zawiera narzędzie do raportowania czcionek, dostępne jako narzędzie wiersza poleceń lub przez wywołanie biblioteki. Jeśli uruchomisz "listfont.pl plik.pdf", otrzymasz takie wyjście:

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
Chris Dolan
źródło
3

Możesz wyodrębnić czcionki z pliku PDF za pomocą Online Font Converter

Stefan
źródło
Bezwstydna wtyczka, ale jest to jedyna metoda międzyplatformowa, która zwraca dowód. Plus, tak, fajna strona.
commonpike
1

korzystając z bezpłatnego iText (lub iTextSharp, jeśli korzystasz z .NET), możesz napisać narzędzie, które wyodrębni dla Ciebie te informacje za pomocą metody BaseFont.GetDocumentFonts.

Przeczytaj ten link do kodu

Rad
źródło