.epsファイルを含むファイルのdvipdfmxが行えない

.epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
返信数: 15
epsファイルを含まないものに関しては正常に動作しています.
epsファイルを含むもの(例えば最初にインストールしたときについてくるdemo)で,dvipdfmxを行うと,

[1][2][3][4][5][6][7GPL Ghostscript 9.10: **** Could not open the file /tmp/dvipdfmx.9EzosG .
**** Unable to open the initial device, quitting.

** WARNING ** Filtering file via command -->rungs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile='/tmp/dvipdfmx.9EzosG' './winshell.eps' -c quit<-- failed.
** WARNING ** Image format conversion for "./winshell.eps" failed...
** ERROR ** pdf_ref_obj(): passed invalid object.


Output file removed.

というエラーが発生します.

角藤インストーラにおいて,すべてのtexに関するファイルは最新のものをダウンロードしています.
epsファイルを含まないものがpdfが生成されることから,環境変数の設定などに誤りはないと考えています.
お手数ですがよろしくお願いいたします.
森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
すみません.補足ですが,デモに含まれるepsファイルを用いて,
\documentclass[12pt, a4paper, oneside]{j-book}
\usepackage[dvipdfmx]{graphicx}

\begin{document}
\begin{figure}
\includegraphics[]{winshell.eps}
\end{figure}
\end{document}
でも同様のエラーをはきます.
森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 小野 孝男 の投稿
/tmp のパーミッションはどうなっていますか?
小野 孝男 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
/tmpのパーミッションについて.

まず補足ですが,使用OSはWindows7 64bitです.

その上で%USERPROFILE%\AppData\Local\Tempのパーミッションを確認したところ,
すべて許可になっていました.(フルコントロール 変更 読み取りと実行 フォルダーの内容一覧表示 読み取り 書き込み 特殊なアクセス許可)

森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- tat tsan の投稿
errorメッセージに記された rungs を直接実行したらどうなりますか?

ちなみに rungs のオプションに -sPAPERSIZE=a0 とありますが、
これは古い dvipdfmx.cfg を参照していると思います。最新のものなら
-dEPSCrop になっているはずです。(本件には関係ないかも)

tat tsan への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
 -sPAPERSIZE=a0,および-dEPSCropについてどちらも実行しましたが,ファイルが見つからないというエラーが出ました.(/tmp/dvipdfmx.6HU0Juは直前のdvipdfmx main.dviによって出力されたものを使用しています.

森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
連続で申し訳ありません.なぜか投稿できなくて困っています.
エラーメッセージを投稿できなかったので,画像で添付します.
森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- tat tsan の投稿
「-sPAPERSIZE=a0」の s と P は離さないで。

また「-dEPSCrop」は a0 の置き換えではなく「-sPAPERSIZE=a0」全体の
置き換えです。

なお「-dEPSCrop」に触れたのは、このオプションの違いでうまく行くかも、
という意味ではなく

「最新とおっしゃっているのに古いファイルを読んでいますよ」
ということをお伝えする事が目的です。

もっとも、-sPAPERSIZE=a0 とは完全互換ではないので、
敢えて古い方にしていらっしゃるのであれば、済みません。
tat tsan への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
「最新とおっしゃっているのに古いファイルを読んでいますよ」ということについて,認識しました.

また,ご指摘のようにしたところ,
Unable to open the initial device, quitting.
と出ました.
森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- tat tsan の投稿
やはり /tmp に書き込めていませんね。

(1) 出力ファイルをカレントディレクトリにして
-sOutputFile='./hoge.pdf'
とするとどうなるか。

(2) 単純に /tmp に touch /tmp/hoge.txt できるか。
(cygwin環境なら touch はありますね)

あと気になるのは cygwin でも TeX がインストールされていて、
W32TeXと干渉しているかも知れないということでしょうか。
tat tsan への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
(1)について,行ってみましたが同様のUnable to open the initial device, quitting
と出ました.

(2)については,touch /tmp/hoge.txtを行った結果,
C:/cygwin/tmp/hoge.txtが作成されました.

今はcygwinで操作を行っていますが,cygwinとw32texを結びつけるような操作はしていないので,干渉の可能性は低いと思います.
森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- Akira Kakuto の投稿

Cygwin では /tmp を c:/cygwin/tmp にリロケートしていますが、

W32TeX のプログラムは native windows のバイナリなので、

このような解釈はしません。

c:/tmp なる読み書き可能なディレクトリを作成しておくと、

今のままの使い方で動作するかもしれません。


Akira Kakuto への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
ご指摘ありがとうございます.
確かに,c:/tmpに読み書き可能なディレクトリを作成したところ,
動作はしましたが,
$ dvipdfmx main.dvi
main.dvi -> main.pdf
[1][2][3][4][5][6][7
** WARNING ** Not a PDF file.
** WARNING ** Failed to include image file ",▒#a,▒#all.eps"
** WARNING ** >> Please check if
** WARNING ** >>   rungs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCo       mpatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dA       utoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile='%o' '%i' -       c quit
** WARNING ** >>   %o = output filename, %i = input filename, %b = input filename w       ithout suffix
** WARNING ** >> can really convert ",▒#a,▒#all.eps" to PDF format image.
** WARNING ** pdf: image inclusion failed for "winshell.eps".
** WARNING ** Failed to read image file: winshell.eps
** WARNING ** Interpreting special command PSfile (ps:) failed.
** WARNING ** >> at page="7" position="(112.158, 154.263)" (in PDF)
** WARNING ** >> xxx "PSfile="winshell.eps" llx=0 lly=0 urx=369 ury=61 rwi=3690 "
][8][9][10][11][12]
29396 bytes written
のようにやはりepsファイルの読み書きで問題が発生し,pdfでは,画像が無い状態で出力されました.
WARNINGを読むと,特に読み込みがうまくいっていないように見えます.
尚,dviファイルでは画像が表示されています.
森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- tat tsan の投稿
WARNING には「rungs を check して下さい」とありますよ。

その上ではrungsで出来たファイルがPDFじゃないと不平を言ってる。
tat tsan への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- 森山 学志 の投稿
WARNIGは上から順に,
・ PDFファイルではない.
・ イメージファイル",▒#a,▒#all.eps"をインクルードするのを失敗した.
・ rungs以下の命令文が本当に",▒#a,▒#all.eps"をPDFにコンバートできるのかをチェックしてください.
・ %o,%i,%dはそれぞれアウトプット,インプット,suffixを除いたインプット
・ winshell.epsのイメージファイルの読み込みに失敗した.
・ psファイルの特別なコマンドに翻訳することに失敗した.
・ at page="7" position="(112.158, 154.263)" (in PDF)
・ xxx "PSfile="winshell.eps" llx=0 lly=0 urx=369 ury=61 rwi=3690 "

と読めると思います.確かにrungs以下の命令文をチェックするように言われていますが,これは,イメージファイル"▒#a,▒#all.eps"に関してエラーが出ているからそのようなWARNINGが出ていると思っていました.
森山 学志 への返信

Re: .epsファイルを含むファイルのdvipdfmxが行えない

- tat tsan の投稿
dvipdfmxはEPSを直接読み込むのではなく、下請けに
ghostscriptを使ってEPSをPDFに変換してから読み込みます。
ですので、おおざっぱに失敗の原因が
(1) dvipdfmx側にあるのか
(2) ghostscript側にあるのか
と考えてメッセージを読みます。

すると1行目にまず「PDFじゃない」とあるのは
ghostscriptが変換してくれたハズのファイルが
ちゃんとPDFになっていないのだと想像できます。

残りのメッセージははその詳細の説明です。

ですので、c:/tmp を作る前にやったのと同様な作業
(rungsの直接起動)をやってみて、どんなファイルが
生成されるかを調べるのが普通です。