web-dev-qa-db-ja.com

pdflatexから生成されたPDFにすべてのフォントを埋め込む方法

Ubuntuでpdflatexを使用してpdfファイルを生成しています。一方、フォントが見つからないため、チェックに合格しませんでした。オンライン提案には以下が含まれます。

  1. pdf-ps-pdf:元のファイルを台無しにすることができます。 PDFはひどいようです。
  2. latex-dvips -...を使用してください:これには画像サイズに問題があります。
  3. adobe Readerを使用し、それらのフォントを手動で含めます。AdobeReaderはUbuntuには存在しません

どうすればいいですか?

2
zhoy

Texヘルプフォーラムには、これに関する多くの投稿があります。

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

あなたの3つのオプションは素晴らしいものではありません、おそらく助けにはなりません。 ghostsscriptを使用しますが、それがあなたのケースに合うかどうかわかりません。

あなたが今これを打ったことに驚いています。どのバージョンのpdflatexを使用していますか?フォントは、pdflatexの新しいバージョンに埋め込まれています。

ただし、含まれている画像ファイルではフォントが欠落している場合があります。そして、それらのファイルを個別に修正します。たとえば、RからのPDFのインクルードを使用する場合、フォントはフォントに埋め込まれず、それらを保持するpdflatexドキュメントではなく、グラフィックファイルを修正する必要があります。私は最近ゴーストスクリプトでこれを修正しました。私は他の方法を考えません。

特定のフォントが違いを生む可能性があると思います。

再現可能な例は、このような場合の慣例です。詳細を収集して、tex.stackexchangeで質問してください。

編集に追加:

以下は、ghostscriptを使用してディレクトリ内のすべてのpdfファイルにフォントを挿入するシェルスクリプトです。私はそれを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

Ubuntuのシステムビューアーには簡単な方法があります。システムビューアーでPDFを開きます。 [ファイル]-> [印刷]をタップして、[ファイルへの印刷]を選択し、印刷します。今、あなたはそれを得る。生成されたものには、すべてのフォントが含まれます。コマンドpdffontsで確認できます

1
zhoy