epstopdf 使用中にエラーが発生しました

epstopdf 使用中にエラーが発生しました

Matlab プロットから生成された eps 画像 (PDF は Matlab によってページ全体として生成されるため、eps と呼ばれます) を含めたいのですが、変換が失敗し、空白の PDF 画像が残ります。メッセージは次のとおりです。

MiKTeX GPL Ghostscript

9.25: Unrecoverable error, exit code 1



Sorry, but "MiKTeX EPS-to-PDF Converter" did not succeed. The log file hopefully contains the information to get MiKTeX going again: C:\Users\Andrey\AppData\Local\MiKTeX\2.9\miktex\log\epstopdf.log

ログファイルの内容

2019-12-03 06:29:05,797+0100 INFO  epstopdf - starting with command line: epstopdf --outfile=images/kkk-eps-converted-to.pdf images/kkk.eps
2019-12-03 06:29:06,456+0100 FATAL epstopdf - Invalid argument
2019-12-03 06:29:06,457+0100 FATAL epstopdf - Info: 
2019-12-03 06:29:06,457+0100 FATAL epstopdf - Source: Libraries\MiKTeX\Core\Stream\FileStream.cpp
2019-12-03 06:29:06,457+0100 FATAL epstopdf - Line: 68

最近、Miktex をインストールして更新し、LuaLatex でコンパイルしました。

必要であれば、epsの内容は次のとおりです。https://pastebin.com/1Rq86vVC

何が問題なのでしょう? どうすればいいのか全く分かりません。

アップデート--shell-ecapeまず最初に、私は(TexStudioから) コンパイルしたいと思います。

Process started: lualatex.exe --shell-escape -synctex=1 -interaction=nonstopmode 

Christian Shenkの提案を試してみました。コマンドは

mgs.exe -q -sDEVICE=pdfwrite -dSAFER -dAutoRotatePages=/None -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=images/kkk-eps-converted-to.pdf - -c quit

コマンド プロセッサで実行しようとしました。0 バイトの PDF ファイルが作成され、停止してしまいます。

アップデート2

私は実行しました

epstopdf --outfile=images/kkk-eps-converted-to.pdf images/kkk.eps

そして私は追加情報を得た

Error: /invalidfont in /findfont
Operand stack:
   Helvetica-BoldOblique
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval-
-   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   2015   1   3   %oparray_pop   2014   1   3   %oparray_pop   --nostringval--   1998   1   3   %oparray_pop   1884   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   1967   1   3   %oparray_pop
Dictionary stack:
   --dict:973/1684(ro)(G)--   --dict:0/20(G)--   --dict:123/200(L)--
Current allocation mode is local

どうすれば修正できるかわかりません。「Helvetica-BoldOblique」について何か言及されていますが、画像ではそれが使用されず、通常のHelveticaが使用されています。

答え1

  • -nオプションについて

Christianは、-n使用されたコマンドの詳細を取得するためにオプションを使用することを提案しました。例:

epstopdf -n --outfile=images/kkk-eps-converted-to.pdf images/kkk.eps

あなたが得たものは

mgs.exe -q -sDEVICE=pdfwrite -dSAFER -dAutoRotatePages=/None -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=images/kkk-eps-converted-to.pdf - -c quit

入力ファイル/ストリームを待機していたため、スタックしてしまいました(ここで学んだ教訓:https://github.com/MiKTeX/miktex/issues/393#issuecomment-543080026)。

だから、走る

mgs.exe -q -sDEVICE=pdfwrite -dSAFER -dAutoRotatePages=/None -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=images/kkk-eps-converted-to.pdf - -c quit < images/kkk.eps

します。

  • Error: /invalidfont in /findfont

MiKTeXに必要なフォントがインストールされていないようです。ここで言及されているパッケージがすべてインストールされていることを確認してください。https://github.com/MiKTeX/miktex-packaging/issues/112インストールしてもう一度お試しください。

編集: ファイルの変換には問題はありませんでした。その後、helveticパッケージのみをアンインストールしたところ、次のようなエラーが発生しました:

Error: /invalidfont in /findfont
Operand stack:
   Helvetica-BoldOblique
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   2015   1   3   %oparray_pop   2014   1   3   %oparray_pop   --nostringval--   1998   1   3   %oparray_pop   1884   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   1967   1   3   %oparray_pop
Dictionary stack:
   --dict:973/1684(ro)(G)--   --dict:0/20(G)--   --dict:123/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
MiKTeX GPL Ghostscript 9.25: Unrecoverable error, exit code 1

Sorry, but "MiKTeX EPS-to-PDF Converter" did not succeed.

The log file hopefully contains the information to get MiKTeX going again:

  C:\Users\user\AppData\Local\MiKTeX\2.9\miktex\log\epstopdf.log

したがって、helveticパッケージの不足が問題の根本的な原因でした。

私は問題も作成しました (実際には機能強化の提案です):https://github.com/MiKTeX/miktex/issues/429

答え2

私はこの問題を解決しました:

ステップ1:同じ名前のフォルダが原因でリセットするときにエラーが発生するのを回避するために、C:\Program files (x86) 内の MikTeX という名前の削除されたフォルダを削除した後、コントロール パネルを使用してコンピュータに存在する MikTeX 全体を削除します (コンピュータを再起動せずにアンインストールは完了します)

ステップ2:以下のMikTeXを再インストールします(texstudio、Texmaker、viettexなどのプログラムエディタをインストールする必要はありません)。このエラーはMikTeXの基礎によるものです。

MikTeXファイルのダウンロードリンク: クリックここ

ダウンロード後、解凍します。MikTeX /setupディレクトリ内のsetup-2.8.3553.exeという名前のインストールファイル

ステップ3:通常どおりにファイル setup-2.8.3553.exe をインストールします。フルバージョンをインストールするには、必ず Complete MikTeX を選択してください。

使用時の注意:

注 1: パッケージを宣言する順序は、上から下の順に次のようになります。

  1. \ usepackage {graphicx}

  2. \ 使用パッケージ {epstopdf}

  3. \ usepackage {サブ図}

注2: TeXファイルを実行する前に、実行エラーから出力された破損したPDFファイルが削除されていることを確認してください(末尾の.eps画像ファイルのみを残します)

著作権:https://nhcan.wordpress.com/2020/04/05/loi-khi-bien-dich-file-latex-co-hinh-anh-dinh-dang-eps/

答え3

この問題は、現在のMiKTeXパッケージの既知の問題によるものです。 https://github.com/MiKTeX/miktex-packaging/issues/112

私の場合、うまくいった回避策として、MiKTeX コンソールを使用して「helvetica」パッケージ (および Matlab コードで使用されるその他のフォント) をインストールする方法があります。

関連情報