S2Robot の Extractor に PDF からのテキスト抽出をするコードがあるのだけど、内部的には Apache の PDFBox を利用していて、S2Robot のテストケースにあるテスト用の PDF からは普通に抽出できるのだが、そこいらの PDF から日本語を抽出すると文字化けする。Apache の JIRA には PDFBOX-420 ていうのがあがっていて、一度は修正されたみたいだけど、テストケースが通らんから revert されているみたい…。これないと、そもそも使いものにならんのだけど、PDFBox 以外の方法として何かないかと iText の PdfTextExtractor とか試してみたりしたけど、これはこれで日本語がとれない…。そんで、また、PDFBox に戻り、revert された PDFont クラスを元に戻すと動くので、それを使うことにするかな。
カテゴリー: Fess
テスト中
いろいろと動作確認中。1.0.0 の次は細かい修正をして、1.0.1 くらいのバージョンでリリースすれば良いかと思っていたのだけど、BASIC/DIGEST認証サポートとか、Solr 周りの処理の効率化などしてたら、単なるバグ修正リリースという感じではなくなったので、次のバージョンは 1.1.0 にする予定。現在は、PDFBox が Exception を吐いていたりするので、それを修正できればリリースできるかと。なので、遅くても来週くらいには何とかしたいところ。
Solrが参照するcommons-io
solr-core と solr-solrj の pom では commons-io の groupId が以下のように org.apache.commons になっている。
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version> </dependency>
なので、自分のプロジェクトでも groupId が commons-io の commons-io を定義していると別物として扱われ、2つの commons-io が入ることになる。というわけで、紛らわしいから自分のプロジェクトの pom で solr の dependency で exclusions して commons-io が入らないようにするのが良いかも。commons 系の groupId は困るな…。