前書きはさておき。
先週の追伸でお伝えした通り、GAE(Google App Engine)上では単純にPdfReaderクラスを使うことができない。理由も先週お伝えした通り、MappedRandomAccessFileクラスが使用しているjava.nio.MappedByteBufferクラスがGAEのホワイトクラスに登録されていないため。
これは、iText2.xでも問題であり、java.awtパッケージを使わないようにするためのパッチの中で一緒に解消させていました。(※だから、リンク部の説明文は正確ではない)
つまり、このパッチを参考にすれば、iText5.0.0用のパッチが作れるだろうと思ったのが先週。実は、翌日にはパッチが完成していたのですが、公開が遅れました。このパッチを適用したiText5.0.0のPdfReaderクラスをGAE上で稼働させることに成功しています。
zipの中には、MappedRandomAccessFileクラス用のパッチファイルとパッチ起動コマンド(Win用)が入っています。パッチファイルの動作確認は、「ソフトウェア工房α」様のページで公開されております「GNU patch 2.5.4」でのみ確認しております。上手く動かなかったらごめんなさい。
パッチファイルの内容は、RandomAccessFileOrArrayクラスを修正して、MappedRandomAccessFileクラスを使わないようにしただけです。
正直言いますと、オリジナルのパッチファイルのRandomAccessFileOrArrayクラスのパッチコードをコピーして、修正ファイルパスと修正行番号を変えたぐらいです。(^-^;
よって、ご自由に(ただし、iText Software Corp.他の権利者の権利を損なわない範囲で)改変、配布して頂いて構いません。むしろ、正規のGAE向けjar(+ソース)ファイルができましたらご連絡ください。よろしくお願いします。
