竹形 先生
いつもお世話になっております。
業務用のアプリを開発しておりますが、表題の点で困っていです。
IE画面の表示画面の通りの印刷は問題ないですが、見積書、納品書、請求書など自分の印刷フォーマットで、しかも大量の得意先をoneClickで印刷したいのが当然といえば当然でしょうが、これに関してなにか良い方法はありませんか?
現に、クライイント用のjavaアプリを作成してサーバを周期的にモニターして印刷データをクライントへもってきて印刷しております。
#ここで、クライント用印刷のアプリの配布、周期的のモニタリングは効率悪いと考えてます
竹形先生の考え・やり方を是非参考させて頂きたいと存じます。
宜しくお願い申し上げます。
投稿:chu[chu]/2011年 05月 08日 08時 44分
/更新:2011年 05月 08日 08時 44分
RE:クライントでの印刷
by 竹形 誠司[takegata]
竹形です、どうも。
ちょうどサーバ上で動く帳票アプリケーションを開発するための本を書いているところなのでタイムリーな話題です。
最近iTextを使ってPDFで帳票を出力する方法についてブログに書きましたが、そのときに公開したプログラムを改良して複数のページを1つのファイルに出力できるようにしました。サーバ側でテンプレートを指定し、出力する帳票のリストを作れば必要な帳票が一度に作成できます。このバージョンも近いうちに公開しますので少々お待ち下さい。
現状ではIEの表示を印刷することで印刷自体は問題無いということですので、IEの表示を複数ページにしてしまう方が簡単かも知れませんね。印刷時の改ページ位置をスタイルシートで指定することができるようです。
参考: http://www.tagindex.com/stylesheet/page/page_break.html
ちょうどサーバ上で動く帳票アプリケーションを開発するための本を書いているところなのでタイムリーな話題です。
最近iTextを使ってPDFで帳票を出力する方法についてブログに書きましたが、そのときに公開したプログラムを改良して複数のページを1つのファイルに出力できるようにしました。サーバ側でテンプレートを指定し、出力する帳票のリストを作れば必要な帳票が一度に作成できます。このバージョンも近いうちに公開しますので少々お待ち下さい。
現状ではIEの表示を印刷することで印刷自体は問題無いということですので、IEの表示を複数ページにしてしまう方が簡単かも知れませんね。印刷時の改ページ位置をスタイルシートで指定することができるようです。
参考: http://www.tagindex.com/stylesheet/page/page_break.html
投稿:竹形 誠司[takegata]/2011年 05月 09日 16時 24分
/更新:2011年 05月 09日 16時 24分
竹形先生、ご返事有難うございます。
PDFを利用して印刷することは、
1.a.1クッション(PDFの印刷ボタン)をいれて「印刷」をクリックして印刷することでしょうか?
または、
b.「印刷」ボタンをクリックすることなく直接クライントのプリンタから印刷するのでしょうか?
2.複数の得意先の複数の帳票を1ファイルにしまうとのことでしょうか?
> サーバ側でテンプレートを指定し、出力する帳票のリストを作れば
> 必要な帳票が一度に作成できます。このバージョンも近いうちに公開
> しますので少々お待ち下さい。
楽しみしております。
有難うございます。
PDFを利用して印刷することは、
1.a.1クッション(PDFの印刷ボタン)をいれて「印刷」をクリックして印刷することでしょうか?
または、
b.「印刷」ボタンをクリックすることなく直接クライントのプリンタから印刷するのでしょうか?
2.複数の得意先の複数の帳票を1ファイルにしまうとのことでしょうか?
> サーバ側でテンプレートを指定し、出力する帳票のリストを作れば
> 必要な帳票が一度に作成できます。このバージョンも近いうちに公開
> しますので少々お待ち下さい。
楽しみしております。
有難うございます。
投稿:chu[chu]/2011年 05月 09日 18時 10分
/更新:2011年 05月 09日 18時 11分
印刷用の画面をWebで作るか、PDFに出力するかの違いです。私の作ったライブラリは、サーバで動的にPDFを生成してブラウザに返します。ブラウザの画面にはPDFが表示されるので、その画面でメニューから印刷の操作をします。手順としてはWebの画面を印刷するのとさほど変わらないと思います。
印刷するのが目的であれば、複数の帳票を1つのファイルにまとめて一度に印刷するのがよいと思います。ファイルを個別に保存したりメール等で送信するのであれば、バッチ処理をするようなプログラムを書く必要がありますね。
印刷するのが目的であれば、複数の帳票を1つのファイルにまとめて一度に印刷するのがよいと思います。ファイルを個別に保存したりメール等で送信するのであれば、バッチ処理をするようなプログラムを書く必要がありますね。
投稿:竹形 誠司[takegata]/2011年 05月 09日 22時 27分
/更新:2011年 05月 09日 22時 27分
竹形 先生
ご返事有難うございます。
PDFファイルを作成しても、結局IEを通さないと、なにか
そのPDFファイル(1つにしても、複数にしても)をクライント
へもっていく手段が必要ですね。
おっしゃった方法は
>1クッション(PDFの印刷ボタン)をいれて「印刷」を
> クリックして印刷すること
ですね。
仮に、複数ファイルを作成したとします。先生がおっしゃった
“バッチ処理”とは
a.サーバ上で複数のPDFファイルを1つずつをブラウザで表示
してメニューの印刷ボタンを処理する
b.サーバ上で複数のPDFファイルをクライントへコピーする処理
c.クライントのPCで、その複数のPDFファイルをサーバから
ダウンロードして印刷する
のどれでしょうか?
もう1つ教えて頂きたいです。PDFファイルを画面(AdobeReader)を開くことなくバッチファイルで直接印刷方法を教えて頂けますか?
宜しくお願い申し上げます。
ご返事有難うございます。
PDFファイルを作成しても、結局IEを通さないと、なにか
そのPDFファイル(1つにしても、複数にしても)をクライント
へもっていく手段が必要ですね。
おっしゃった方法は
>1クッション(PDFの印刷ボタン)をいれて「印刷」を
> クリックして印刷すること
ですね。
仮に、複数ファイルを作成したとします。先生がおっしゃった
“バッチ処理”とは
a.サーバ上で複数のPDFファイルを1つずつをブラウザで表示
してメニューの印刷ボタンを処理する
b.サーバ上で複数のPDFファイルをクライントへコピーする処理
c.クライントのPCで、その複数のPDFファイルをサーバから
ダウンロードして印刷する
のどれでしょうか?
もう1つ教えて頂きたいです。PDFファイルを画面(AdobeReader)を開くことなくバッチファイルで直接印刷方法を教えて頂けますか?
宜しくお願い申し上げます。
投稿:chu[chu]/2011年 05月 10日 11時 23分
/更新:2011年 05月 10日 11時 23分
状況がよく分からないのでなんとも言えませんが、サーバ側でPDFを生成した後はブラウザに返すなり、サーバ側のファイルに保存するなり、プログラム次第でどのようにでもできるのではないでしょうか。サーバ側に保存されたPDFファイルを自動的にプリンタに送ることもできると思います。AdobeReaderを使わずに印刷する方法については「PDF バッチ印刷」などで検索すると情報が得られると思います。
印刷用画面に「印刷ボタン」があると、帳票に「印刷ボタン」が印刷されてしまうのではないでしょうか。ブラウザのメニューから印刷ダイアログを呼び出す方法でいいと思いますが。
印刷用画面に「印刷ボタン」があると、帳票に「印刷ボタン」が印刷されてしまうのではないでしょうか。ブラウザのメニューから印刷ダイアログを呼び出す方法でいいと思いますが。
投稿:竹形 誠司[takegata]/2011年 05月 16日 06時 08分
/更新:2011年 05月 16日 06時 08分