web-dev-qa-db-fra.com

Comment incorporer toutes les polices en pdf générées à partir de pdflatex

J'utilise pdflatex dans Ubuntu pour générer des fichiers pdf. Alors que, il n'a pas passé le contrôle en raison de l'absence de polices. Les suggestions en ligne comprennent:

  1. pdf-ps-pdf: cela peut ruiner le fichier original. Le pdf a l'air terrible.
  2. use latex-dvips -...: Celui-ci a un problème avec la taille de l'image.
  3. utiliser Adobe reader, inclure manuellement ces polices: Adobe reader n’existe pas sur Ubuntu

Comment dois-je procéder?

2
zhoy

Il y a beaucoup de messages à ce sujet dans le forum d'aide tex

https://tex.stackexchange.com/questions/275715/how-to-compile-with-embedded-font-in-latex-and-preserve-figures

Vos 3 options ne sont pas géniales, peut-être que cela ne vous aidera pas. Je voudrais utiliser ghostsscript, mais je ne sais pas si cela convient à votre cas.

Je suis surpris que vous frappiez ceci maintenant. Quelle version de pdflatex utilisez-vous? Les polices sont intégrées à la nouvelle version de pdflatex.

Cependant, des polices peuvent être manquantes dans les fichiers image inclus. Et vous corrigez ces fichiers séparément. Par exemple, si vous utilisez des inclus de pdf à partir de R, les polices ne sont pas incorporées et vous avez besoin de fichiers graphiques de réparation, pas de la documentation pdflatex qui les contient. J'ai récemment résolu ce problème avec ghostscript. Je n'envisagerais aucun autre moyen.

Je suppose que les polices particulières pourraient faire la différence.

Un exemple REPRODUCIBLE est habituel dans ce cas. Rassemblez les détails et allez demander sur tex.stackexchange.

Ajouté en édition:

Voici un script Shell que j'exécute qui utilise ghostscript pour insérer des polices dans tous les fichiers pdf d'un répertoire. Je l'ai appelé embedFontInPDF.sh

#!/bin/bash

## Paul Johnson
## 2013-05-11
##
## R creates pdf files that do not have fonts embedded. This
## uses ghostscript to fix that. It takes all pdf in a directory
## and embeds fonts.
##
## Todo: Make command line argument smarter

for i in *.pdf; do
    base=`basename $i .pdf`;
    basenew="${base}/newtemp.pdf"

   /usr/bin/gs -o $basenew -dNOPAUSE -dPDFSETTINGS=/prepress     -sDEVICE=pdfwrite $i

    mv -f $basenew $i
done;
2
pauljohn32

Un moyen facile existe avec la visionneuse du système dans Ubuntu. Ouvrez votre pdf avec la visionneuse du système. Allez tapoter fichier-> imprimer sélectionnez imprimer dans fichier puis imprimez. Maintenant vous l'obtenez. Celui généré inclut toutes les polices. Vous pouvez vérifier avec la commande pdffonts

1
zhoy