メモリ要件

Aspose.Wordsは、さまざまな形式のドキュメントを操作するための幅広い機能を提供します。 Aspose.Wordsが処理またはレンダリングできるドキュメントファイルの最大サイズには制限がないことに注意することが重要です。 唯一の制限は、あなたの側で利用可能なRAM(メモリ)の量です。

どのくらいのメモリAspose.Wordsが必要ですか

通常、Aspose.Wordsは、文書のモデルをメモリ内に構築するために、文書サイズよりも数倍多くのメモリを必要とします。 たとえば、ドキュメントサイズが1MBの場合、Aspose.Wordsはドキュメントオブジェクトモデル(DOM)をメモリに構築するためにRAMの10-20MBを必要とします。 一部の形式は他の形式よりもコンパクトであるため、乗数は形式に依存します。 たとえば、DOCXはDOCやRTFよりコンパクトで、DOCはRTFよりコンパクトです。

特定の文書ファイルの処理中に実際に消費するメモリAspose.Wordsの量を正確に推定する方法はありません。 Javaはクラスにデータを格納することを知っているかもしれませんが、各クラスインスタンスはJVM(Java仮想マシン)内部目的のためにいくつかのメモリを使 したがって、段落または書式設定されたテキスト(1文字で構成されていても)は、DOMにロードした後に余分なメモリを消費します。 さらに、Javaガベージコレクタエンジンは複雑なアルゴリズムを使用してメモリ収集を実行するのに最適な時間を決定し、実際のメモリ消費量を決定することを困難にしています。

メモリの量を計算する方法

二つの文書を考えてみましょう:

  1. DOCX"A"文書–0.35MBサイズ(2000ページ)、テキストのみ
  2. DOCX"B"文書–0.35MBサイズ(1ページのみ)、PNG画像が内部にあります

ご存知のように、DOCX、ODTなどの現代的な形式がたくさんあります。 単純なZIPアーカイブです。 したがって、次の計算アルゴリズムが得られます:

  1. 解凍します。 解凍された文書"A"のサイズは20MBで、文書"B"のサイズは0.4MBです
  2. ドキュメントをモデルにロードする(ドキュメントオブジェクトモデルの構築–DOM):
  • 最初の文書"A"のDOMを作成するには49MBサイズが必要です
  • 2番目の文書"B"のDOMを作成するには、2MBサイズだけが必要です。
  1. これらの文書をPDFにレンダリングするために必要なメモリ量を測定します。 この操作には、Aspose.Wordsが必要です:
  • 294MB文書"A"の場合
  • 7MB文書"B"の場合

したがって、ご覧のとおり、入力文書サイズに線形依存はありません。 必要なRAMサイズに影響を与える可能性のある多くの要因があります–文書の形式、その複雑さと構造、画像の数とその形式、および他の多くの要因。

メモリ乗数を最も正確に計算する方法

数千の実際のドキュメントを使用した実験では、通常Aspose.Wordsは、メモリ内にドキュメントモデルを構築し、フロー形式間の変換、mail merge、解析、置換などの簡単な操作を実行するために、平均ドキュメントサイズよりも数倍多くのメモリを必要とすることが示されています。 時には2の乗数、時には20について話していることもあります。

レンダリング(固定ページ形式への変換)、フィールドの更新、ページの分割などのより複雑な操作は、Aspose.WordsDOMにロードされた文書によって割り当てられたメモリの20倍のリソースを必要とするドキュメントもあります。

プロファイリングの結果がAspose.Wordsにメモリの問題がある可能性があることを示している場合は、当社に連絡してください サポートチーム そしてすべての診断情報を含んで下さい。

また見て下さい