0

Linux マシンで PDF ドキュメントのページを画像ファイルに変換しようとしています。私は Imagemagick を使用していますが、次のような英語の PDF で完全に機能します。

http://arbsq.net/dev/test_en.pdf

しかし、アラビア語の場合、次のファイルhttp://arbsq.net/dev/test_pdf_ar_small.pdf (明らかに破損していないことがわかります) の場合、convert コマンドを実行すると、次のエラー メッセージが表示されます。

-bash-3.2$ convert test_pdf_ar_small.pdf[1] small-1.jpg

** 警告: XREF テーブルの読み取り中にエラーが発生しました。
*
ファイルが破損しています。これが原因かもしれません * ファイルの変換中または転送中に問題が発生しました。** Ghostscript はデータの回復を試みます。エラー: /BXlevel で /undefined オペランド スタック: 65 0 1 --dict:6/6(ro)(G)-- obj 実行スタック: %interp_exit .runexec2 --nostringval--
--nostringval-- --nostringval- - 2 %stopped_push --nostringval- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3
%oparray_pop --nostringval-- --nostringval-- --nostringval--
--nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push --nostringval-- %loop_continue --nostringval-- 辞書スタック: --dict:1129/1686(ro)(G)-- - -dict:0/20(G)--
--dict:107/200(L)-- --dict:107/200(L)-- --dict:104/127(ro)(G)-- --dict:241/347(ro)( G)-- --dict:18/24(L)-​​- 現在の割り当てモードはローカル ESP Ghostscript 815.02: 回復不能なエラー、終了コード 1 変換: Postscript デリゲートに失敗しましたtest_pdf_ar_small.pdf'. convert: missing an image filenamesmall-1.jpg'.

そして、ghostscript を使用して PDF を開こうとしましたが、同じエラーが発生するようです:

-bash-3.2$ gs test_pdf_ar_small.pdf

ESP Ghostscript 815.02 (2006-04-19) Copyright (C) 2004 artofcode LLC, Benicia, CA. 全著作権所有。このソフトウェアには無保証が付いています。詳細については、ファイル PUBLIC を参照してください。 ** 警告: XREF テーブルの読み取り中にエラーが発生しました。*ファイルが破損しています。これが原因かもしれません * ファイルの変換中または転送中に問題が発生しました。** Ghostscript はデータの回復を試みます。エラー: /BXlevel で /undefined オペランド スタック:
65 0 1 --dict:6/6(ro)(G)-- obj 実行スタック:
%interp_exit .runexec2 --nostringval-- --nostringval--
--nostringval- - 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop
--nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push --nostringval-- %loop_continue --nostringval-- 辞書スタック: - -dict:1117/1686(ro)(G)-- --dict:0/20(G)-- --dict:107/200(L)-- --dict:107/200(L)-- --dict:104/127(ro)(G)-- --dict:241/347(ro)(G)-- --dict:18/24(L)-​​- 現在の割り当てモードはローカル ESP Ghostscript 815.02 : 回復不能なエラー、終了コード 1

また、Perl のイメージ マジックを使用しようとしましたが、同じエラーで機能しませんでした。

ただし、Windows で Ghostscript を使用しようとすると、いくつかの警告はありますが、ファイルを開くことができました。したがって、問題はこれらの PDF を Linux で開くことです。

これらのエラーを処理する方法、または PDF から画像を抽出する別の方法はありますか?

4

1 に答える 1

1

最初にゴーストスクリプトを更新し、何らかの方法でimagemagickにそれを利用するように指示する必要があります ( $PATHまたはdelegate.xmlを調整することによって)。

ただし、ghostscriptを直接利用することもできます。以下に例を示します。

gs -dNOPAUSE -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 \
    -sOutputFile=out%d.jpg \
    -dJPEGQ=100 -r300x300 -q \
    test_pdf_ar_small.pdf -c quit

-sOutputFile出力ファイル名のテンプレートであるオプションに注意してください(ここで、 は からまで%dの整数範囲)。したがって、上記の例では、単一の出力ファイルは と呼ばれます。FirstPageLastPageout1.jpg

クレジットは @mkl に送られ、より良い gs エラーの説明が得られます。

于 2013-06-19T15:12:37.450 に答える