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?

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

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

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.


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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.