説明

印刷システム及び印刷装置

【課題】
既存のプリンタのプログラム、又は、アノト電子フォームデータの仕様に大きな変更を加えることなく、特定のシステムと特定のプリンタとの組み合わせが正しい場合のみ、特定のシステムのアプリケーションから出力されたアノト電子フォームデータを印刷することが可能な印刷システム及び印刷装置を提供する。
【解決手段】
プリンタ100の認証指定としての特定情報をプリンタ100に対して送信する上位装置Aと、印刷情報としてのアノト電子フォームデータをプリンタ100に対して送信する上位装置Bと、アノト電子フォームデータに基づく画像を印刷媒体に印刷することが可能なプリンタ100とを備えた印刷システムであり、当該プリンタ100は、編集処理部104と、ジョブ種別解析処理部106と、ジョブパッチ登録処理部107と、ジョブパッチ読出し処理部109と、展開処理部110と、エンジン制御処理部112とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定のシステムのアプリケーションで作成された印刷データを特定の印刷装置が受信した場合には、印刷処理を実行するが、一般のシステムのアプリケーションで作成された印刷データを特定の印刷装置が受信した場合や、或いは特定のシステムのアプリケーションで作成された印刷データを一般の印刷装置が受信した場合には、印刷処理を実行しない印刷システム並びに印刷装置に関する。
【背景技術】
【0002】
各種申請書類やカルテ等の印刷媒体に記入された記入情報を電子化することを目的として、ペンの軌跡を記録することが可能な電子ペンと呼ばれる入力デバイスが実用化されている。例えば、スウェーデンのアノト社が開発したアノトペンによれば、独特のドットパターンが形成された専用紙上に文字や図形等を記入すると、アノトペンの先端部に設けられた小型カメラがドットパターンを検出し、専用紙上に記入された文字、図形等の記入情報をペンの軌跡情報(ストロークデータ)として取得することができる。そして、取得されたペンの軌跡情報は適当な情報処理装置に送信され、印刷媒体に記入された記入情報を容易に電子化することができる(例えば、特許文献1参照)。
【0003】
【特許文献1】特開2006−141064号公報
【0004】
ところで、上記アノトペンが読み取る独特のドットパターンを印刷データに組み込むには、Adobe Acrobatアプリケーション上で機能するアノトフォームデザインツール等が使用される。アノトフォームデザインツールは、ドットパターンを合成する前の元画像となるデータをPDFファイル形式で読み込み、ドットパターンを合成後、アノト電子フォームデータとしてのポストスクリプトファイルを直接生成する。そして、生成したポストスクリプトファイルをアノト社により認証指定を受けたポストスクリプトインタプリタ搭載のプリンタに送信し、受信したポストスクリプトファイルをポストスクリプトインタプリタが実行することで、アノト電子フォームデータに基づく画像が印刷媒体に印刷される。
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のアノトデザインフォームによって生成されたアノト電子フォームデータは、一般的なポストスクリプトファイルであるため、アノト社による認証指定を受けていないポストスクリプトインタプリタ搭載のプリンタに送信してしまった場合でも、そのまま印刷出力されることになる。そのため、アノトペンで認識できないドットパターンが印刷された印刷媒体が出力されるといった問題があった。
【0006】
本発明は、このような実情に鑑みてなされたものであり、本発明の課題は、既存のプリンタのプログラム、又は、アノト電子フォームデータの仕様に大きな変更を加えることなく、特定のシステムと特定のプリンタとの組み合わせが正しい場合のみ、特定のシステムのアプリケーションから出力されたアノト電子フォームデータを印刷することが可能な印刷システム及び印刷装置を提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明にかかる印刷システムは、特定情報が認証指定として設定された印刷装置と、特定アプリケーションにより作成された印刷情報を印刷装置に送信する上位装置とを備えた印刷システムであって、特定アプリケーションは特定情報と対応する付加情報を印刷情報に付加する情報付加部を有し、印刷装置は上位装置から送信された印刷情報に付加情報が含まれ、かつ、付加情報が特定情報と対応することを判断する判断部と、印刷情報に付加情報が含まれ、かつ、付加情報が特定情報と対応すると判断部が判断した場合、印刷情報の印刷処理を実行すると共に、印刷情報に付加情報が含まれない、又は、含まれるとしても付加情報が特定情報と対応しないと判断部が判断した場合、印刷情報を破棄する印刷処理部とを備えることを特徴とする。
【0008】
また、本発明にかかる印刷装置は、特定情報及び/又は特定アプリケーションにより作成された印刷情報の入力を受付ける受付部と、受付部を介して受付けた情報が特定情報であった場合に、特定情報を格納する格納部と、受付部を介して受付けた情報が印刷情報であった場合に、格納部に格納された特定情報を認証指定として設定する特定情報設定部と、印刷情報に特定情報設定部により設定された特定情報に対応する付加情報が含まれているか否かを判断する判断部と、印刷情報に付加情報が含まれ、かつ、付加情報が特定情報と対応すると判断部が判断した場合、印刷情報の印刷処理を実行すると共に、印刷情報に付加情報が含まれない、又は、含まれるとしても付加情報が特定情報と対応しないと判断部が判断した場合、印刷情報を破棄する印刷処理部とを備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、既存のプリンタのプログラム、又は、アノト電子フォームデータの仕様に大きな変更を加えることなく、特定のシステムと特定のプリンタとの組み合わせが正しい場合のみ、特定のシステムのアプリケーションから出力された印刷データを印刷することが可能な印刷システム及び印刷装置を提供することができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施形態について図面を参照して説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨に逸脱しない範囲において適宜変更可能である。
【0011】
[第1の実施形態]
図1は、本発明の実施形態にかかる印刷システムの概略構成を説明するブロック図である。本実施形態では、本発明にかかる印刷システムとして、プリンタ100の認証指定としての特定情報(以下、ジョブパッチと称する)をプリンタ100に対して送信する上位装置Aと、印刷情報としてのアノト電子フォームデータをプリンタ100に対して送信する上位装置Bと、ジョブパッチ、若しくは、アノト電子フォームデータを受信すると共に、アノト電子フォームデータに基づく画像を印刷媒体に印刷することが可能なプリンタ100とを備えた印刷システム10を一例として説明する。
【0012】
上位装置Aは、プリンタ100と、例えば、ネットワークを介して接続されたホストコンピュータであり、ジョブパッチを送信することでプリンタ100の認証指定を行う。
【0013】
上位装置Bは、プリンタ100と、例えば、ネットワークを介して接続されたホストコンピュータであり、特定のアノト電子フォーム作成システムのアノト電子フォーム作成用アプリケーションで作成されたアノト電子ファームデータを送信することでプリンタ100に印刷実行命令を与える。
【0014】
プリンタ100は、上位装置Aから送信されるジョブパッチ、又は、上位装置Bから送信されるアノト電子ファームデータ等の受信データを解析するための印刷処理部としてのコントローラ部101と、コントローラ部101が生成するプリントイメージデータに基づく画像を印刷媒体に印刷するエンジン部113とを備える。
【0015】
そして、コントローラ部101は、受付部としての受信処理部102と、データ受信バッファ103と、編集処理部104と、ディスプレイリストバッファ105と、判断部としてのジョブ種別解析処理部106と、ジョブパッチ登録処理部107と、格納部としてのジョブパッチバッファ108と、ジョブパッチ読出し処理部109と、展開処理部110と、プリントイメージバッファ111と、エンジン制御処理部112とを備える。
【0016】
受信処理部102は、上位装置Aから送信されるジョブパッチ、又は、上位装置Bから送信されるアノト電子フォームデータ等のデータを受信すると共に、受信データを逐次データ受信バッファ103に格納させる。また、受信処理部102は編集処理部104に対して受信データの解析を実行するよう指示を与える。
【0017】
データ受信バッファ103は、受信処理部102が受信したデータを格納する格納部である。
【0018】
編集処理部104は、受信処理部102による受信データの解析実行指示に基づいて、データ受信バッファ103に格納された受信データを逐次読み出すと共に、解析を行い、その結果を逐次ディスプレイリストバッファ105に格納させる。また、編集処理部104は、展開処理部110に対してプリントイメージデータを生成するよう指示を与える。
【0019】
ディスプレイリストバッファ105は、編集処理部104が解析した受信データの解析結果を格納する格納部である。
【0020】
ジョブ種別解析処理部106は、編集処理部104が受信データの解析を実行する際に、データ受信バッファ103に格納された受信データがジョブパッチの登録にかかるデータ、すなわち、プリンタ100の認証指定にかかるデータか、あるいは、ポストスクリプトジョブの実行、すわなち、例えば、アノト電子フォームデータに基づく画像を印刷媒体に印刷する処理にかかるデータ等であるかを解析する。
【0021】
ジョブパッチ登録処理部107は、ジョブ種別解析処理部106が解析した受信データがジョブパッチの登録にかかるデータであるときに、ジョブ種別解析処理部106から呼び出され、ジョブパッチバッファ108にジョブパッチを格納させる。
【0022】
ジョブパッチバッファ108は、ジョブパッチ登録処理部107の指示に基づきジョブパッチを登録し格納する格納部である。
【0023】
ジョブパッチ読出し処理部109は、ジョブ種別解析処理部106が解析した受信データがポストスクリプトジョブの実行にかかるデータであるとき、データ受信バッファ103に格納されたポストスクリプトジョブの実行前に、ジョブパッチバッファ108に格納されたジョブパッチを読出して実行する。
【0024】
展開処理部110は、編集処理部104の展開開始指示に基づいて、ディスプレイリストバッファ105に格納された編集処理部104による受信データの解析結果を順次読み出して、プリントイメージデータを生成し、当該プリントイメージデータをプリントイメージデータバッファ111に格納させる。また、展開処理部110は、エンジン制御処理部112に対してプリントイメージデータに基づく画像を印刷するようエンジン制御処理部112に指示を与える。
【0025】
プリントイメージデータバッファ111は、展開処理部110が生成したプリントイメージデータを格納する格納部である。
【0026】
エンジン制御処理部112は、展開処理部110による印刷実行指示を受けると、展開処理部110によりプリントイメージバッファ111に格納されたプリントイメージデータを読み出すと共に、エンジン部113と通信を行うことでプリントイメージデータに基づく画像の印刷をエンジン部113に実行させる。
【0027】
エンジン部113は、例えば、電子写真プリンタ方式の印刷エンジンであり、エンジン制御処理部112の制御によりプリントイメージデータに基づく画像を印刷媒体に印刷する。
【0028】
上記説明したコントローラ部101は、プログラムとしてプリンタ100に実装されている。これらのプログラムは、例えば、RAM(Random Access Memory)等の揮発性メモリ、ROM(Read Only Memory)等の不揮発性メモリ、フラッシュメモリ等の書き換え可能メモリ、ハードディスク等の磁気メモリ等の格納媒体に格納されており、プリンタ100が備える図示せぬCPU(Central Processing Unit)がこれらのプログラムを実行することにより、その機能が実現される。
【0029】
さらに、プリンタ100は上記構成以外にも、プリンタ100の装置状況を表示するための、例えば、LCD(Liquid Crystal Display)等の表示装置を備えた表示部、ユーザからの指示の入力を受付けるための、例えば、タッチパネル等の入力装置を備えた操作部等を備える。
【0030】
このような構成を備えた印刷システム10によれば、既存のプリンタのプログラム、又は、アノト電子フォームデータの仕様に大きな変更を加えることなく、特定のシステムと特定のプリンタの組み合わせが正しい場合のみ、特定システムのアプリケーションから出力されたアノト電子フォームデータを印刷することができる。
【0031】
次に、上記構成を備えた印刷システム10の動作について説明する。なお、本実施形態の説明においては、上位装置Aから送信されるジョブパッチとして、図2に示されるようなポストスクリプトファイル20を一例として説明する。また、同様に、上位装置Bから送信されるアノト電子フォームデータとして、図3に示されるようなポストスクリプトファイル30を一例として説明する。
【0032】
まず、上位装置からポストスクリプトファイルを受信すると、受信処理部102は、受信したポストスクリプトファイルをデータ受信バッファ103に格納させると共に、編集処理部104に対してポストスクリプトファイルの解析を実行するよう指示を与える。
【0033】
受信処理部102からの解析実行指示を受けた編集処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルを読み出すと共に、ジョブ種別解析処理部104に対して、データ受信バッファ103に格納されたポストスクリプトファイルが、プリンタ100の初期設定にかかるポストスクリプトファイルか、あるいは、ポストスクリプトジョブの実行にかかるポストスクリプトファイルであるかを判断するよう指示を与える。
【0034】
ポストスクリプトファイルの解析実行指示を受けたジョブ種別解析処理部104は解析処理を実行する。具体的には、ジョブ種別解析処理部104は図4に示されるフローチャートに従って処理を実行する。まず、ステップS41において、ジョブ種別解析処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”であるか否かを判断する。なお、図2に示されるポストスクリプトファイル20の第1行目の%−12345Xは、Universal Exit Languageであるため、実際には、ジョブ種別解析処理部104は%−12345X以降の文字から読み取りを開始する。
【0035】
ポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”であった場合(ステップS41 YES)、ジョブ種別解析処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルは、上位装置Aから送信されたプリンタ100の認証指定にかかるポストスクリプトファイル20、つまり、ジョブパッチであると判断し、ジョブパッチ登録処理部107に対してデータ受信バッファ103に格納されたポストスクリプトファイルを登録するよう指示を与える。ジョブ種別解析処理部104により、ジョブパッチの登録指示を受けたジョブパッチ登録処理部107は、ジョブパッチの登録処理を実行する(ステップS42)。
【0036】
ここで、ジョブパッチの登録処理について図5のフローチャートを用いて説明する。ジョブ種別解析処理部104により、ジョブパッチの登録指示を受けたジョブパッチ登録処理部107は、ポストスクリプトファイル20から、ジョブパッチ格納先のロケーションとファイル名とを取得する(ステップS51)。図2に示されるポストスクリプトファイル20の例では、LOCATION=“PsGeneralAccess DriveProc”で示されている。したがって、ジョブパッチの格納先はジョブパッチバッファ108内の“PsGeneralAccess”であり、ファイル名は“DriverProc”となる。
【0037】
ジョブパッチ登録処理部107は、ステップS51で取得した名称のファイルを作成し、ファイルをオープンすることで書き込み可能の状態とする(ステップS52)。
【0038】
次に、ジョブパッチ登録処理部107は、ジョブパッチとして登録するポストスクリプトファイル20のデータ容量を取得する(ステップS53)。ポストスクリプトファイル20のデータ容量は、“SIZE=80390”で示されており、図2に示されるポストスクリプトファイル20全体がジョブパッチバッファ108に登録される。
【0039】
そして、ジョブパッチ登録処理部107は、ステップS53で取得したデータ容量がゼロとなるまで、ステップS55、ステップS56を繰り返す(ステップS54)。ステップS55では、ジョブパッチ登録処理部107はデータ受信バッファ103から1バイト毎にファイルデータを読み出し、ステップS52でオープンしたファイルに読み出したファイルデータを書き込む。そして、ステップS56では、ジョブパッチ登録処理部107はステップS55にかかる処理が終了する度にステップS53で取得したデータ容量から1バイトを減ずる。
【0040】
ステップS55、ステップS56を繰り返し、ステップS53で取得したデータ容量がゼロとなった時点で(ステップS54 YES)、ジョブパッチ登録処理部107はファイルをクローズし(ステップS57)、ジョブパッチの登録処理を終了する。
【0041】
次に、再び図4を参照して、データ受信バッファ103に格納されたポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”でなかった場合の処理について説明する。データ受信バッファ103に格納されたポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”でなかった場合(ステップS41 NO)、ジョブ種別解析処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルは、上位装置Bから送信されたポストスクリプトジョブの実行にかかるポストスクリプトファイル30、つまり、アノト電子フォームデータであると判断し、ジョブパッチ読出し処理部109に対してジョブパッチの読出し処理を実行するよう指示を与える。ジョブ種別解析処理部104により、ジョブパッチの読出し処理の指示を受けたジョブパッチ読出し処理部109は、ジョブパッチバッファ108に格納されたジョブパッチを読出し(ステップS43)、処理を実行する(ステップS44)。
【0042】
ここで、ジョブパッチ読出し処理について図6のフローチャートを用いて説明する。ジョブ種別解析処理部104により、ジョブパッチの読出し処理の指示を受けたジョブパッチ読出し処理部109は、ジョブパッチバッファ108に“DriverProc”と言う名称のファイルが登録されているか否かを確認する。ここで、図5で説明したジョブパッチの登録処理により、“DriverProc”と言う名称のジョブパッチがジョブパッチバッファ108に登録されている場合(ステップS61 YES)、ジョブパッチ読出し処理部109は、当該ジョブパッチの読出し処理を実行する(ステップS62)。そして、ジョブパッチ読出し処理部109は、データ受信バッファ103に格納されたポストスクリプトファイル30が実行される前に、ジョブパッチとしてのポストスクリプトファイル20をポストスクリプトジョブとして実行する(ステップS63)。
【0043】
ジョブパッチ読出し処理部109が実行するポストスクリプトジョブの実行処理について図7のフローチャートを用いて説明する。図2に示されるポストスクリプトファイル20がジョブパッチ読出し処理部109により実行されると、まず、図2中(1)の箇所で/C5900_ANOTOキーの設定値が(true)である旨の宣言がdefオペレータにより定義される(ステップS71)。そして、図2中(2)の箇所で、ポストスクリプトインタプリタの標準のフォント定義オペレータである/definefontを新たな定義オペレータとして置換する(ステップS72)。なお、ステップS72では、後述するポストスクリプトファイル30が編集処理部104によって実行される際に、当該ポストスクリプトファイル30が認証指定されたアノト電子フォームデータであるか否かによって、ポストスクリプトファイル30に対して実行される処理の選択が定義されている。
【0044】
ジョブパッチ読出し処理部109によるジョブパッチとしてのポストスクリプトファイル20の実行処理が終了すると、編集処理部104は、データ受信バッファ103に格納されたポストスクリプトファイル30の処理を実行する。編集処理部104が実行するポストスクリプトジョブの実行処理について図8及び図9のフローチャートを用いて説明する。
【0045】
図3に示されるポストスクリプトファイル30が編集処理部104により実行されると、まず、図3中(3)の箇所で“<<JobName (C5900_ANOTO)>> setuserparamas”が実行されることにより、ポストスクリプトインタプリタのユーザ辞書中のJobNameキーに(C5900_ANOTO)が設定値として宣言される(ステップS81)。すなわち、ここで、当該ポストスクリプトファイル30が、特定のアノト電子フォーム作成システムのアノト電子ファーム作成用アプリケーションソフトによって作成されたことが宣言される。
【0046】
そして、図3中(4)の箇所で/DriverOps、/Prosetがスタックされ、/Prosetリソース中の/DriverOps辞書に/C5900_ANOTOキーが宣言されているか否かを判断する。/C5900_ANOTOキーが宣言されており、設定値が(true)である場合(ステップS82 YES)、ここでの処理を終了し、後述するアノト独特のドットパターンをポストスクリプトジョブによって定義する。一方、C5900_ANOTOキーが宣言されていないか、あるいは、設定値が(true)でない場合(ステップS82 NO)、特定のアノト電子フォーム作成システムのアノト電子ファーム作成用アプリケーションによって作成されたアノト電子フォームデータを特定のアノト電子フォーム作成システムにより認証指定されたプリンタ以外のポストスクリプトインタプリタ搭載のプリンタで印刷しようとしたとして、ポストスクリプトインタプリタの標準の印刷オペレータである/showpageを、ページ破棄オペレータである/erasepageに置換する(ステップS83)。したがって、特定のアノト電子フォーム作成システムにより認証指定されていないポストスクリプトインタプリタ搭載のプリンタに対して、特定のアノト電子フォーム作成システムのアノト電子フォーム作成用アプリケーションで作成されたアノト電子フォームデータが送信されても、当該アノト電子フォームデータにかかる印刷は実行されないことになる。なお、本実施形態においては、図7で説明したように、ジョブパッチとしてのポストスクリプトファイル20により、/C5900_ANOTOキーの設定値が(true)である旨の宣言がdefオペレータにより定義されている。したがって、以降の説明では、特定のアノト電子フォーム作成システムにより認証指定されたポストスクリプトインタプリタ搭載のプリンタに対して、特定のアノト電子フォーム作成システムのアノト電子フォーム作成用アプリケーションで作成されたアノト電子フォームデータが送信された場合について説明する。
【0047】
図8のフローチャートで説明したポストスクリプトジョブの実行にかかる処理が終了した後、編集処理部104は、引き続き、アノト独特のドットパターンをポストスクリプトジョブによって定義する。このアノト独特のドットパターン定義は、ポストスクリプト言語のフォント定義によって実行されており、図3中(5)の箇所の、“/AnotoFont exch definefont pop”によって実行される。
【0048】
このとき、編集処理部104が実行するポストスクリプトジョブについて図9のフローチャートを用いて説明する。なお、図3中(5)の箇所の/definefontオペレータは、既に図7のステップS72の処理によって、新たな定義オペレータとして置換されている(図2中(2)の箇所)。したがって、ここでの処理においては、新たに定義された/definefontオペレータが実行される。
【0049】
ステップS91において、編集処理部104は、/definefontオペレータで定義されるポストスクリプトフォントのフォント定義名称が/AnotoFontであるか否かを判断する。フォント定義名称が/AnotoFontと定義されている場合(ステップS91)、ポストスクリプトジョブにかかる処理はステップS92に移行する。そして、編集処理部104は、更に、ポストスクリプトインタプリタのユーザ辞書の/JobNameキーの設定値が(C5900_ANOTO)であるか否かを判断する(ステップS92)。
【0050】
/JobNameキーが宣言されていないか、あるいは、設定値が(C5900_ANOTO)でない場合(ステップS92 NO)、編集処理部104は、アノト電子フォームデータは、アノト電子フォーム作成用アプリケーションを使用して作成されているが、特定のアノト電子ファーム作成システムではない一般システムが使用されたとして、ポストスクリプトインタプリタの標準の印刷オペレータである/showpageを、ページ破棄オペレータである/erasepageに置換する(ステップS93)。したがって、特定のアノト電子ファーム作成システムにより認証指定されたポストスクリプトインタプリタ搭載のプリンタに対して、特定のアノト電子フォーム作成システムではない一般システムの特定のアノト電子フォーム作成用アプリケーションを使用して作成されたアノト電子フォームデータが送信されても、当該アノト電子フォームデータにかかる印刷は実行されないことになる。
【0051】
一方、JobNameキーが宣言されており、設定値が(C5900_ANOTO)である場合(ステップS92 YES)、編集処理部104は、解析結果を逐次ディスプレイリストバッファ105に格納させる。そして、編集処理部104は、展開処理部110に対してプリントイメージデータを生成するよう指示を与える。
【0052】
展開処理部110は、編集処理部104の展開開始指示に基づいて、ディスプレイリストバッファ105に格納された編集処理部104による解析結果を順次読み出して、プリントイメージデータを生成し、当該プリントイメージデータをプリントイメージデータバッファ111に格納させる。また、展開処理部110は、エンジン制御処理部112に対してプリントイメージデータに基づく画像を印刷するようエンジン制御処理部112に指示を与える。
【0053】
エンジン制御処理部112は、展開処理部110による印刷実行指示を受けると、展開処理部110によりプリントイメージバッファ111に格納されたプリントイメージデータを読み出すと共に、エンジン部113と通信を行うことでプリントイメージデータに基づく画像の印刷をエンジン部113に実行させる。
【0054】
エンジン部113は、例えば、電子写真プリンタ方式の印刷エンジンであり、エンジン制御処理部112の制御によりプリントイメージデータに基づく画像を印刷媒体に印刷する。
【0055】
以上のように、第1の実施形態によれば、特定のアノト電子ファーム作成システムにより認証指定されたプリンタである宣言と、受信したアノト電子フォームデータが特定のアノト電子フォーム作成システムのアノト電子フォーム作成用アプリケーションで作成されたか否かを判断させると共に、一般システムのアノト電子フォーム作成アプリケーションで作成されたアノト電子フォームデータを受信したときは、ページ破棄オペレータである/erasepageを実行させることにより、アノト電子フォームデータの印刷開始時に該当ページの破棄を実行させる。また、特定のアノト電子フォーム作成システムのアノト電子ファーム作成アプリケーションで作成されたアノト電子フォームデータを特定のアノト電子フォーム作成システムで認証指定されたプリンタ以外のポストスクリプトインタプリタ搭載のプリンタで印刷させるときは、/erasepageオペレータを実行させるポストスクリプト言語を付加することによってアノト電子フォームデータ印刷開始時に該当ページを破棄させる。したがって、既存のプリンタのプログラム、又は、アノト電子フォームデータの仕様に大きな変更を加えることなく、特定のシステムと特定のプリンタとの組み合わせが正しい場合のみ、特定のシステムのアプリケーションから出力されたアノト電子フォームデータを印刷することが可能となる。
【0056】
[第2の実施形態]
本発明の第2の実施形態にかかる印刷システムの構成は、第1の実施形態にかかる印刷システムと略同一であり、ポストスクリプトジョブの実行にかかる処理も略同一であるため、同一な箇所の説明は省略し、異なる箇所について説明する。
【0057】
図10は、上位装置Aから送信されるジョブパッチとしてのポストスクリプトファイル20’の一例を示す図である。また、図11は、上位装置Bから送信されるアノト電子フォームデータとしてのポストスクリプトファイル30’の一例を示す図である。第2の実施形態では、図10中(2)’、及び、図11中(4)’の箇所において、ポストスクリプトインタプリタの標準の印刷オペレータである/showpageを未定義の/undefined−operatorに置換する点が第1の実施形態とは異なる。/undefined−operatorは、ポストスクリプトインタプリタの標準的オペレータではなく、また、ポストスクリプトインタプリタが備えるシステム辞書又はユーザ辞書中の両辞書にも定義されていないので、当該オペレータを実行するとエラーが発生することになる。
【0058】
このような構成を備えた第2の実施形態にかかる印刷システムの動作について説明する。まず、上位装置からポストスクリプトファイルを受信すると、受信処理部102は、受信したポストスクリプトファイルをデータ受信バッファ103に格納させると共に、編集処理部104に対してポストスクリプトファイルの解析を実行するよう指示を与える。
【0059】
受信処理部102からの解析実行指示を受けた編集処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルを読み出すと共に、ジョブ種別解析処理部104に対して、データ受信バッファ103に格納されたポストスクリプトファイルが、プリンタ100の認証指定にかかるポストスクリプトファイルか、あるいは、ポストスクリプトジョブの実行にかかるポストスクリプトファイルであるかを判断するよう指示を与える。
【0060】
ポストスクリプトファイルの解析実行指示を受けたジョブ種別解析処理部104は解析処理を実行する。具体的には、ジョブ種別解析処理部104は図4に示されるフローチャートに従って処理を実行する。まず、ステップS41において、ジョブ種別解析処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”であるか否かを判断する。なお、図10に示されるポストスクリプトファイル20の第1行目の%−12345Xは、Universal Exit Languageであるため、実際には、ジョブ種別解析処理部104は%−12345X以降の文字から読み取りを開始する。
【0061】
ポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”であった場合(ステップS41 YES)、ジョブ種別解析処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルは、上位装置Aから送信されたプリンタ100の認証指定にかかるポストスクリプトファイル20’、つまり、ジョブパッチであると判断し、ジョブパッチ登録処理部107に対してデータ受信バッファ103に格納されたポストスクリプトファイルを登録するよう指示を与える。ジョブ種別解析処理部104により、ジョブパッチの登録指示を受けたジョブパッチ登録処理部107は、ジョブパッチの登録処理を実行する(ステップS42)。
【0062】
ここで、ジョブパッチの登録処理について図5のフローチャートを用いて説明する。ジョブ種別解析処理部104により、ジョブパッチの登録指示を受けたジョブパッチ登録処理部107は、ポストスクリプトファイル20’から、ジョブパッチ格納先のロケーションとファイル名とを取得する(ステップS51)。図10に示されるポストスクリプトファイル20’の例では、LOCATION=“PsGeneralAccess DriveProc”で示されている。したがって、ジョブパッチの格納先はジョブパッチバッファ108内の“PsGeneralAccess”であり、ファイル名は“DriverProc”となる。
【0063】
ジョブパッチ登録処理部107は、ステップS51で取得した名称のファイルを作成し、ファイルをオープンすることで書き込み可能の状態とする(ステップS52)。
【0064】
次に、ジョブパッチ登録処理部107は、ジョブパッチとして登録するポストスクリプトファイル20’のデータ容量を取得する(ステップS53)。ポストスクリプトファイル20’のデータ容量は、“SIZE=80390”で示されており、図10に示されるポストスクリプトファイル20’全体がジョブパッチバッファ108に登録される。
【0065】
そして、ジョブパッチ登録処理部107は、ステップS53で取得したデータ容量がゼロとなるまで、ステップS55、ステップS56を繰り返す(ステップS54)。ステップS55では、ジョブパッチ登録処理部107はデータ受信バッファ103から1バイト毎にファイルデータを読み出し、ステップS52でオープンしたファイルに読み出したファイルデータを書き込む。そして、ステップS56では、ジョブパッチ登録処理部107はステップS55にかかる処理が終了する度にステップS53で取得したデータ容量から1バイトを減ずる。
【0066】
ステップS55、ステップS56を繰り返し、ステップS53で取得したデータ容量がゼロとなった時点で(ステップS54 YES)、ジョブパッチ登録処理部107はファイルをクローズし(ステップS57)、ジョブパッチの登録処理を終了する。
【0067】
次に、再び図4を参照して、データ受信バッファ103に格納されたポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”でなかった場合の処理について説明する。データ受信バッファ103に格納されたポストスクリプトファイルの書き出し文が、“@PJL RESOURCEWRITE”でなかった場合(ステップS41 NO)、ジョブ種別解析処理部104は、データ受信バッファ103に格納されたポストスクリプトファイルは、上位装置Bから送信されたポストスクリプトジョブの実行にかかるポストスクリプトファイル30’、つまり、アノト電子フォームデータであると判断し、ジョブパッチ読出し処理部109に対してジョブパッチの読出し処理を実行するよう指示を与える。ジョブ種別解析処理部104により、ジョブパッチの読出し処理の指示を受けたジョブパッチ読出し処理部109は、ジョブパッチバッファ108に格納されたジョブパッチの読出し(ステップS43)、処理を実行する(ステップS44)。
【0068】
ここで、ジョブパッチ読出し処理について図6のフローチャートを用いて説明する。ジョブ種別解析処理部104により、ジョブパッチの読出し処理の指示を受けたジョブパッチ読出し処理部109は、ジョブパッチバッファ108に“DriverProc”と言う名称のファイルが登録されているか否かを確認する。ここで、図5で説明したジョブパッチの登録処理により、“DriverProc”と言う名称のジョブパッチがジョブパッチバッファ108に登録されている場合(ステップS61 YES)、ジョブパッチ読出し処理部109は、当該ジョブパッチの読出し処理を実行する(ステップS62)。そして、ジョブパッチ読出し処理部109は、データ受信バッファ103に格納されたポストスクリプトファイル30’が編集処理部104により実行される前に、ジョブパッチとしてのポストスクリプトファイル20’をポストスクリプトジョブとして実行する(ステップS63)。
【0069】
ジョブパッチ読出し処理部109が実行するポストスクリプトジョブの実行処理について図7のフローチャートを用いて説明する。図2に示されるポストスクリプトファイル20’がジョブパッチ読出し処理部109により実行されると、まず、図10中(1)の箇所で/C5900_ANOTOキーの設定値が(true)である旨の宣言がdefオペレータにより定義される(ステップS71)。そして、図10中(2)’の箇所で、ポストスクリプトインタプリタの標準のフォント定義オペレータである/definefontを新たな定義オペレータとして置換する(ステップS72)。なお、ステップS72では、後述するポストスクリプトファイル30’が編集処理部104によって実行される際に、当該ポストスクリプトファイル30’が認証指定されたアノト電子フォームデータであるか否かによって、ポストスクリプトファイル30’に対して実行される処理の選択を定義している。
【0070】
ジョブパッチ読出し処理部109によるジョブパッチとしてのポストスクリプトファイル20’の実行処理が終了すると、編集処理部104は、データ受信バッファ103に格納されたポストスクリプトファイル30’の処理を実行する。編集処理部104が実行するポストスクリプトジョブの実行処理について図12及び図13のフローチャートを用いて説明する。
【0071】
図11に示されるポストスクリプトファイル30’が編集処理部104により実行されると、まず、図11中(3)の箇所で“<<JobName (C5900_ANOTO)>> setuserparamas”が実行されることにより、ポストスクリプトインタプリタのユーザ辞書中のJobNameキーに(C5900_ANOTO)が設定値として宣言される(ステップS1201)。すなわち、ここで、当該ポストスクリプトファイル30’が、特定のアノト電子フォーム作成システムのアノト電子ファーム作成用アプリケーションソフトによって作成されたことが宣言される。
【0072】
そして、図11中(4)’の箇所で/DriverOps、/Prosetがスタックされ、/Prosetリソース中の/DriverOps辞書に/C5900_ANOTOキーが宣言されているか否かを判断する。/C5900_ANOTOキーが宣言されており、設定値が(true)である場合(ステップS1202 YES)、ここでの処理を終了し、後述するアノト独特のドットパターンをポストスクリプトジョブによって定義する。一方、C5900_ANOTOキーが宣言されていないか、あるいは、設定値が(true)でない場合(ステップS1202 NO)、特定のアノト電子フォーム作成システムのアノト電子ファーム作成用アプリケーションによって作成されたアノト電子フォームデータを特定のアノト電子フォーム作成システムにより認証指定されたプリンタ以外のポストスクリプトインタプリタ搭載のプリンタで印刷しようとしたとして、ポストスクリプトインタプリタの標準の印刷オペレータである/showpageを、未定義のオペレータである/undefined−operatorに置換し、ジョブエラーを発生させる(ステップS1203)。したがって、特定のアノト電子フォーム作成システムが認証指定されていないポストスクリプトインタプリタ搭載のプリンタに対して、特定のアノト電子フォーム作成システムのアノト電子フォーム作成用アプリケーションで作成されたアノト電子フォームデータが送信されても、当該アノト電子フォームデータにかかる印刷は実行されないことになる。なお、本実施形態においては、図7で説明したように、ジョブパッチとしてのポストスクリプトファイル20’により、/C5900_ANOTOキーの設定値が(true)である旨の宣言がdefオペレータにより定義されている。したがって、以降の説明では、特定のアノト電子フォーム作成システムにより認証指定されたポストスクリプトインタプリタ搭載のプリンタに対して、特定のアノト電子フォーム作成システムのアノト電子フォーム作成用アプリケーションで作成されたアノト電子フォームデータが送信された場合について説明する。
【0073】
図12のフローチャートで説明したポストスクリプトジョブの実行にかかる処理が終了した後、編集処理部104は、引き続き、アノト独特のドットパターンをポストスクリプトジョブによって定義する。このアノト独特のドットパターン定義は、ポストスクリプト言語のフォント定義によって実行されており、図11中(5)の箇所の、“/AnotoFont exch definefont pop”によって実行される。
【0074】
このとき、編集処理部104が実行するポストスクリプトジョブについて図13のフローチャートを用いて説明する。なお、図11中(5)の箇所の/definefontオペレータは、既に図7のステップS72の処理によって、新たな定義オペレータとして置換されている(図10中(2)の箇所)。したがって、ここでの処理においては、新たに定義された/definefontオペレータが実行される。
【0075】
ステップS1301において、編集処理部104は、/definefontオペレータで定義されるポストスクリプトフォントのフォント定義名称が/AnotoFontであるか否かを判断する。フォント定義名称が/AnotoFontと定義されている場合(ステップS1301 YES)、ポストスクリプトジョブにかかる処理はステップS1302に移行する。そして、編集処理部104は、更に、ポストスクリプトインタプリタのユーザ辞書の/JobNameキーの設定値が(C5900_ANOTO)であるか否かを判断する(ステップS1302)。
【0076】
/JobNameキーが宣言されていないか、あるいは、設定値が(C5900_ANOTO)でない場合(ステップS1302 NO)、編集処理部104は、アノト電子フォームデータは、アノト電子フォーム作成用アプリケーションを使用して作成されているが、特定のアノト電子ファーム作成システムではない一般システムが使用されたとして、ポストスクリプトインタプリタの標準の印刷オペレータである/showpageを、未定義のオペレータである/undefined−operatorに置換し、ジョブエラーを発生させる(ステップS1303)。ポストスクリプトインタプリタでは、ポストスクリプトオペレータの解析実行中にエラーを検出すると、直ちにポストスクリプトジョブにかかる処理を中断し、EOFまでデータ受信バッファ103に格納されたポストスクリプトファイルデータを受け捨てる。したがって、特定のアノト電子ファーム作成システムにより認証指定されたポストスクリプトインタプリタ搭載のプリンタに対して、特定のアノト電子フォーム作成システムではない一般システムのアノト電子フォーム作成用アプリケーションを使用して作成されたアノト電子フォームデータが送信されても、当該アノト電子フォームデータにかかる印刷は実行されないことになる。
【0077】
一方、JobNameキーが宣言されており、設定値が(C5900_ANOTO)である場合(ステップS1302 YES)、編集処理部104は、解析結果を逐次ディスプレイリストバッファ105に格納させる。そして、編集処理部104は、展開処理部110に対してプリントイメージデータを生成するよう指示を与える。
【0078】
展開処理部110は、編集処理部104の展開開始指示に基づいて、ディスプレイリストバッファ105に格納された編集処理部104による解析結果を順次読み出して、プリントイメージデータを生成し、当該プリントイメージデータをプリントイメージデータバッファ111に格納させる。また、展開処理部110は、エンジン制御処理部112に対してプリントイメージデータに基づく画像を印刷するようエンジン制御処理部112に指示を与える。
【0079】
エンジン制御処理部112は、展開処理部110による印刷実行指示を受けると、展開処理部110によりプリントイメージバッファ111に格納されたプリントイメージデータを読み出すと共に、エンジン部113と通信を行うことでプリントイメージデータに基づく画像の印刷をエンジン部113に実行させる。
【0080】
エンジン部113は、例えば、電子写真プリンタ方式の印刷エンジンであり、エンジン制御処理部112の制御によりプリントイメージデータに基づく画像を印刷媒体に印刷する。
【0081】
以上のように、第2の実施形態によれば、特定のアノト電子ファーム作成システムにより認証指定されたプリンタである宣言と、受信したアノト電子フォームデータが特定のアノト電子フォーム作成システムのアノト電子フォーム作成用アプリケーションで作成されたか否かを判断させると共に、一般システムのアノト電子フォーム作成アプリケーションで作成されたアノト電子フォームデータを受信したときは、未定義のオペレータである/undefined−operatorを実行させることにより、アノト電子フォームデータの印刷開始時に該当ページの破棄を実行させる。また、特定のアノト電子フォーム作成システムのアノト電子ファーム作成アプリケーションで作成されたアノト電子フォームを特定のアノト電子ファーム作成システムで認証指定されたプリンタ以外のポストスクリプトインタプリタ搭載のプリンタで印刷させるときは、未定義のオペレータである/undefined−operatorを実行させるポストスクリプト言語を付加することによってアノト電子フォームデータ印刷開始時に該当ページを破棄させる。したがって、既存のプリンタのプログラム、又は、アノト電子フォームデータの仕様に大きな変更を加えることなく、特定のシステムと特定のプリンタとの組み合わせが正しい場合のみ、特定のシステムのアプリケーションから出力されたアノト電子フォームデータを印刷することが可能となる。
【0082】
本発明の説明において、印刷システムとしてジョブパッチをプリンタ100に対して送信する上位装置Aと、アノト電子フォームデータをプリンタ100に対して送信する上位装置Bと、ジョブパッチ、若しくは、アノト電子フォームデータを受信すると共に、アノト電子フォームデータに基づく画像を印刷媒体に印刷することが可能なプリンタ100とを備えた印刷システムについて説明したが、本発明はこれに限定されるものではない。図14に示されるように、例えば、認証指定としてのジョブパッチのみを送信する上位装置Cと、特定のアノト電子フォーム作成システムのアノト電子フォーム作成アプリケーションで作成されたアノト電子フォームデータ、すなわち、正規のアノト電子フォームデータを送信する上位装置Dと、特定のアノト電子フォーム作成システムではない一般システムのアノト電子フォーム作成用アプリケーションを使用して作成されたアノト電子フォームデータ、すなわち、非正規のアノト電子フォームデータを送信する上位装置Eと、認証指定を受信したポストスクリプトインタプリタ搭載のプリンタ200と、認証指定を受信していないポストスクリプトインタプリタ搭載のプリンタ300とを備える印刷システムにおいても本発明を適用することができる。すなわち、本発明によれば、特定のシステムと特定のプリンタとの組み合わせが正しい場合のみ、ここでいう上位装置Dとプリンタ200との組み合わせのみ、正規のアノト電子フォームデータを印刷することができる。
【0083】
また、本発明の説明において、ポストスクリプトインタプリタ搭載のプリンタを一例として説明したが、本発明はこれに限定されるものではない。プリンタ以外にも、例えば、ポストスクリプトインタプリタ搭載の複合機、ファクシミリ等においても本発明を適用することができる。
【図面の簡単な説明】
【0084】
【図1】印刷システムの概略構成を説明するブロック図である。
【図2】プリンタに送信されるポストスクリプトファイルの一例を説明する図である。
【図3】プリンタに送信されるポストスクリプトファイルの一例を説明する図である。
【図4】ジョブ種別解析処理部が実行する解析処理を説明するフローチャートである。
【図5】ジョブパッチの登録処理を説明するフローチャートである。
【図6】ジョブパッチ読出し処理を説明するフローチャートである。
【図7】ポストスクリプトジョブの実行処理を説明するフローチャートである。
【図8】ポストスクリプトジョブの実行処理を説明するフローチャートである。
【図9】ポストスクリプトジョブの実行処理を説明するフローチャートである。
【図10】プリンタに送信されるポストスクリプトファイルの一例を説明する図である。
【図11】プリンタに送信されるポストスクリプトファイルの一例を説明する図である。
【図12】ポストスクリプトジョブの実行処理を説明するフローチャートである。
【図13】ポストスクリプトジョブの実行処理を説明するフローチャートである。
【図14】本発明の適用例を説明する図である。
【符号の説明】
【0085】
10 印刷システム
20 ポストスクリプトファイル
20’ ポストスクリプトファイル
30 ポストスクリプトファイル
30’ ポストスクリプトファイル
100 プリンタ
101 コントローラ部
102 受信処理部
103 データ受信バッファ
104 編集処理部
105 ディスプレイリストバッファ
106 ジョブ識別解析処理部
107 ジョブパッチ登録処理部
108 ジョブパッチバッファ
109 ジョブパッチ読出し処理部
110 展開処理部
111 プリントイメージバッファ
112 エンジン制御処理部
113 エンジン部

【特許請求の範囲】
【請求項1】
特定情報が認証指定として設定された印刷装置と、
特定アプリケーションにより作成された印刷情報を前記印刷装置に送信する上位装置とを備えた印刷システムであって、
前記特定アプリケーションは前記特定情報と対応する付加情報を前記印刷情報に付加する情報付加部を有し、
前記印刷装置は前記上位装置から送信された前記印刷情報に前記付加情報が含まれ、かつ、前記付加情報が前記特定情報と対応することを判断する判断部と、
前記印刷情報に前記付加情報が含まれ、かつ、前記付加情報が前記特定情報と対応すると前記判断部が判断した場合、前記印刷情報の印刷処理を実行すると共に、前記印刷情報に前記付加情報が含まれない、又は、含まれるとしても前記付加情報が前記特定情報と対応しないと前記判断部が判断した場合、前記印刷情報を破棄する印刷処理部とを備えることを特徴とする印刷システム。
【請求項2】
前記印刷処理部は前記印刷情報を破棄する場合、前記印刷データ中の印刷出力命令を情報消去命令に置換することを特徴とする請求項1記載の印刷システム。
【請求項3】
前記印刷処理部は前記印刷情報を破棄する場合、前記印刷情報中の印刷出力命令を未定義の処理実効命令に置換することを特徴とする請求項1記載の印刷システム。
【請求項4】
前記付加情報は前記印刷装置に前記特定情報が設定されているか否かを判断する命令を含むことを特徴とする請求項1記載の印刷システム。
【請求項5】
前記命令は前記印刷装置に前記特定情報が設定されていない場合、前記印刷情報中の印刷出力命令を情報消去命令に置換することを特徴とする請求項4記載の印刷システム。
【請求項6】
前記命令は前記印刷装置に前記特定情報が設定されていない場合、前記印刷情報中の印刷出力命令を未定義の処理実行命令に置換することを特徴とする請求項4記載の印刷システム。
【請求項7】
特定情報及び/又は特定アプリケーションにより作成された印刷情報の入力を受付ける受付部と、
前記受付部を介して受付けた情報が前記特定情報であった場合に、前記特定情報を格納する格納部と、
前記受付部を介して受付けた情報が前記印刷情報であった場合に、前記格納部に格納された前記特定情報を認証指定として設定する特定情報設定部と、
前記印刷情報に前記特定情報設定部により設定された前記特定情報に対応する付加情報が含まれているか否かを判断する判断部と、
前記印刷情報に前記付加情報が含まれ、かつ、前記付加情報が前記特定情報と対応すると前記判断部が判断した場合、前記印刷情報の印刷処理を実行すると共に、前記印刷情報に前記付加情報が含まれない、又は、含まれるとしても前記付加情報が前記特定情報と対応しないと前記判断部が判断した場合、前記印刷情報を破棄する印刷処理部とを備えることを特徴とする印刷装置。
【請求項8】
前記印刷処理部は前記印刷情報を破棄する場合、前記印刷データ中の印刷出力命令を情報消去命令に置換することを特徴とする請求項7記載の印刷装置。
【請求項9】
前記印刷処理部は前記印刷データを破棄する場合、前記印刷情報中の印刷出力命令を未定義の処理実効命令に置換することを特徴とする請求項7記載の印刷装置。
【請求項10】
前記付加情報は前記印刷装置に前記特定情報が設定されているか否かを判断する命令を含むことを特徴とする請求項7記載の印刷装置。
【請求項11】
前記命令は前記印刷装置に前記特定情報が設定されていない場合、前記印刷情報中の印刷出力命令を情報消去命令に置換することを特徴とする請求項10記載の印刷装置。
【請求項12】
前記命令は前記印刷装置に前記特定情報が設定されていない場合、前記印刷情報中の印刷出力命令を未定義の処理実行命令に置換することを特徴とする請求項10記載の印刷装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−294787(P2009−294787A)
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願番号】特願2008−146100(P2008−146100)
【出願日】平成20年6月3日(2008.6.3)
【出願人】(591044164)株式会社沖データ (2,444)
【出願人】(594202361)株式会社沖データシステムズ (259)
【Fターム(参考)】