ボタンをクリックすると、Java から Word ファイルを作成する必要がある J2EE ベースの Web アプリケーションがあります。ユーザーがドキュメントを開いて手動で実行しなくてもファイルが印刷されるように、このファイルに印刷コマンドを送信できるようにしたいと考えています。
これが可能かどうか、また可能であればどうすればよいか教えてください。
ボタンをクリックすると、Java から Word ファイルを作成する必要がある J2EE ベースの Web アプリケーションがあります。ユーザーがドキュメントを開いて手動で実行しなくてもファイルが印刷されるように、このファイルに印刷コマンドを送信できるようにしたいと考えています。
これが可能かどうか、また可能であればどうすればよいか教えてください。
わずか 2 行の単純なAutoItコードを使用できます。そして、プログラムでそのコード ファイルを実行して作業を完了します。
http://www.autoitscript.com/site/autoit/
このコードのように:
$sRTFfilename = "C:\t\t.rtf" ;Change this path to one of your own
ShellExecute('"' & $sRTFfilename & '"', "", @ScriptDir, "print", @SW_HIDE)
;-)
ファイルの生成は簡単です。Microsoft フォーマット ファイルにアクセスするための Java APIであるApache POIをご覧ください。サイトにはたくさんの例があります。
印刷についてですが、それが可能かどうかはよくわかりません。印刷するには、常にクライアント側で開く必要があると思います。
ドキュメント コンテンツをロードして印刷コマンドを実行するには、ActiveX を作成する必要があります。クライアント コンピュータでファイルを開いてコマンドを実行する方法は他にありません。
編集:HTMLを使用できる場合は、次のことができます
<script>
function load() {
window.print();
window.close();
}
</script>
と
<body onLoad="load()" ...>
ポップアップ ウィンドウで をクリックして、ドキュメントを開いて印刷します。そして、ポップアップを閉じます。
代わりにドキュメントをHTMLでレンダリングすることは可能でしょうか?それができれば、ユーザーがブラウザを介してかなり簡単に印刷できるようにすることができます。また、PDFを使用する方が簡単な場合もあります。少なくとも、さまざまなプラットフォーム間でPDFにアクセスしやすくなります。
MS Wordの使用を余儀なくされた場合、実行できることは非常に制限されます。Leonelが述べたように、ActiveXが唯一の選択肢であり、それでもドキュメントを開く必要があると思います。ブラウザからWordを自動的に起動できる可能性があります。ActiveXを介してWordのインスタンスをIEに埋め込むこともできるかもしれませんが、それについて100%確信はありません。
Java を環境として具体的に言及しているので、OpenOffice や StarOffice を考慮に入れることをお勧めします。それらには、ActiveX や Word のリモート コントロールよりも Java からの操作がはるかに簡単な API があります。
Word ほど重量級ではありません。リファレンスとドキュメントは簡単に見つけることができます。
私は、リモート コントロール Word をよく使用していた会社で働いていましたが、最終的に StarOffice に切り替えました。これは印刷用ではなく、文書変換 (Word から HTML など) 用ですが、十分に似ているはずです。
もちろん、私は「古いバージョンの Word」について話しているのですが、通常、Word が見つけたものを確認するよう要求する任意のダイアログで Word がロックアップするという問題がありました。できなかった。StarOffice に切り替えた後、これはかなり改善されました。