2016-10-02 8 views
5

私はiTextSharpバージョン5.5.2.0を使用しています。付属のPDFサンプル058780-02.pdfを読み込もうとしています。ImageRenderInfo.GetImage()メソッドで例外が発生しました。「PdfImageObject」は返されず、 「色深度1はサポートされていません」というメッセージが表示されます。 提案がありますか? おかげで、私はそれを修正色深度1はサポートされていません

+1

を追加したPDF仕様は、特にに関して、非常に柔軟であり、自身のビットマップ画像フォーマットを定義変更しますサポートされている色空間。 'ImageRenderInfo.GetImage()'は、通常のイメージフォーマットと互換性のある方法でイメージをエクスポートしようとします。 pdfビットマップ形式の極限的な柔軟性のため、これは常に忠実に可能ではありません。 Itextは不公平な輸出を作り出そうとしません。あなたのpdfはそのようなケースのようです。したがって、例外が発生します。 – mkl

+0

ご意見ありがとうございます。 iTEXTを使用してそのようなPDFを読み込むための回避策があると思いますか? –

+0

ファイルに対処できるitextに追加を実装することができます。 IIRCの画像は、色深度1のグレースケールとしてモデル化された白黒です。これをフルグレースケールまたはカラー画像にも拡張することが可能です。 – mkl

答えて

1

Abedellatif は、222行でiTextSharpソースコードPdfImageObjectクラスFindColorspace方法は

if (PdfName.CALGRAY.Equals(tyca) || PdfName.DEVICEGRAY.Equals(tyca)) { 
    stride = (width * bpc + 7)/8; 
    pngColorType = 0; 
} 
関連する問題