ロードオプションの指定
ドキュメントを読み込むときに、いくつかの高度なプロパティを設定できます。 Aspose.Wordsは、ロードプロセスのより正確な制御を可能にするLoadOptionsクラスを提供します。 たとえば、PDF形式への読み込みにはPdfLoadOptions、TXT形式への読み込みにはTxtLoadOptionsがあります。 この記事では、LoadOptionsクラスのオプションを使用する例を示します。
外観を変更するにはMicrosoft Wordバージョンを設定します
Microsoft Wordアプリケーションの異なるバージョンでは、文書を異なる方法で表示できます。 たとえば、WPSOfficeを使用して作成されたDOCXやDOTXなどのOOXML文書にはよく知られている問題があります。 このような場合、必須の文書マークアップ要素が欠落している可能性があるか、Microsoft Word2019がMicrosoft Word2010と比較してそのような文書を異なる方法で表示する原因とな
デフォルトでAspose.WordsはMicrosoft Word2019ルールを使用してドキュメントを開きます。 以前のMicrosoft Wordアプリケーションバージョンのいずれかで発生するようにドキュメントのロードを表示する必要がある場合は、LoadOptionsクラスのMswVersionプロパティを使用して目的のバージョンを明示的に指定する必要があります。
次のコード例は、loadオプションを使用してMicrosoft Wordバージョンを設定する方法を示しています:
外観を変更するには、言語環境設定を設定します
Microsoft Wordでのドキュメントの表示の詳細は、アプリケーションのバージョンとMswVersionプロパティの値だけでなく、言語設定にも依存します。Microsoft Wordでのドキュメントの表示の詳細は、アプリケーションのバージョンとMswVersionプロパティの値に依存します。 Microsoft Wordは、“ファイル→オプション→言語"にある"Office言語設定"ダイアログの設定によって、ドキュメントが異なる場合があります。 このダイアログを使用すると、ユーザは、例えば、第一言語、校正言語、表示言語などを選択することができます。 Aspose.Wordsは、このダイアログに相当するLanguagePreferencesプロパティを提供します。 Aspose.Wordsの出力がMicrosoft Wordの出力と異なる場合は、EditingLanguageに適切な値を設定してください。
次のコード例は、日本語をEditingLanguageに設定する方法を示しています:
ドキュメントの読み込み中の問題を制御するにはWarningCallbackを使用します
一部の文書が破損しているか、無効なエントリが含まれているか、現在Aspose.Wordsでサポートされていない機能を持っている可能性があります。 ドキュメントの読み込み中に発生した問題について知りたい場合は、Aspose.WordsはIWarningCallbackインターフェイスを提供します。
次のコード例は、IWarningCallbackインターフェイスの実装を示しています:
読み込み時間中のすべての問題に関する情報を取得するには、WarningCallbackプロパティを使用します。
次のコード例は、このプロパティを使用する方法を示しています:
ResourceLoadingCallbackを使用して外部リソースの読み込みを制御します
ドキュメントには、ローカルディスク、ネットワーク、またはインターネット上のどこかにあるイメージへの外部リンクが含まれている場合があります。 Aspose.Wordsはこのような画像を自動的に文書に読み込みますが、このプロセスを制御する必要がある状況があります。 たとえば、特定の画像を本当にロードする必要があるのか、それともスキップする必要があるのかを判断します。 ResourceLoadingCallbackloadオプションを使用すると、これを制御できます。
次のコード例は、IResourceLoadingCallbackインターフェイスの実装を示しています:
次のコード例は、ResourceLoadingCallbackプロパティを使用する方法を示しています:
メモリ例外を回避するにはTempFolderを使用します
Aspose.Wordsは、リッチコンテンツでいっぱいの数千ページの非常に大きな文書をサポートします。 そのような文書を読み込むには多くのRAMが必要になる場合があります。 読み込みの過程で、Aspose.Wordsは文書を解析するために使用される一時構造体を保持するためにさらに多くのメモリを必要とします。
ドキュメントの読み込み中にメモリ不足の例外に問題がある場合は、TempFolderプロパティを使用してみてください。 この場合、Aspose.Wordsは一部のデータをメモリではなく一時ファイルに保存し、このような例外を回避するのに役立ちます。
次のコード例は、TempFolderを設定する方法を示しています:
エンコーディングを明示的に設定する
最新のドキュメント形式のほとんどは、コンテンツをUnicodeで保存し、特別な処理を必要としません。 一方、Unicode以前のエンコーディングを使用しており、エンコーディング情報を見逃したり、エンコーディング情報を本質的にサポートしていないドキュメント Aspose.Wordsはデフォルトで適切なエンコーディングを自動的に検出しようとしますが、まれにエンコーディング認識アルゴリズムで検出されたエンコーディングとは異なるエンコーディングを使用する必要がある場合があります。 この場合、Encodingプロパティを使用してエンコーディングを取得または設定します。
次のコード例は、自動的に選択されたエンコーディングを上書きするようにエンコーディングを設定する方法を示しています:
暗号化された文書を読み込む
パスワードで暗号化されたWord文書を読み込むことができます。 これを行うには、LoadOptionsオブジェクトを受け入れる特別なコンストラクタオーバーロードを使用します。 このオブジェクトには、パスワード文字列を指定するPasswordプロパティが含まれています。
次のコード例は、パスワードで暗号化されたドキュメントを読み込む方法を示しています:
ファイルが暗号化されているかどうかが事前にわからない場合は、FileFormatUtilクラスを使用して、ファイル形式を検出したり、ファイル拡張子をファイル形式の列挙に変換したりするなど、ファイル形式を操作するためのユーティリティメソッドを提供します。 文書が暗号化されていて、それを開くためにパスワードが必要かどうかを検出するには、IsEncryptedプロパティを使用します。
次のコード例は、OpenDocumentが暗号化されているかどうかを確認する方法を示しています: