Aspose.Words for Java rtf形式のファイルから正しいページ数が取得できない
私は下記のコードでrtfからページ数のプロパティを抽出しています。
try (InputStream input = dataSource.newInputStream()) {
Document doc = new Document(input);
BuiltInDocumentProperties meta = doc.getBuiltInDocumentProperties();
System.out.println(meta.getPages());
}
しかし、私は下記の3つのサンプルデータからは正しいページ数が抽出できません。
(私がWordでファイルを開いて確認したページ数とASPOSEでの抽出結果が異なる)
この問題を解決する方法はありますでしょうか。
使用バージョン:Aspose.Words for Java 18.11
サンプルデータ:
http://www.healthyschools.org/downloads/H&HPSchool-2PartRprt.rtf
http://www.lexisnexis.com/documents/pdf/20080507050212_large.rtf
http://bsphn.org.au/wp-content/uploads/2018/06/ClozapineShared-Care-Review_MD_062018.rtf
以上、お手数おかけしますが、ご確認の程よろしくお願いいたします。
@yudai_yamaguchi,
正確なページ数を取得するには、次のコードを使用する必要があります。
Document doc = new Document("E:\\temp\\20080507050212_large.rtf");
System.out.println("Page count " + doc.getPageCount());
しかし、Aspose.Words for Javaの最新バージョンは、正しい数のページを返していません。
私たちは、問題追跡システムに以下の問題を記録しました。
- WORDSNET-17860: 関連する 20080507050212_large.rtf
この問題の詳細をさらに詳しく調べ、修正のステータスを更新します。 ご迷惑をおかけして申し訳ありません。
@yudai_yamaguchi,
WORDSNET-17860に関しては、コードでハイフネーションが使用されていないために問題が発生します。 MS Word文書はハイフネーションされます。 Aspose.Wordsからハイフネーションされた出力を得るには、ハイフネーション辞書を登録する必要があります:
Document doc = new Document("E:\\temp\\20080507050212_large.rtf");
Hyphenation.registerDictionary("en-US", "E:\\temp\\hyph_en_US.dic");
System.out.println("Page count " + doc.getPageCount());
したがって、上記のコードを使用して正しいページ数を取得してください。
アタッチメント: hyph_en_US.zip (38.5 KB)