- PR -

PDFに埋め込まれた添付ファイルの抽出

1
投稿者投稿内容
hoge
会議室デビュー日: 2003/11/28
投稿数: 2
投稿日時: 2003-11-28 17:21
みなさんはじめまして、こんにちわ。
hogeと申します。

手書きPDF(http://www.kobu.com/docs/pdf/pdfxhand.htm)のページを参考にして
PDFファイルをテキスト形式で読み込み、PDFファイル内の添付ファイルの場所、
圧縮方法はわかったのですが、解凍する方法がどうしてもわかりません。
ファイル自体を解凍するのではなく、文字列を解凍するという処理のため、
色々とネットで調べたのですが参考になるようなページがありませんでした。
java.util.zipパッケージを使用し、いろいろと試してみたのですが
どうもうまくいきませんでした。

どなたかご存知の方がいらっしゃればご教授をお願いします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-11-28 20:13
引用:

手書きPDF(http://www.kobu.com/docs/pdf/pdfxhand.htm)のページを参考にして
PDFファイルをテキスト形式で読み込み、PDFファイル内の添付ファイルの場所、
圧縮方法はわかったのですが、解凍する方法がどうしてもわかりません。


へぇ〜、へぇ〜、知らなかった、PDFに添付ファイルを配置できるなんて。

引用:

ファイル自体を解凍するのではなく、文字列を解凍するという処理のため、
色々とネットで調べたのですが参考になるようなページがありませんでした。


PDFファイルをオープンし、圧縮したデータを読み込み、所望の方法で(圧縮した方法で)展開すれば良いんじゃないの?ZIPフォーマットで圧縮したのならUNZIPすればいいだろうし、ほかの方法を使用したら、その方法にあわせて展開するだけなんじゃないの。

場所とサイズは分かるんですよね。それが分かれば読み込みはbyte配列に読み込めば良いでしょう。

Javaなら、Zipが標準で用意されているのでZipで圧縮/展開が一番楽かな。
まりり
ぬし
会議室デビュー日: 2001/12/05
投稿数: 329
投稿日時: 2003-11-29 02:21
引用:

PDFファイルをオープンし、圧縮したデータを読み込み、所望の方法で(圧縮した方法で)展開すれば良いんじゃないの?ZIPフォーマットで圧縮したのならUNZIPすればいいだろうし、ほかの方法を使用したら、その方法にあわせて展開するだけなんじゃないの。


hogeさんが一番わからないところをはしょっちゃダメですよ(笑)

引用:

ファイル自体を解凍するのではなく、文字列を解凍するという処理のため


ってことなので、ZipInputStream/ZipOutputStreamとByteArrayInputStream/ByteArrayOutputStreamあたりを見てみましょう。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-11-29 13:38
まりりさん、フォローアップ、サンクス。

byte配列に読み込んで、ZIPフォーマットで圧縮しているのなら、ZIPフォーマットで展開って言えば、あとは後は自分でやるなり、さらなる追加情報を出してくるかなっと思ったけど、いぢわるすぎたかな?ごめんね。
#自助努力に期待する自堕落なヲレ
hoge
会議室デビュー日: 2003/11/28
投稿数: 2
投稿日時: 2003-12-01 14:05
レス遅くなりまして申し訳ありません。
かずくん、まりりさんレスありがとうございました。

二人のおっしゃっていたバイト配列の使用、java.util.zipパッケージとByteArrayOutputStreamの資料を見てなんとかできました。

今回はじめてJavaのプログラムを組んだので非常に勉強になりました。
ほんとにありがとうございました。

[ メッセージ編集済み 編集者: hoge 編集日時 2003-12-01 14:05 ]
1

スキルアップ/キャリアアップ(JOB@IT)