extractbbに失敗

extractbbに失敗

- T Onoz の投稿
返信数: 5
はじめまして。
TeXインストーラ3
http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html
からWindowsにインストールしてLaTeXを使用しています。

dvipdfmxを使用する場合epsよりpdf形式の画像の方が処理が早いことや、ファイルサイズの関係からIGORで作製したグラフをpdf形式で貼り付けたいのですが、extractbbが失敗するため画像を貼り付けることができません。

添付の画像について
extractbb Graph1.pdf
とすると
** WARNING ** Invalid xref table entry [11]. PDF file is corrupt...
** WARNING ** Error while parsing PDF file.
** WARNING ** ./Graph1.pdf does not look like a PDF file...
となってしまいます。

https://okumuralab.org/tex/mod/forum/discuss.php?d=817
にも同様の質問があるのですが、 IGORで保存する際にPDFのバージョンを指定する項目が見当たらりません。
また、大量の画像を貼り付けたいため手動で設定することは避けたいと考えています。

何かアドバイスを頂くことができますでしょうか。
T Onoz への返信

Re: extractbbに失敗

- Akira Kakuto の投稿
qpdf や dvipdfmx は damaged file と判断するようです。
Adobe のものでは読めるので,違反ではないのかもしれません。
Acrobat をお持ちなら,読み込んでから別名で保存しなおす
と,dvipdfmx で使用可能になると思います。

Akira Kakuto への返信

Re: extractbbに失敗

- 上田 完 の投稿
Adobe のものでは読めるので,違反ではないのかもしれません。

手元の Mac 上で Acrobat、Linux 上で Adobe Reader を使って読み込みましたが、
読み込む瞬間に「damaged file なので fix する」というようなメッセージが出て
いるようです。

Acrobat をお持ちなら,読み込んでから別名で保存しなおす
> と,dvipdfmx で使用可能になると思います。

同じく (?) ad hoc ではあるんですが、

pdftk Graph1.pdf cat 1 output out1.pdf

などとしても問題なく読み込めるようになります。pdftk だったら、
バッチファイルを書けば一気に変換も可能なので、御参考まで。

Akira Kakuto への返信

Re: extractbbに失敗

- Z. R. の投稿

残念ながら、出力は異常であるようです。

当該のファイルの相互参照テーブル(xref)のデータ(1115 バイト目から)は以下のようになっています。(改行コード(line-feed)を [LF] で著した。)

xref[LF]
0 12[LF]
0000000000 65535 f [LF]
0000000020 00000 n[LF]
0000000147 00000 n[LF]
0000000165 00000 n[LF]
0000000578 00000 n[LF]
0000000597 00000 n[LF]
0000000628 00000 n[LF]
0000000725 00000 n[LF]
0000000809 00000 n[LF]
0000000915 00000 n[LF]
0000000974 00000 n[LF]
0000001024 00000 n[LF]

PDF の相互参照テーブル(xref)の各行は固定長ブロック(20バイト)の列としてアクセスできるように、「行末を必ず 2 バイトで著す」(つまり、普段の改行が [CR][LF] ならそのままだが [LF] なら [SP][LF] とする)と規定されています。上のデータの場合、最初のエントリは規定通りですが、以降のエントリはどれも規定を守っていません。

(固定長アクセスを可能にすることより、むしろ、改行コードの改変による破損の発見を容易にするため、という目的なのかも知れない。)

Z. R. への返信

Re: extractbbに失敗

- T Onoz の投稿
Akira Kakutoさん

ありがとうございます。
残念ながらAcrobatは所有しておりませんので今回はpdftkを使って対処しました。


上田 完 さん

ありがとうございます。
ひとまずpdftkでフォルダ内のpdfファイルを変換するバッチファイルを作り、IGORの出力したpdfを処理することにしました。
処理した後は正常に画像を埋め込むことができるようです。


Z. R. さん

ありがとうございます。
IGORのpdf出力機能にバグがあるということでしょうか……