Nous avons un petit problème avec les polices dans les documents PDF. Afin de mettre le doigt sur le problème que je voudrais inspecter, quelles polices sont réellement intégrées au document pdf et lesquelles sont uniquement référencées Y a-t-il un moyen facile (et pas cher, comme en libre) de le faire?
J'ai finalement obtenu un exemple de fichier qui semble contenir des polices.
Utilisation de Adobe Reader normal (ou de Foxit si vous préférez). Sélectionnez Fichier-> Propriétés dans la boîte de dialogue résultante, sélectionnez l'onglet Police. Vous verrez une liste de polices. Ceux qui sont incorporés indiqueront ce fait dans () derrière le nom de la police.
pdffonts
Outil de ligne de commande originaire de Xpdf , qui fait maintenant partie de Poppler .
Cet outil est disponible dans la plupart des distributions Linux dans le cadre de poppler-utils
paquet.
Exemple d'utilisation et de sortie:
$ 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
Beaucoup plus simple si vous voulez juste connaître le nom des polices: lancez-le depuis un terminal
strings yourPDFfilepath.pdf | grep FontName
CAM :: PDF dispose d'un rapporteur de polices, disponible en tant qu'utilitaire de ligne de commande ou via un appel à la bibliothèque. Si vous exécutez "filefont.pl fichier.pdf", vous obtenez une sortie comme ceci:
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
Vous pouvez extraire les polices de PDF en utilisant convertisseur de polices en ligne
en utilisant iText gratuit (ou iTextSharp si vous êtes sur .NET), vous pouvez écrire un utilitaire qui extraira pour vous ces informations en utilisant la méthode BaseFont.GetDocumentFonts.
Lire ce lien pour le code