チェーンストア伝票や送り状のような複写式の帳票に動的に

データを流し込んで印刷を行うアプリケーションを独自に
構築しようと考えています。

いくつかわからないことがあるので、どなたか教えて下さい。

①Webアプリからドットプリンタを制御することは出来ない
ようなのですが、もしWebアプリで直接ドットプリンタを印字
できない場合、どのようなミドルウェア or オープンソースが
ありますでしょうか?

②Windowsのネイティブアプリの場合は、ドットプリンタを
制御できると聞いています。実際にはどのようなライブラリを
使って制御するのでしょうか?サンプルソースがあれば大変助かります。

③チェーンストア伝票に限らず独自帳票をWindowsネイティブアプリで
印刷する際に使うソフトウェア及びその参考書籍をいくつか教えて欲しいです。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2011/05/09 10:10:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:windofjuly No.3

回答回数2625ベストアンサー獲得回数1149

ポイント30pt

【1】Webアプリからドットプリンタを制御することは出来ない?

半分正解で半分不正解

・スタンドアロンで動くWEBアプリであればVBScriptを介してネイティブとほぼ同じ事が可能

・クライアント/サーバータイプのWEBアプリの場合でもAjaxなどの非同期通信を用いれば同様のことが可能となりますが通信タイムラグが生じるため、直結されたプリンタを直接制御するようにうまくはいかない

 

【2】どのようなライブラリを使って制御するのでしょうか?

プリンタの取り扱える制御コードにあわせたライブラリを用います

PC-98xx終焉から久しく直接制御は使っていないので、ちょっと探してみました

http://www.vector.co.jp/soft/win95/prog/se370299.html

http://www.vector.co.jp/soft/win95/prog/se370307.html

 

【3】印刷する際に使うソフトウェア

「買ったほうが安いね!晩のおかず!」ってところですね

汎用帳票印刷のソフトやライブラリが販売されていたりしますが、業務用のため数十万円という値段になります

開発にかける費用を考えれば安いということで数十万円という値段でも売れるということでもありますので要検討です

(大量印刷ではなく、一日数枚というようなものであれば数万円レベルの安価なものもあります)

id:gothedistance

ありがとうございます。大変参考になりました。

Ajaxで差し込むデータを引っ張ってVBScript経由で印刷をかける、ということですか。いやー、めんどくさそう・・・。

2011/05/02 11:17:26

その他の回答3件)

id:asuka645 No.1

回答回数856ベストアンサー獲得回数97

ポイント20pt

①Webアプリからドットプリンタを制御することは出来ない

ようなのですが、もしWebアプリで直接ドットプリンタを印字

できない場合、どのようなミドルウェア or オープンソースが

ありますでしょうか?

そのドットプリンタがクライアント側(ブラウザ側)に用意するものであれば、「SVF for Web/Client」のような帳票ソフトを使って実現できます。


②Windowsのネイティブアプリの場合は、ドットプリンタを

制御できると聞いています。実際にはどのようなライブラリを

使って制御するのでしょうか?サンプルソースがあれば大変助かります。

Windowsネイティブでなくても、Javaでもできますよ。「SVF for Java Print」を使います。


③チェーンストア伝票に限らず独自帳票をWindowsネイティブアプリで

印刷する際に使うソフトウェア及びその参考書籍をいくつか教えて欲しいです。

Visual Basic2008逆引き大全 至高の技 データベース+印刷/帳票編

Visual Basic2008逆引き大全 至高の技 データベース+印刷/帳票編

  • 作者: 増田 智明 池谷 京子
  • 出版社/メーカー: 秀和システム
  • メディア: 単行本

id:gothedistance

ありがとうございます!参考になりました!

2011/05/02 10:59:42
id:popattack No.2

回答回数214ベストアンサー獲得回数4

ポイント20pt

見当違いだったらすいません。

http://www.canon-its.co.jp/edi/190print.html

JCA統一伝票発行システムというものが発売されています。

CANON ITソリューションに一度相談されたほうが良いかも知れません。

id:gothedistance

ありがとうございます。

ベンダーに頼むとお高いので、なるべく自前で組みたいのです。

2011/05/02 11:00:27
id:windofjuly No.3

回答回数2625ベストアンサー獲得回数1149ここでベストアンサー

ポイント30pt

【1】Webアプリからドットプリンタを制御することは出来ない?

半分正解で半分不正解

・スタンドアロンで動くWEBアプリであればVBScriptを介してネイティブとほぼ同じ事が可能

・クライアント/サーバータイプのWEBアプリの場合でもAjaxなどの非同期通信を用いれば同様のことが可能となりますが通信タイムラグが生じるため、直結されたプリンタを直接制御するようにうまくはいかない

 

【2】どのようなライブラリを使って制御するのでしょうか?

プリンタの取り扱える制御コードにあわせたライブラリを用います

PC-98xx終焉から久しく直接制御は使っていないので、ちょっと探してみました

http://www.vector.co.jp/soft/win95/prog/se370299.html

http://www.vector.co.jp/soft/win95/prog/se370307.html

 

【3】印刷する際に使うソフトウェア

「買ったほうが安いね!晩のおかず!」ってところですね

汎用帳票印刷のソフトやライブラリが販売されていたりしますが、業務用のため数十万円という値段になります

開発にかける費用を考えれば安いということで数十万円という値段でも売れるということでもありますので要検討です

(大量印刷ではなく、一日数枚というようなものであれば数万円レベルの安価なものもあります)

id:gothedistance

ありがとうございます。大変参考になりました。

Ajaxで差し込むデータを引っ張ってVBScript経由で印刷をかける、ということですか。いやー、めんどくさそう・・・。

2011/05/02 11:17:26
  • id:windofjuly
    うぃんど 2011/05/02 11:49:53
    質問への回答ではないのでコメント欄で案を2つほど挙げておきます
     
    (a)サーバーでPDFを生成してクライアントに返す
    印刷位置制御はほぼ考えなくて済む
    改変やコピペ防止も可能
    PDF生成のライブラリは有料/無料いろいろある
     
    (b)サーバーでxlsを生成してクライアントに返す
    Excelは印刷がずれることがあるのでPDFよりも汎用性は落ちるけれど、
    印刷するプリンタの種類分だけ雛型を作ればよいので自社利用であれば手間はそれほどかからず、
    システム開発のスキルもほとんどいらない
    改変やコピペが簡単に行えてしまうので、重要な書類には向かない(重要書類はPDF推奨)
     
    いずれもクライアント側でセキュリティ設定を変更したり、ソフトを入れたりという手間は無いので管理も楽
    (仕事用パソコンにAdobeReaderが無いとか、Excelが無いという環境はあまり無いと思うので…)
  • id:gothedistance
    windofiulyさん、ご丁寧にありがとうございます。

    PDF生成なら各種ライブラリが揃っているので問題ないのですが、
    今回ネックになっているのが複写式の伝票に印刷をしなくては
    ならないということでして。レーザープリンタを使用できないのです。

    ドットプリンタで印字してもらわないと、5枚1セットの複写伝票
    (チェーンストア伝票と言うタイプになります)に印刷できず、ドット
    プリンタの印刷命令は直接プリンタを制御するしかなさそうだ、という
    所までたどり着きました。

    ですが、当方PDF生成して帳票印刷しかやったことがなく、複写式の
    帳票印刷アプリの開発経験が無く、正直右も左もわかりませんと・・・。

    イメージとしてはチェーンストア伝票を1つのレイアウトとして読み込んで
    XとY軸に座標を指定してprint('社名',10.0,20.0)みたいな感じで印字領域を
    指定してstartPrint()みたいなコードなんだろうなぁと思っております。
    画像合成のようなことをするんじゃないかな、と。

    複写式の伝票をアプリケーションから印刷開始をするときのお作法などの
    情報が一番知りたいところでして、サンプルコードが欲しいと人力検索で
    質問させてもらった次第です。
  • id:windofjuly
    うぃんど 2011/05/02 13:11:31
    >XとY軸に座標を指定してprint
    それはプロッタプリンタの場合です
    シリアルプリンタの場合は1行分を左から右へ印刷して、次の行の左から右へ、さらに次の行の…の制御となります
    (左から右の順方向だけでなく逆方向にも対応していたりしますが、微妙にズレるのであまり用いないほうが良いです)

    複写式伝票がどのようなものかは理解してますので、質問本文への回答は回答欄のほうに書いたような具合になりますが、クライアント側の準備が必須となる点がネックになるであろうと想定して別案を考えてみた次第です
     
    PDF印刷に関しては解像度の調整でなんとかなったはずですがドットインパクトプリンタが手近にないので未検証です。すみません
  • id:gothedistance
    いえいえ、大変参考になりました。
    頂いた情報のなかで、頑張ってみます。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません