Free Support Forum - aspose.com

Aspose Words for Java SJIS形式の日本語テキストを開くと例外が発生する

再現バージョン:
aspose-words-18.3-jdk16.jar

再現ファイル:
あああ.zip (124 Bytes)

再現コード:
com.aspose.words.Document doc = new com.aspose.words.Document(“あああ.txt”);

結果:
下記例外が発生し、Documentオブジェクト生成に失敗します。
com.aspose.words.UnsupportedFileFormatException: Unknown file format: Unknown
at com.aspose.words.Document.zzY(Unknown Source)
at com.aspose.words.Document.zzZ(Unknown Source)
at com.aspose.words.Document.(Unknown Source)
at com.aspose.words.Document.(Unknown Source)

文字コードがUTF-8、もしくはSJISでも文字数が11以上である場合本現象は発生しません。

回避策がある場合ご提示頂きたいのと、不具合である場合は早期バージョンでの修正を望みます。

@k-takeuchi,

Aspose.Wordsの最新バージョン、つまり18.3を使用している間、私たちはこの問題を私たちの目的のために再現することができました。 私たちはこの問題をバグ追跡システムに記録しました。 この問題のIDはWORDSJAVA-1754です。 あなたのスレッドもこの問題にリンクしており、解決されるとすぐに通知されます。 ご不便おかけしてすみません。

文字コードがUTF-8の場合でも、"てst"といった文字列を指定し
com.aspose.words.Document doc = new com.aspose.words.Document(“てst.txt”);
com.aspose.words.PdfSaveOptions pdfSaveOptions = new com.aspose.words.PdfSaveOptions();
doc.save(“てst.pdf”, pdfSaveOptions);
といったコードを実行してPDFに保存すると文字化けが発生しました。
UTF-8.zip (125 Bytes)
UTF-8_Garbled.zip (1008 Bytes)

本問題と同一原因か不明ですが、追記しておきます。

@k-takeuchi,

次のコードを試してください。 お役に立てれば。

LoadOptions opts = new LoadOptions();
opts.setLoadFormat(LoadFormat.TEXT);
opts.setEncoding(Charset.forName("UTF-8"));

Document doc = new Document("D:\\temp\\UTF-8\\UTF-8.txt", opts);
doc.save("D:\\Temp\\UTF-8\\awjava-18.3.pdf");

提示頂いたコードで回避できました。ありがとうございます。

すみません、追加で質問です。

1.本現象は、Aspose.Wordsにおけるtxtファイル固有の問題でしょうか。
他の拡張子(doc/docx等)やAspose.Cells/Aspose.Slidesといった他製品では発生する可能性はないでしょうか。
2.本現象が発生する条件(文字数、ページ数、文字コード)について教えて頂けないでしょうか。

@k-takeuchi,

Aspose.Words for Javaを使用して、読み込み時にHTMLおよびTXT形式のエンコーディングを指定できます。 DOC、DOCX、RTF形式などの場合、Aspose.Wordsは自動的にエンコーディングを検出します。 MS Wordのエンコーディングに関する記事をご覧ください:

Asopse.Wordsはこの場合MS Wordを模倣します。

Aspose.CellsとAspose.Slidesに関するご質問については、すぐにお返事させていただきます。

The issues you have found earlier (filed as WORDSJAVA-1754) have been fixed in this Aspose.Words for .NET 18.5 update and this Aspose.Words for Java 18.5 update.