Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

cannot convert to PDF file from PS file with *.eps

42 views
Skip to first unread message

Kaori Kobayashi

unread,
May 27, 2000, 3:00:00 AM5/27/00
to
kaori と申します.

Distiller を使って PDF を作成していますが,変換に失敗する PS ファ
イルがあります.なんとか変換したいので,御助言をお願い致します.

PDF の作成手順は以下の通りです.

1.epsf.sty で EPS file を読み込む jLaTeX 2.09 ソース

2.jLaTeX 2.09にて作成した dvi ファイル

3.dvipsk 5.78 p1.4c で変換した PS ファイル

4.Adobe Distiller 4.0 で変換した PDF ファイル

手順3までは,問題なく作成できています
(ghostview で確認し,EPS も問題なく表示されます).

しかし,最後の Adobe Distiller 4.0 での変換が,時々失敗に終りま
す.その時のエラー表示は以下のようになっています.

=============================================
%%[ Error: rangecheck; OffendingCommand: get ]%%

Stack:
1
[[-170 -331 1024 903]]
0
0
/descender
[(6IB&C<;R)]

-save-
-save-

%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
%%[ Warning: PostScript error. No PDF file produced. ] %%
=============================================

エラーの中に出てくる "/descender" は読み込む EPS ファイルの中で
定義されています.大抵の EPS ファイルは tgif で作成したもので,
"%!PS-Adobe-2.0 EPSF-1.2" のヘッダがついています.同時に gnuplot
で作成した EPS ファイルも読み込まれていますが,こちらでは問題は
出ていません(/descender なし).

変換に失敗した PS に含まれていた /descender 付きの EPS ファイル
は,単体で Distiller にかけても変換に失敗し,gnuplot で作成した
/descender なしの EPS ファイルは,単体でも PDF に変換されました.
/descender を含む EPS ファイルは 100% エラーを出すかは,まだ,
確認していません.

問題の出た EPS ファイルから /descender が出てくる部分を抜き出し
たのが,以下の部分です.そっくり除去すると,後で ishow が未定義
だというエラーが出ます.

=============================================
/xdescender {
begin 0
FontType 0 eq
{ FDepVector dup length 1 sub get xdescender }
{ [FontBBox] 1 get } ifelse
FontMatrix transform exch pop end
} def
/ishow {
0 begin
gsave
fgred fggreen fgblue setrgbcolor
WhiteBg eq /drawBg exch def
/fontDict printFont findfont printSize scalefont dup setfont def
/descender fontDict xdescender def
/vertoffset 0 descender sub printSize sub printFont /Courier ne
printFont /Courier-Bold ne and { 1 add } if def {
drawBg {
newpath 0 vertoffset descender add moveto
dup stringwidth pop dup 0 rlineto
0 printSize rlineto 0 exch sub 0 rlineto
closepath currentgray 1 setgray fill setgray } if
0 vertoffset moveto show
/vertoffset vertoffset printSize sub def
} forall
grestore
end
} dup 0 4 dict put def
=============================================

ps2pdf を使えば PDF ファイルはできますが,ファイルサイズが大きく
なる(over 4Mbyte)のと,頻繁に出てくる数式が汚くなるので,できる
だけ Distiller を使いたいのです.

エラーを回避して,PDF ファイルを作成する方法はないでしょうか.

--
ka...@pu-toyama.ac.jp

0 new messages