TXT変換PDF法2:Word変換を利用した効率と適応性の検討(JAVA環境)


詳細
結論:処理ファイルのページ数は約多く,1ページあたりの処理効率は約高い.wpsに比べて、大きなファイルでも小さなファイルでも、明らかに遅いです.文字コードUTF-8のファイルの処理は高速です.(WPSテスト結果を確認)
 
0.運転環境
Microsoft Office wordを利用している以上、当然Windowsの下で実行する必要があります.テスト用Officeバージョン:2010.
 
1.必要な補助ツール:
Java環境ではActiveXを直接呼び出すことができないため、オープンソースのjacobを利用します.バージョン:1.17.
 
2.コード準備:
ここではいくつかの重要なステップを挙げましょう.完全なコードは列挙されず、自分で組み合わせることができます.
 
2.1 WordのActiveXオブジェクトの作成
ActiveXComponent app = new ActiveXComponent("Word.Application");
app.setProperty("Visible", false);

 
2.2 txtドキュメントを開く
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch  doc = Dispatch.call(docs,
                    "Open",
                    in, // FileName
                    false, // ConfirmConversions
                    true // ReadOnly
                    ).toDispatch();

 
2.3 PDFドキュメントとして出力
Dispatch.call(doc,
                    "SaveAs",
                    out, // FileName
                    17);

 
2.4文書を閉じる
Dispatch.call(doc, "Close", false);
doc.safeRelease();

 
2.5 ActiveXをオフにする
if (docs != null) {
    docs.safeRelease();
}
if (app != null) {
   app.invoke("Quit", 0);
   app.safeRelease();
}

 
3.転換効率
シーン1:txtファイルサイズ:5.02 k、GBK符号化.pdf生成後123 k~124 k,4ページ.生成されたファイルはすべて同じサイズではありません.この問題はまだ検討されています.1024ファイルを処理し、使用時間:898889 ms、14分58秒.平均ファイルあたりの使用時間:877.8 ms.WPS文字603.5 msより45%遅い.
 
シーン2:txtファイルサイズ:6.04 k、UTF-8エンコード.生成pdfは122 k,4ページである.pdfファイルはまだサイズが違います.1024個のファイルを処理し、使用時間:876222 ms、14分36秒.平均ファイルあたりの使用時間:855.7 ms.シーン1より少し時間がかかります.理由は、ワードがGBK符号化されたファイルをUTF-8符号化に変換してから操作を行う必要がある可能性があることが確認されている.
 
シーン3:txtファイルサイズ:2.42 m、GBK符号化.pdf生成後13.4 m,1430ページ.2つのファイルを処理し、使用時間:464491 ms、7分44秒.平均ファイルあたりの使用時間:232245.5 ms.WPS文字より3.6倍遅い.
 
分析の結果、処理ファイルのページ数は約多く、1ページの処理効率は約高いことが分かった.wpsに比べて、大きなファイルでも小さなファイルでも、明らかに遅いです.