C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: PDF内のJBIG2形式の画像をビットマップに変換


(過去ログ 107 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■63682 / inTopicNo.1)  PDF内のJBIG2形式の画像をビットマップに変換
  
□投稿者/ アンドレ (1回)-(2012/09/26(Wed) 22:36:16)

分類:[C#] 

こんにちは。
PDF内のイメージを抽出するため、 iTextSharp(バージョン5.3.2)を利用してPDFの内部を調べています。
調べた結果、対象のPDFのイメージのフィルタがJBIG2DECODEとなっているのですが、
JBIG2形式のイメージをビットマップに変換するにはどうすればよいのでしょうか?
イメージのストリームを変換するのだとは思いますが、iTextSharpの公開ソースを見てもさっぱり分かりません。
どなたかご存知の方、教えて頂けますでしょうか?
よろしくお願いいたします。
引用返信 編集キー/
■63687 / inTopicNo.2)  Re[1]: PDF内のJBIG2形式の画像をビットマップに変換
□投稿者/ オショウ (18回)-(2012/09/27(Thu) 11:36:15)
検索したら、以下のものが見つかりましたが・・・

ttp://stackoverflow.com/questions/802269/itextsharp-extract-images

ttp://stackoverflow.com/questions/5945244/extract-image-from-pdf-using-itextsharp
ttp://stackoverflow.com/questions/8740244/pdf-compression

如何?

以上。参考まで
引用返信 編集キー/
■63701 / inTopicNo.3)  Re[2]: PDF内のJBIG2形式の画像をビットマップに変換
□投稿者/ アンドレ (2回)-(2012/09/28(Fri) 12:06:40)
No63687 (オショウ さん) に返信
> 検索したら、以下のものが見つかりましたが・・・
>
> ttp://stackoverflow.com/questions/802269/itextsharp-extract-images
>
> ttp://stackoverflow.com/questions/5945244/extract-image-from-pdf-using-itextsharp
> ttp://stackoverflow.com/questions/8740244/pdf-compression

オショウ さん、ありがとうございます。
あれから、これら投稿や、その他のstackoverflowの関連しそうな投稿を調べてみましたが、
PDFのイメージのフィルタがJBIG2Decodeの場合のビットマップ化についてのものが見当たりませんでした。
手元にあるPDFサンプルのうち、フィルタがCCITTFaxDecodeであるイメージについては、
上の2番目の投稿の方法でビットマップ化に成功しましたが、JBIG2Decodeのものは、iTextSharpの公開ソースを
見る限り、フィルタがJBIG2Decodeの場合は、単純にPDFから取得したストリームをメモリーストリームに保存し、
これをそのままBitmap.FromStreamでビットマップ化を行おうとしているようですが、ここで
「使用されたパラメータが有効ではありません。」という例外が発生します。

PDFから取得したストリームの内容がどのようなものなのか、さっぱり分かりませんし、
そもそもJBIG2という画像形式がどのようなフォーマットなのかも全く分かりません。

どなたか情報をお持ちの方がいらっしゃいましたら教えて頂けますでしょうか?
よろしくお願いいたします。
引用返信 編集キー/
■63705 / inTopicNo.4)  Re[3]: PDF内のJBIG2形式の画像をビットマップに変換
□投稿者/ オショウ (20回)-(2012/09/28(Fri) 17:11:38)
> PDFのイメージのフィルタがJBIG2Decodeの場合のビットマップ化についてのものが見当たりませんでした。

  ttp://www.nodevice.jp/extensions/jb2.html

  どうもこの内容に合致するみたいです。
  デコードはそう難しくないと思います・・・

  ttp://stackoverflow.com/questions/7451133/how-to-add-bw-images-as-jbig2decode-streams-into-a-pdf-via-itext

  このコードは見られてますよネ?!

以上。参考まで
引用返信 編集キー/
■63724 / inTopicNo.5)  Re[4]: PDF内のJBIG2形式の画像をビットマップに変換
□投稿者/ アンドレ (3回)-(2012/10/01(Mon) 10:36:26)
オショウ さん、いつもありがとうございます。


>   ttp://www.nodevice.jp/extensions/jb2.html
>
>   どうもこの内容に合致するみたいです。
>   デコードはそう難しくないと思います・・・

勉強不足で恐縮ですが、そもそも、JBIG2形式とはどういうものか全く分からないので、とりあえず、
PDF内のこのイメージのストリームを".jb2"という拡張子でファイルに保存し、教えて頂いた上記サイトの
"XnView"というソフトをインストールして、このファイルを開くことができるかどうかを確認しましたが、
全く相手にしてくれませんでした。
おそらく、PDF内の該当ストリームの内容をそのままファイルに保存するだけではダメなのかも知れません。
そうなると、JBIG2形式で保存するには何らかの変換が必要なのでしょうか?
(もしかしたら、圧縮方式が設定されている場合、それでデコードする必要がある?)


>   ttp://stackoverflow.com/questions/7451133/how-to-add-bw-images-as-jbig2decode-streams-into-a-pdf-via-itext
>
>   このコードは見られてますよネ?!

はい、この投稿は、任意のPDF上のイメージを、(2値化イメージでは一番圧縮率が高い)JBIG2形式にして、
別のPDF上に追加したいという内容であると理解しています。
また、質問者の提示コードがjavaだったので、内容を詳しく見てはいませんでした。


現在、別のアプローチとして、PDFの対象ページをGhostScriptで画像ファイル化し、ここからPDF上の画像部分の位置を
PDFのコンテンツの内容より得た画像部分の位置を元に計算し、その箇所を切り取る、ということも考えていますが、
GhostScriptなど使用せずに、PDFの画像部分のストリームの内容を.NETで利用できる処理だけでビットマップ化できれば
それに越したことはないので、もしそのような方法がお分かりでしたら、教えて頂けますでしょうか?
よろしくお願いいたします。
引用返信 編集キー/
■63725 / inTopicNo.6)  Re[5]: PDF内のJBIG2形式の画像をビットマップに変換
□投稿者/ オショウ (22回)-(2012/10/01(Mon) 12:44:29)
2012/10/01(Mon) 12:44:57 編集(投稿者)

> 勉強不足で恐縮ですが、そもそも、JBIG2形式とはどういうものか全く分からないので、とりあえず、
> PDF内のこのイメージのストリームを".jb2"という拡張子でファイルに保存し、教えて頂いた上記サイトの
> "XnView"というソフトをインストールして、このファイルを開くことができるかどうかを確認しましたが、
> 全く相手にしてくれませんでした。

  説明からは・・・モノクロ高圧縮画像ファイルですネ!


  ttp://en.wikipedia.org/wiki/JBIG2
  ttp://www.cvisiontech.com/pdf/pdf-compression/jbig2-pdf.html
  ttp://helpx.adobe.com/jp/acrobat/kb/4099.html

  Acrobat 5.0 以降で搭載された圧縮形式のようですネ!

以上。参考まで
引用返信 編集キー/
■63726 / inTopicNo.7)  Re[6]: PDF内のJBIG2形式の画像をビットマップに変換
□投稿者/ オショウ (23回)-(2012/10/01(Mon) 13:14:21)
JBIG2 の解凍ですが・・・

ttp://sourceforge.jp/projects/sfnet_jpedaljbig2imag/releases/

これ使えませんかネ?〜

以上。参考まで
引用返信 編集キー/
■63731 / inTopicNo.8)  Re[7]: PDF内のJBIG2形式の画像をビットマップに変換
□投稿者/ アンドレ (4回)-(2012/10/01(Mon) 15:18:30)
オショウ さん、いつもありがとうございます。

> ttp://sourceforge.jp/projects/sfnet_jpedaljbig2imag/releases/

こちらのjbig2_1.4.jarをダウンロードし、先ほどのストリームを保存したファイルを
これで読み込ませることに成功しました。
イメージの内容もPDF上のイメージそのものでした。

早速、このソースをダウンロードして中身を見てみたいと思います。
C#からjavaのAPを呼び出して処理するか、C#やVBに移植するか、
(元々はiTextSharpをVBからも利用したいというのが目的)
色々と検討してみたいと思います。

ただし、javaはあまり詳しくないので、少しずつ勉強しながら進めたいと思います。

オショウ さんにはずっとお付き合い頂きまして、本当に感謝しております。
また何か進展がありましたら、こちらに書き込みます。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -