2016-06-29 10 views
0

今、私はC#WinFormを使用してPDFサムネイルを生成するプログラムを作成しています。 したがって、私はGhostScriptを使用してPDFサムネイルを取得することを選択しました。 しかし、GhostScriptは時々(何らかのpdfファイルから)ブランクイメージを作成します。 (PDFファイルの一部のみが空白イメージファイルに変換され、その他は正しくイメージファイルに変換されます) この空白イメージファイルはpdfと同じイメージサイズですが、白いイメージです。GhostScriptの「PDF to Image」は空白の画像ファイルを作成します

そして、PDFリーダーでこのファイルを開くと、これらのPDFファイルに短時間で空白のページが表示されることがわかりました。 これらのpdfファイルには保護のような特別なオプションがあると期待しています.GhostScriptには、それを正しく変換する特別なオプションが必要です。

私はGhostScript.NET(https://ghostscriptnet.codeplex.com)を使用しています。私のコードは以下のとおりです。

GhostscriptVersionInfo _lastInstalledVersion = null; 
private GhostscriptRasterizer _rasterizer = null; 
int dpi = 100; 
string inputPdfPath = @"F:\pdf\155.pdf"; 
_lastInstalledVersion = GhostscriptVersionInfo.GetLastInstalledVersion(GhostscriptLicense.GPL | GhostscriptLicense.AFPL, GhostscriptLicense.GPL); 
_rasterizer = new GhostscriptRasterizer(); 
_rasterizer.Open(inputPdfPath, _lastInstalledVersion, false); 
Image img = _rasterizer.GetPage(dpi, dpi, 1); 
_rasterizer.Close(); 

...この問題を解決することに加えて

を助けてください、私はWINAPI CodePack、Magik.NETを使用しようとしました。 しかし、WinapiがPDFアイコンを作成すると、Magik.NETでエラーが発生します(両方ともGhostScriptより悪い)。

+0

Adob​​e Acrobatがあなたのpdfファイルに何が表示されるのが空白で表示されますか?あなたのpdfファイルが保護されているかどうかわからないのですか? –

+0

また、別の質問をするには:どうすればpdfsが単に空白ではないことが分かりますか? –

+0

Ghostscriptを直接コマンドラインから使用して、stdoutバックチャネルを見てください。何らかの方法でPDFファイルが破損している可能性があります。典型的な例を投稿すると、他の消費者もこれらのファイルが気に入らないという事実は、PDFファイルそのものが問題であることを示していると思います。また、Ghostscript.NETからバックチャンネルを入手できるはずですが、Ghostscriptの一部ではないので、私はそれを手伝ってはいけません。 – KenS

答えて

0

ありがとうKenS! おそらくGhostScript.NETが原因です。 オリジナルのGhostScriptを使用しようとしましたが、うまく動作します。

0

最近開いた/ PDF閲覧者が空白の画像を取得している場合は、これらのファイルは単にPDF Readerアプリケーションによってブロックされるという問題があります。これらのPDFファイルを読み書きして空の画像を生成しようとすると、Ghostscriptは静かに失敗しています。

これらのPDFファイルをPDF Readerソフトウェアで開いたり読んだりするのを避け、Ghostrscriptによって排他的に使用されていることを確認することをお勧めします。

関連する問題