[go: up one dir, main page]

JP4840968B2 - 情報処理装置、情報処理方法、コンピュータプログラム - Google Patents

情報処理装置、情報処理方法、コンピュータプログラム Download PDF

Info

Publication number
JP4840968B2
JP4840968B2 JP2006034319A JP2006034319A JP4840968B2 JP 4840968 B2 JP4840968 B2 JP 4840968B2 JP 2006034319 A JP2006034319 A JP 2006034319A JP 2006034319 A JP2006034319 A JP 2006034319A JP 4840968 B2 JP4840968 B2 JP 4840968B2
Authority
JP
Japan
Prior art keywords
automatic
printing
print
duplex printing
continuation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006034319A
Other languages
English (en)
Other versions
JP2006293990A (ja
JP2006293990A5 (ja
Inventor
孝一 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006034319A priority Critical patent/JP4840968B2/ja
Priority to US11/374,555 priority patent/US7865105B2/en
Publication of JP2006293990A publication Critical patent/JP2006293990A/ja
Publication of JP2006293990A5 publication Critical patent/JP2006293990A5/ja
Application granted granted Critical
Publication of JP4840968B2 publication Critical patent/JP4840968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/50Machine control of apparatus for electrographic processes using a charge pattern, e.g. regulating differents parts of the machine, multimode copiers, microprocessor control
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G2215/00Apparatus for electrophotographic processes
    • G03G2215/00362Apparatus for electrophotographic processes relating to the copy medium handling
    • G03G2215/00535Stable handling of copy medium
    • G03G2215/00556Control of copy medium feeding
    • G03G2215/00586Control of copy medium feeding duplex mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、印刷技術に関するものである。
一般に自動両面印刷を行う場合、印刷結果において次のような点が重要となる。
(1) 排紙された用紙の表面、裏面のどちらが上に向くか?
(2) ユーザの期待通りの印刷結果が得られるか?
従来の自動両面印刷では、例えば誤ったユーザ操作により1ページのドキュメントを自動両面印刷設定で印刷してしまった場合、プリンタドライバに依存して、両面印刷の印刷モードで印刷するか、あるいは、通常の片面印刷の印刷モードで印刷するかのどちらか固定の印刷モードで印刷が行われていた。具体的には次のような例が挙げられる。
[プリンタドライバAの例]
1ページのドキュメントを自動両面印刷設定で印刷した場合、1ページの印刷が完了した時点では用紙が排紙されず、その後自動両面ユニットを通してその用紙が反転されて排紙される。従って、通常の片面印刷と比べると、排紙された用紙の表面、裏面が反対になって、排紙トレイに排紙される。また、この1ページ印刷の時に施される印刷用の画像処理は、両面印刷用の画像処理(裏写りしないように少し薄め(低品位))となる。
<長所>
自動両面印刷設定で複数の印刷ジョブが印刷された場合、もしこれらの印刷ジョブ中に1ページの印刷ジョブが含まれていても、全ての印刷物(排紙された用紙)の向き(表面、裏面のどちらが上に向くか)が統一されて排紙トレイに排紙される。
<短所>
1ページ印刷の印刷品位が両面印刷の品位(低品位)になってしまう。
[プリンタドライバBの例]
1ページのドキュメントを自動両面印刷設定で印刷した場合、自動両面ユニットを通さずに、通常の片面印刷と同じパスで排紙するように制御する。また、この1ページ印刷の時に施される画像処理は、通常の片面印刷用の画像処理(高品位)となる。
<長所>
1ページ印刷の印刷品位が片面印刷の品位(高品位)になる。
<短所>
自動両面印刷設定で複数の印刷ジョブが印刷された場合、もしこれらの印刷ジョブ中に1ページの印刷ジョブが含まれていた場合、その1ページの印刷ジョブだけ印刷物の向き(表面、裏面のどちらが上に向くか)がそれ以外の印刷ジョブと比べて表面、裏面が反対になってしまい、印刷物の向きが統一されずに排紙トレイに排紙される。
また、アプリケーションによっては、1ページのドキュメントを自動両面印刷設定で印刷した場合、2ページ目として白紙(印刷画像データ無し)ページをプリンタドライバに出力してくるケースがある。
従来例としては、例えば特許文献1に示すような技術が存在する。
特登録03380598
しかしながら、上述の従来例の前者において、例えばプリンタドライバAの例とプリンタドライバBの例を比較した場合、それぞれ相反する一長一短があるので、全ての自動両面印刷のケースで常に最適な印刷結果が得られるわけではなく、上記短所で示すようなユーザの期待を裏切るような印刷結果となってしまうケースが存在するという問題があった。
また、上述の従来例の後者において、本来1ページであるはずの印刷ジョブが2ページ目が白紙(印刷画像データ無し)の2ページの印刷として処理されてしまうので、プリンタドライバAの例の短所で示すようなケースに陥り、ユーザの期待を裏切るような印刷結果となってしまうという問題もあった。
本発明は以上の問題に鑑みてなされたものであり、両面印刷を行う場合に、印刷ジョブ毎に好適な印刷制御を行うための技術を提供することを目的とする。
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
即ち、現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定手段と、
前記指定手段により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブのユーザ名と先に受けた印刷ジョブのユーザ名とを比較し、それぞれのユーザ名が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットする継続手段と、
前記継続手段により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続手段により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行手段と
を有することを特徴とする。
本発明の構成により、両面印刷を行う場合に、印刷ジョブ毎に好適な印刷制御を行うことができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
<システムの構成>
図1は、本実施形態に係る印刷システムの機能構成を示すブロック図である。本実施形態に係るシステムは同図に示す如く、PC(パーソナルコンピュータ)1と印刷装置(Printer)3とで構成されている。
PC1は図2で後述するようなハードウェアで構成され、OS(Operating System)として米国マイクロソフト社(登録商標)のWindows(登録商標) XPがインストールされている。
印刷装置3はABC社製のxyzというモデル名のカラーインクジェットプリンタであるとする。印刷装置3は図3で後述するようなハードウェアで構成され、PC1とUSB(Universal Serial Bus)ケーブル9を介して接続されており、互いに双方向通信が可能である。
50はPC1にインストールされているプリンタドライバであり、PC1のOS上から印刷装置3を制御する。プリンタドライバ50の詳細に関しては図4で後述する。10は印刷装置3に装着されている着脱可能な自動両面ユニットであり、印刷装置3にこれを装着することにより、PC1のOS上にインストールされているアプリケーションから印刷装置3にて自動的に両面印刷を行うことができる。尚、このような自動的に両面印刷を行う機能を自動両面印刷と呼ぶ。本実施形態では、自動両面ユニット10が印刷装置3に装着されているものとする。11はオートシートフィーダー(ASF)であり、ここに記録紙(用紙)をセットする。12は排紙トレイであり、印刷された記録紙(用紙)がここに排紙される。
<PC1の構成>
図2は、PC1のハードウェア構成を示すブロック図である。なお、同様の構成を有するのであれば、PC1の代わりにWS(ワークステーション)等のコンピュータを用いても良い。
1201はRAMで、HDD(ハードディスクドライブ)1202からロードされたプログラムやデータを一時的に記憶するためのエリア、CPU1204が各種の処理を実行するために用いるワークエリア等、各種のエリアを提供することができる。
1202はHDDで、ここにOSや印刷装置3のプリンタドライバ50、各種のアプリケーションプログラム、このアプリケーションプログラムでもって作成した各種のデータなどが保存されており、これらはCPU1204による制御に従ってRAM1201にロードされ、CPU1204による処理対象となる。
1203は操作部で、キーボードやマウスなどにより構成されており、操作者が操作することで、各種の指示をCPU1204に対して入力することができる。
1204はCPUで、PC1全体の制御を行うと共に、PC1が行う後述の各処理を実行する。
1205は表示装置で、CRTや液晶画面などにより構成されており、CPU1204による処理結果を画像や文字などでもって表示する。
1207はNB(ネットワークボード)で、USBケーブル9を介して印刷装置3とのデータ通信を制御する。
なお、上述の各部は共通のバスに接続されており、互いにデータのやり取りが可能となっている。また、PC1の構成はこれに限定するものではなく、このほかにも、CD−ROMやDVD−ROMなどの記録媒体に記録されたプログラムやデータを読み出すドライブ装置を備えるようにしても良い。
<印刷装置3の構成>
図3は、印刷装置3のハードウェア構成を示すブロック図である。15はマイクロプロセッサ等から構成されるCPUであり、ROM16に格納されているプログラムやデータを用いて印刷装置3を構成する各部を制御すると共に、印刷装置3が行う後述の各処理を実行する。
ROM16には図4を用いて後述するプリンタドライバ50の制御に従って印刷装置3が記録(印刷)処理を行う為にCPU15に実行させるプログラムが格納されている。RAM17は主にPC1から送信されたデータを一時的に記憶する。通信部18にはUSBケーブル9用の接続ポートが含まれており、USBケーブル9を介した通信の制御を行う。記録部19は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、PC1から送信された印字データをもとに記録ヘッドにて印字用パルスを発生させる為のASIC等から構成される電気回路とから構成される。
アプリケーション上での印刷操作によって、アプリケーションで開かれているファイルの表示内容(画像データ)が、EMF形式のスプールファイルとしてPC1のHDD1202に一時的に格納され、プリンタドライバ50を介して印刷装置3制御用コマンドを含む印字データ(図11で後述する印字パルス制御コマンド)に変換された後、USBケーブル9を介して印刷装置3に送られる。印刷装置3にて受信された印字データ(印字パルス制御コマンド)は、記録部19によって印字用パルスに変換されて、記録紙上に印刷される。
<プリンタドライバ50の構成>
図4は、HDD1202にインストールされているプリンタドライバ50の機能構成を示すブロック図である。同図に示す如く、プリンタドライバ50はPC1にインストールされているドライバであり、33〜36で示す複数のモジュールを備えている。
アプリケーション30は印刷指令やプリンタの状態表示が可能なアプリケーションソフトウェアであり、例えば、Windows(登録商標) XP OSに標準で同梱されているテキストエディタであるNotepad(Notepad.exe)等に相当する。尚、本実施形態では、アプリケーション30の例として図5で後述するようなNotepad(Notepad.exe)を用いる。31はGDI(Graphics Device Interface)であり、Windows(登録商標) XP OSの一部である。32はプリンタキューで、Windows(登録商標) XP OSのSpoolerの一部であり、印刷ジョブをキューイングする。
次にプリンタドライバ50の構成を説明する。33はプリントプロセッサであり、印刷レイアウトの変更や印刷画像の特殊処理を行う。34はグラフィックスドライバで、プリンタドライバ50の画像処理のコアとして動作し、GDI31から送られて来る描画命令に基づき印刷用の画像処理を行い、印刷制御コマンドを作成する。35はUI(ユーザインターフェース)モジュールで、プリンタドライバ50のUIの提供及び制御を行う。36はランゲージモニタ(以降、LMと略す場合がある)で、データの通信I/Fとしてデータの送受信を制御する。37はポートモニタであり、LM36から送られてくるデータを適切なポートに対して送信したり、印刷装置3から送られてくるデータを、クラスドライバ38を介して受信したりする。クラスドライバ38は、最もポートに近いローレベルのモジュールであり、本実施形態ではUSBケーブル9のプリンタクラスのドライバに相当し、ポート(本実施形態ではUSBポート)を制御する。
<印刷に係るダイアログ>
図5はWindows(登録商標) XP OSに標準のアプリケーションとして組み込まれているテキストエディタNotepad(Notepad.exe)から印刷を行う際の表示例を示す図である。同図の表示は表示装置1205の表示画面上になされる。
以降の説明で、ダイアログは全て、表示装置1205の表示画面上に表示されるものとして説明する。また、以下のダイアログに対する操作はキーボードやマウスを用いて行い、その操作を反映した処理は全てCPU1204が行う。
操作者はキーボードやマウスを用いて、同図のFileメニューから印刷メニュー(Print...)217を選択すると、CPU1204はこれを検知して、テキスト表示領域218に表示されているテキストの表示内容の印刷処理を開始するのであるが、先ず、図6に示すダイアログを表示装置1205の表示画面上に表示する。
図6はPrintダイアログの表示例を示す図である。上述の通り、図5において印刷メニュー217を選択すると、このダイアログが表示される。
219はプリンタ選択領域であり、この領域219内には、印刷を実行させることのできるプリンタを示すアイコンが表示されている。これらのアイコンのうち1つを指示すると、印刷を実行するプリンタを1つ指示することができる。同図では、印刷装置3(プリンタドライバ50)が選択されている状態を表している。
220はPreferencesボタンであり、これをキーボードやマウスでもって指示すると、CPU1204はこれを検知し、プリンタ選択領域219で選択されているプリンタまたはこのプリンタ用ドライバの詳細設定を行う為のダイアログを表示装置1205の表示画面上に表示する。
222はPrintボタンであり、これをキーボードやマウスでもって指示すると、CPU1204はこれを検知し、選択されている各設定で印刷を開始し、Printダイアログを閉じる。
223はCancelボタンであり、これをキーボードやマウスでもって指示すると、CPU1204はこれを検知し、印刷を開始せずにPrintダイアログを閉じる。
図7はプリンタドライバ50のUIモジュール35により提供されるPreferencesダイアログのMainシートの表示例を示す図である。同図において、20はプリンタドライバ50のPreferencesダイアログであり、図6において、プリンタ選択領域219でプリンタABC xyzが選択されている状態で、Preferencesボタン220が指示されると、CPU1204はこれを検知し、プリンタドライバ50のUIモジュールを起動することにより、図7に示すダイアログをこのシートが選択された状態で表示する。
81は用紙の種類(Media Type)を選択するためのメニューで、用紙の種類を普通紙(Plain Paper)、はがき(Hagaki)、インクジェット官製葉書(Ink Jet Hagaki)から選択することができる。
82は印刷品位(Print Quality)を選択するためのラジオボタン群であり、対応するラジオボタンを指示することで、印刷品位をきれい(High)、標準(Standard)、速い(Fast)から選択することができる。
83は色調整(Color Adjustment)を選択する為のラジオボタン群であり、対応するラジオボタンを指示することで、印刷時の色を自動(Auto)、マニュアル(Manual)の何れかで調整することができる。マニュアル(Manual)を選択した場合、設定(Set...)ボタン84が有効となり、このボタン84を指示すると、CPU1204はこれを検知し、不図示のマニュアル色調整ダイアログを表示し、このマニュアル色調整ダイアログにより、シアン、マゼンタ、イエロー、ブラックのカラーバランスの調整、濃度の調整、ICMのオン/オフ、マッチング方法の選択(自動、写真用、グラフィックス用、しない)、明るさの調整(明るく、通常、暗く)をマニュアル操作で行うことができる。
85は設定を標準に戻す為の(Defaults)ボタンであり、このボタンを指示すると、CPU1204はこれを検知し、Mainシートの設定を初期化して印刷設定情報に初期値をセットし、設定を更新して保存する。
88は適用(Apply)ボタンであり、このボタンを指示すると、CPU1204はこれを検知し、その時の印刷設定情報をセットして設定を更新してHDD1202内のレジストリに保存する。
89はヘルプ(Help)ボタンであり、このボタンを指示すると、CPU1204はこれを検知し、プリンタドライバ50のヘルプを表示する。
86はOKボタンであり、このボタンを指示すると、CPU1204はこれを検知し、その時の印刷設定情報をDEVMODE構造体(図27で後述する)とHDD1202内のレジストリにセットして設定を更新して保存した後、Preferencesダイアログを閉じる。
87はCancelボタンであり、このボタンを指示すると、CPU1204はこれを検知し、印刷設定情報を更新せずにPreferencesダイアログを閉じる。
ここで、DEVMODE構造体はWindows(登録商標) XP OS用のアプリケーションとプリンタドライバとの間の印刷処理に使用される構造体(印刷設定登録情報)で、OSで定義されているパブリック領域と、必要に応じて各プリンタドライバの製造元で任意に定義可能なプライベート領域とに分かれている。このDEVMODE構造体に関しては公知であり、その使用方法も一般的であるので、本実施形態と関わりのある部分に関して図27で後述するとして、ここではその詳細説明を省略する。レジストリはWindows(登録商標) XP OS用のプリンタドライバが各印刷設定情報を保存することができる公知の領域であり、その使用方法も一般的であるので、ここではその詳細説明を省略する。
図8はPreferencesダイアログ20のPage Setupシートを表す図である。図7のPreferencesダイアログ20のMainシートが表示されている時に、Page Setupタブが選択されると、このシートが表示される。
同図において、23は用紙サイズ(Page Size)を選択するためのメニューであり、用紙のサイズをA4、Letter、Hagaki 100x148mm等の中から選択することができる。
24は印刷の向き(Orientation)を選択するためのラジオボタン群で、対応するラジオボタンを指示することで、印刷の向きを縦(Portrait)、横(Landscape)から選択することができる。
22は印刷の種類(Printing Type)を選択するための領域であり、印刷の種類を等倍印刷(Normal-size Printing)、フィットページ印刷(Fit-to-Page Printing)、拡大/縮小印刷(Scaled Printing)、割り付け印刷(Page Layout Printing)から選択することができる。
21は部数(Copies)指定部であり、印刷部数を1〜999部の範囲で指定できる。
25は両面印刷選択部であり、両面印刷(Duplex Printing)チェックボックス27、自動(Automatic)チェックボックス28、とじ方向(Staple Side)選択メニュー29、自動両面印刷の設定ボタン26から構成され、手動両面印刷、自動両面印刷を選択したり、両面印刷に関する詳細設定を選択したりすることができる。
両面印刷チェックボックス27は両面印刷のオン/オフを選択するチェックボックスであり、このチェックボックスがチェックされている時は両面印刷を行い、チェックされていない時は片面印刷を行う。
自動チェックボックス28は両面印刷チェックボックス27がチェックされている時に有効となり、チェックされていない時は無効(グレーアウト)となるチェックボックスであり、両面印刷チェックボックス27がチェックされていて、かつ、自動チェックボックス28もチェックされている時は自動両面印刷モードで動作して自動両面印刷を行い、両面印刷チェックボックス27がチェックされていて、かつ、自動チェックボックス28がチェックされていない時は手動両面印刷モードで動作して手動両面印刷を行う。
自動両面印刷とは、自動両面ユニット10が印刷装置3に装着されている時に自動両面印刷が行われた場合に、プリンタドライバ50から送信される1ページ目から順に1、2、3、・・・というように各ページの印刷を印刷装置が順に行う。そして、印刷装置は、ASF11にセットされている用紙の表面に対する奇数ページの印刷が完了した時点でその用紙を排紙トレイ12上に排紙せずに自動両面ユニット10内でその用紙を反転して、その用紙の裏面に対する、その奇数ページの次の偶数ページの印刷を行い、その偶数ページの印刷が完了した時点でその用紙を排紙トレイ12上に排紙する、という動作を行って両面印刷を実行する。尚、自動両面ユニット10内での反転や用紙の排紙に関するメカニカルな機構に関しては、公知の一般的な機構を用いて実現することができ、本実施形態の特徴を表す部分ではないので、詳細な説明は省略する。
手動両面印刷とは、手動両面が行われた場合に、プリンタドライバ50から送信される1ページ目から順に1、3、5、・・・というように奇数ページをASF11にセットされている用紙の表面にまず先に印刷装置が印刷する。そして、各奇数ページの印刷が完了した時点でその用紙が一度排紙トレイ12上に排紙され、全奇数ページの印刷が完了した時点で排紙トレイ12上に排紙されている全奇数ページの印刷が完了している用紙を、ユーザが手動でASF11に再セットした後、プリンタドライバ50から送信される2ページ目から順に2,4,6、・・・というように偶数ページをASF11に再セットされている用紙の裏面に印刷し、各偶数ページの印刷が完了した時点でその用紙が排紙トレイ12上に排紙される、というような両面印刷である。
とじ方向選択メニュー29はとじ方向を選択する為のメニューであり、とじ方向を長辺とじ(Long-side stapling)、短辺とじ(Short-side stapling)の何れかの中から選択することができる。
自動両面印刷の設定ボタン26は、自動両面印刷の詳細設定を行う為の自動両面印刷の設定ダイアログを表示する為のボタンであり、このボタンを指示すると、CPU1204はこれを検知して、プリンタドライバ50のUIモジュール35を用いて、図9で後述する自動両面印刷の設定ダイアログを表示する。
図9は自動両面印刷の設定ダイアログの表示例を示す図である。同図において、71は自動両面印刷の設定ダイアログであり、このダイアログを操作することにより自動両面印刷時の各詳細設定をセットすることができる。
72は自動両面印刷の設定操作部であり、自動判別ラジオボタン73、常に両面ラジオボタン74、両面(1ページ印刷は片面)ラジオボタン75から構成される。これら3つのラジオボタンはどれか一つだけが選択できるようになっている。
ラジオボタン73の「自動判別」モードが選択されている場合、プリンタドライバ50は、印刷ジョブ内の印刷画像データや印刷設定情報(用紙サイズ、用紙の種類、印刷品位、etc.)等を解析して、その印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つとして取り扱われるものであるのか、あるいは、複数の自動両面印刷の印刷ジョブの中に紛れ込んだ通常の片面印刷の印刷ジョブであるのかを判別し、その判別結果に基づいて印刷モードを自動両面印刷あるいは片面印刷の何れかに決定し、排紙方法や画像処理等の印刷制御を切り換える。
ラジオボタン74の「常に両面」モードが選択されている場合、プリンタドライバ50は、印刷ジョブを常に両面印刷のものであるとして印刷モードを自動両面印刷に決定し、排紙方法や画像処理等の印刷制御を自動両面印刷用のもので行う。
ラジオボタン75の「両面(1ページ印刷は片面)」モードが選択されている場合、プリンタドライバ50は、印刷ジョブが1ページの印刷である場合は片面印刷であるとして印刷モードを片面印刷に決定し、排紙方法や画像処理等の印刷制御を片面印刷用のもので行う。また、印刷ジョブが2ページ以上の印刷である場合は両面印刷であるとして印刷モードを両面印刷に決定し、排紙方法や画像処理等の印刷制御を自動両面印刷用のもので行う。
<DEVMODE構造体について>
図27はDEVMODE構造体の構成を示す図である。同図において、210はDEVMODE構造体であり、OSで定義されているパブリック領域211とプリンタドライバ50で定義されているプライベート領域212から構成される。
プライベート領域212には両面印刷フラグ200、自動フラグ201、自動判別フラグ202、常に両面フラグ203、両面(1ページ印刷は片面)フラグ204、印刷総ページ数205のメンバーが含まれている。
両面印刷フラグ200には両面印刷チェックボックス27の状態が反映され、このチェックボックス27がチェックされている時にはこの両面印刷フラグ200はセットされ、チェックされていない時は両面印刷フラグ200はクリアされる。
自動フラグ201には自動チェックボックス28の状態が反映され、このチェックボックス28がチェックされている時にはこの自動フラグ201はセットされ、チェックされていない時はこの自動フラグ201はクリアされる。
自動判別フラグ202にはラジオボタン73の状態が反映され、このラジオボタン73が選択されている時にはこの自動判別フラグ202はセットされ、選択されていない時はこの自動判別フラグ202はクリアされる。
常に両面フラグ203にはラジオボタン74の状態が反映され、このラジオボタン74が選択されている時にはこの両面フラグ203はセットされ、選択されていない時はこの両面フラグ203はクリアされる。
両面(1ページ印刷は片面)フラグ204にはラジオボタン75の状態が反映され、このラジオボタン75が選択されている時にはこの両面(1ページ印刷は片面)フラグ204はセットされ、選択されていない時はこの両面(1ページ印刷は片面)フラグ204はクリアされる。
印刷総ページ数205には印刷ジョブの印刷総ページ数がセットされる。
<片面/両面印刷制御コマンドについて>
図10は片面/両面印刷制御コマンドを表す図である。片面/両面印刷制御コマンドはプリンタドライバ50によって生成され、PC1から印刷装置3へ送られる制御コマンドのうちの1つであり、片面印刷または両面印刷を制御するコマンドである。
このコマンドはコマンドID、印刷モード、ページ設定、回転制御、排紙制御から構成される。
コマンドIDは0008[HEX]であり、このコマンドが片面/両面印刷制御コマンドであることを表す。
印刷モードには片面印刷(両面印刷オフ)を表す0010[HEX]、手動両面印刷を表す0020[HEX]、自動両面印刷を表す0030[HEX]の内の何れか一つがセットされる。
ページ設定には印刷モードが手動両面印刷を表す0020[HEX]の時は設定されたページ後に表裏反転を行うページ数が0001〜FFFE[HEX]の範囲内でセットされ、印刷モードがそれ以外の時は印刷総ページ数が0001〜FFFE[HEX]の範囲内でセットされるか、あるいは、印刷総ページ数不明を表すFFFF[HEX]がセットされる。
回転制御には印刷モードが片面印刷(両面印刷オフ)を表す0010[HEX]の時は初期値(用紙回転軸:回転無し、用紙タイプ:指定無し、印刷の向き:指定無し)を表す0000[HEX]がセットされ、印刷モードがそれ以外の時は用紙回転軸に回転無しを表す0000[HEX]、紙送り方向に対して垂直軸で回転を表す1000[HEX]、紙送り方向に対して平行軸で回転を表す2000[HEX]、用紙面に対して垂直軸で回転を表す3000[HEX]の内の何れか一つと、用紙タイプに指定無しを表す0000[HEX]、縦長を表す0100[HEX]、横長を表す0200[HEX]、縦横比1:1を表す0300[HEX]の内の何れか一つと、印刷の向きに指定無しを表す0000[HEX]、縦を表す0010[HEX]、横を表す0020[HEX]の内の何れか一つとがそれぞれ加算されてセットされる。
排紙制御には印刷モードが自動両面印刷を表す0030[HEX]の時はプリンタ内で何もしない制御を行わせる0000[HEX]、奇数ページ印刷の場合、最終ページをプリンタ内で自動両面ユニットを通して自動的に排紙する制御を行わせる1000[HEX]、3ページ以上の奇数ページ印刷の場合、最終ページをプリンタ内で自動両面ユニットを通して自動的に排紙する制御を行わせる2000[HEX]の内の何れか一つがセットされ、印刷モードがそれ以外の時はプリンタ内で何もしない制御を行わせる初期値0000[HEX]がセットされる。
印刷装置3がこのような片面/両面印刷制御コマンドを受信すると、上記内容に従って印刷制御を行う。
<印字パルス制御コマンドについて>
図11は印字パルス制御コマンドを表す図である。印字パルス制御コマンドはプリンタドライバ50によって生成され、PC1から印刷装置3へ送られる制御コマンドのうちの1つであり、記録部19で発生される印字用パルスを制御するコマンドである。このコマンドはコマンドID、色、データ長、印字パルスデータから構成される。
コマンドIDは000A[HEX]であり、このコマンドが印字パルス制御コマンドであることを表す。色にはシアンを表す0010[HEX]、マゼンタを表す0020[HEX]、黄を表す0030[HEX]、黒を表す0040[HEX]の内の何れか一つがセットされる。データ長には印字パルスデータの長さ(バイト数)が0000〜FFFF[HEX]の範囲内で指定(セット)される。印字パルスデータにはデータ長で指定されたバイト数で構成される印字パルスデータがセットされる。印字パルスデータはバイナリデータであり、印字パルスを発生させる部分(画素)のビットをセット(値=1)し、印字パルスを発生させない部分(画素)のビットをクリア(値=0)する。
印刷装置3がこの印字パルス制御コマンドを受信すると、印字パルスデータがセット(値=1)されている場合は記録部19で印字パルスを発生させて記録紙上に印字し、印字パルスデータがクリア(値=0)されている場合は記録部19で印字パルスを発生させず記録紙上に印字しない。
<ページ制御コマンドについて>
図12はページ制御コマンドを表す図である。ページ制御コマンドはプリンタドライバ50によって生成され、PC1から印刷装置3へ送られる制御コマンドの内の1つであり、印刷しているページに関する情報を印刷装置3に伝えるコマンドである。このコマンドはコマンドID、ページ番号、総ページ数、開始/終了から構成される。
コマンドIDは000C[HEX]であり、このコマンドがページ制御コマンドであることを表す。ページ番号には印刷中のページ番号が0001〜FFFE[HEX]の範囲内でセットされる。総ページ数には総ページ数が0001〜FFFE[HEX]の範囲内でセットされるか、あるいは、印刷総ページ数不明を表すFFFF[HEX]がセットされる。このコマンドはページの開始時と終了時にPC1から印刷装置3へ送られるので、開始/終了にはその時の状況に応じてページの開始を表す0000[HEX]、ページの終了を表す0001[HEX]のどちらか一方がセットされる。印刷装置3がこのページ制御コマンドを受信すると、その内容が表す情報、すなわち、印刷しているページに関する情報に従って印刷制御を行う。
<それぞれのコマンドの作成例>
図13は片面印刷の制御コマンドの例を表す図である。同図に示すような印刷設定で印刷総ページ数が5ページの片面印刷を行った場合、制御コマンドに示す片面/両面印刷制御コマンドがPC1から印刷装置3へ送られる。具体的には、制御コマンドとして、コマンドIDの片面/両面印刷制御コマンド「0008」、印刷モードの片面印刷「0010」、ページ設定の印刷総ページ数「0005」が指定されている。
図14は手動両面印刷の制御コマンドの例を表す図である。同図に示すような印刷設定で印刷総ページ数が5ページの手動両面印刷を行った場合、制御コマンドに示す片面/両面印刷制御コマンドがPC1から印刷装置3へ送られる。具体的には、制御コマンドとして、コマンドIDの片面/両面印刷制御コマンド「0008」、印刷モードの手動両面印刷「0020」、ページ設定の表裏反転をユーザが行うページ番号「0003」、更に、用紙回転軸と用紙タイプと印刷の向きを示す「2110(用紙送りに対して並行軸で回転、縦長用紙、印刷の向きが縦)」が指定されている。
図15は自動両面印刷の制御コマンドの例を表す図である。同図に示すような印刷設定で印刷総ページ数が5ページの自動両面印刷を行った場合、制御コマンドに示す片面/両面印刷制御コマンドがPC1から印刷装置3へ送られる。具体的には、制御コマンドとして、コマンドIDの片面/両面印刷制御コマンド「0008」、印刷モードの両面印刷「0030」、ページ設定の印刷総ページ数「0005」、用紙回転軸と用紙タイプと印刷の向きを示す「2110(用紙送りに対して並行軸で回転、縦長用紙、印刷の向きが縦)」、更に、排紙制御の印刷モードで「3ページ以上の奇数ページ印刷の場合、最終ページをプリンタ内で自動両面ユニットを通して自動的に排紙する」ために「2000」が指定されている。
<印刷モード制御テーブルについて>
図16は自動両面印刷かつ自動判別73が選択されている場合に、プリンタドライバ50において、印刷ジョブ内の印刷画像データまたは印刷設定を用いて印刷モードを決定する為に参照される印刷モード制御テーブルの構成例を示す図である。同図のテーブルのデータはプリンタドライバ50内に含められており、同図に示すようなテーブルを参照することで、印刷画像データとしてカラー画像(Color Image)、モノクロテキスト(Monochrome Text)、印刷設定として用紙サイズ(Page Size)選択部23で選択される用紙サイズ、用紙の種類(Media Type)選択部81で選択される用紙の種類、印刷品位(Print Quality)選択部82で選択される印刷品位の組み合わせから、印刷モードを片面印刷、自動両面印刷のどちらか一方に決定することができる。
例えば、No.1の行に着目した場合、印刷画像データがカラー画像(Color Image)、用紙サイズがLetter、用紙の種類(Media Type)が普通紙(Plain Paper)、印刷品位(Print Quality)がきれい(High)の時の印刷モードが片面印刷であることがわかる。これは、自動両面印刷が選択されている場合であっても、印刷画像データがカラー画像の場合は、用紙サイズ:Letterの普通紙に印刷品位:きれいで印刷するケースは片面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが複数の自動両面印刷の印刷ジョブの中に紛れ込んだ通常の片面印刷の印刷ジョブである、という判断を自動的に行っていることになる。
次に、No.3の行に着目した場合、印刷画像データがカラー画像(Color Image)、用紙サイズがLetter、用紙の種類が普通紙(Plain Paper)、印刷品位が速い(Fast)の時の印刷モードが自動両面印刷であることがわかる。これは自動両面印刷が選択されている場合において、印刷画像データがカラー画像の場合は、用紙サイズ:Letterの普通紙に印刷品位:速いで印刷するケースは自動両面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つである、という判断を自動的に行っていることになる。
次に、No.10の行に着目した場合、印刷画像データがモノクロテキスト(Monochrome Text)、用紙サイズがA4、用紙の種類が普通紙(Plain Paper)、印刷品位がきれい(High)の時の印刷モードが片面印刷であることがわかる。これは自動両面印刷が選択されている場合であっても、印刷画像データがモノクロテキストの場合は、用紙サイズ:A4の普通紙に印刷品位:きれいで印刷するケースは片面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが複数の自動両面印刷の印刷ジョブの中に紛れ込んだ通常の片面印刷の印刷ジョブである、という判断を自動的に行っていることになる。
次に、No.11の行に着目した場合、印刷画像データがモノクロテキスト(Monochrome Text)、用紙サイズがA4、用紙の種類が普通紙(Plain Paper)、印刷品位が標準(Standard)の時の印刷モードが自動両面印刷であることがわかる。これは自動両面印刷が選択されている場合において、印刷画像データがモノクロテキストの場合は、用紙サイズ:A4の普通紙に印刷品位:標準で印刷するケースは自動両面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つである、という判断を自動的に行っていることになる。
次に、No.13の行に着目した場合、印刷画像データがカラー画像(Color Image)、用紙サイズがHagaki 100x148mm、用紙の種類がはがき(Hagaki)、印刷品位がきれい(High)の時の印刷モードが自動両面印刷であることがわかる。これは自動両面印刷が選択されている場合において、印刷画像データがカラー画像の場合は、用紙サイズ:Hagaki 100x148mmのはがきに印刷品位:きれいで印刷するケースは自動両面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つである、という判断を自動的に行っていることになる。
次に、No.17の行に着目した場合、印刷画像データがモノクロテキスト(Monochrome Text)、用紙サイズがHagaki 100x148mm、用紙の種類がはがき(Hagaki)、印刷品位が標準(Standard)の時の印刷モードが自動両面印刷であることがわかる。これは自動両面印刷が選択されている場合において、モノクロテキストの場合は、用紙サイズ:Hagaki 100x148mmのはがきに印刷品位:標準で印刷するケースは自動両面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つである、という判断を自動的に行っていることになる。
次に、No.21の行に着目した場合、印刷画像データがカラー画像(Color Image)、用紙サイズがHagaki 100x148mm、用紙の種類がインクジェット官製葉書(Ink Jet Hagaki)、印刷品位が速い(Fast)の時の印刷モードが自動両面印刷であることがわかる。これは自動両面印刷が選択されている場合において、印刷画像データがカラー画像の場合は、用紙サイズ:Hagaki 100x148mmのインクジェット官製葉書に印刷品位:速いで印刷するケースは自動両面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つである、という判断を自動的に行っていることになる。
次に、No.22の行に着目した場合、印刷画像データがモノクロテキスト(Monochrome Text)、用紙サイズがHagaki 100x148mm、用紙の種類がインクジェット官製葉書(Ink Jet Hagaki)、印刷品位がきれい(High)の時の印刷モードが自動両面印刷であることがわかる。これは自動両面印刷が選択されている場合において、印刷画像データがモノクロテキストの場合は、用紙サイズ:Hagaki 100x148mmのインクジェット官製葉書に印刷品位:きれいで印刷するケースは自動両面印刷であるケースが大多数であるというリサーチのもとに、この印刷モードに決定している。つまり、この印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つである、という判断を自動的に行っていることになる。
このようなリサーチ結果の他に、次のようなカラーインクジェットプリンタを利用した印刷システムの特徴をもとに、このテーブルを作成している。
・ 一般にカラーインクジェットプリンタで印刷する場合、印刷品位が高品位な程、表面に印刷したインクが裏写りする。

・ 用紙の種類が比較的薄い普通紙(Plain Paper)の場合で、印刷画像データがカラー画像(Color Image)で印刷品位がきれい(High)または標準(Standard)の場合は裏写りする可能性が高いので、両面印刷にはあまり適さない。

・ 用紙の種類が比較的薄い普通紙(Plain Paper)の場合で、印刷画像データがモノクロテキスト(Monochrome Text)で印刷品位がきれい(High)の場合は裏写りする可能性が高いので、両面印刷にはあまり適さない。

・ 用紙の種類が比較的厚いはがき(Hagaki)やインクジェット官製葉書(Ink Jet Hagaki)の場合、印刷画像データに依存することなく裏写りがほとんど無いので、ほとんどのケースで両面印刷に適している。
なお、印刷画像データの解析はグラフィックスドライバ34で行われる。具体的には印刷ジョブ内の印刷画像データを解析して、カラー画像、モノクロテキスト、白紙(印刷画像データ無し)等の識別を行う。
本実施形態ではこのような範囲で識別しているが、印刷画像データをもっと詳細に解析して、例えば、画像の色や形、文字(テキスト)が含まれているか等から、写真であるのか、グラフであるのか、表であるのか、モノクロテキストであるのか、カラーテキストであるのか、モノクロ線画であるのか、グレースケール画像であるのか、あるいはこれらが合成されたものであるのか等の広い範囲で識別して、印刷モードを決定してもよい。以上は一例であるので、印刷画像データや印刷設定はこの例に限られることなく、印刷モードに影響を与える任意の情報の組み合わせから印刷モードを決定することが可能である。尚、実際の自動両面印刷時におけるこのテーブルの使われ方の詳細に関しては、図31で後述する。
<プリンタドライバ50の動作>
次に、CPU1204がプリンタドライバ50を実行することで行われる処理について、同処理のフローチャートを示す図17を用いて以下説明する。
操作者がキーボードやマウスを用いて、図6のPrintダイアログ上のPrintボタン222を指示すると、CPU1204はこれを検知して、プリンタドライバ50を動作させる。先ず、図30で後述する印刷ジョブ情報の保存処理を行い(ステップS1712)、プリンタドライバ50は、印刷ジョブ内のDEVMODE構造体210(印刷設定情報)を参照し(ステップS1702)、両面印刷フラグ200がクリアされているか否か(両面印刷チェックボックス27がチェックされているか否か)をチェックし(ステップS1703)、両面印刷フラグ200がクリアされている(両面印刷チェックボックス27がチェックされていない)場合には処理をステップS1708に進め、印刷装置3に片面印刷処理をさせるべく処理を行う(ステップS1708)。ステップS1708における処理の詳細については図18を用いて後述する。そして印刷処理を終了する。
一方、ステップS1703において、両面印刷フラグ200がセットされている(両面印刷チェックボックス27がチェックされている)場合には処理をステップS1704に進め、プリンタドライバ50は、自動フラグ201がクリアされているか否か(自動チェックボックス28がチェックされているか否か)をチェックし(ステップS1704)、自動フラグ201がクリアされている(自動チェックボックス28がチェックされていない)場合には処理をステップS1709に進め、印刷装置3に手動両面印刷処理をさせるべく処理を行う(ステップS1709)。ステップS1709における処理の詳細については図19を用いて後述する。そして印刷処理を終了する。
一方、ステップS1704において、自動フラグ201がセットされている(自動チェックボックス28がチェックされている)場合には処理をステップS1705に進め、プリンタドライバ50は、自動判別フラグ202がセットされているか否か(自動判別ラジオボタン73が選択されているか否か)をチェックし(ステップS1705)、自動判別フラグ202がセットされている(自動判別ラジオボタン73が選択されている)場合には処理をステップS1710に進め、印刷装置3に自動判別自動両面印刷処理をさせるべく処理を行う(ステップS1710)。ステップS1710における処理の詳細については図31を用いて後述する。そして印刷処理を終了する。
一方、ステップS1705において、自動判別フラグ202がクリアされている(自動判別ラジオボタン73が選択されていない)場合には処理をステップS1706に進め、プリンタドライバ50は、常に両面フラグ203がセットされているか否か(常に両面ラジオボタン74が選択されているか否か)をチェックし(ステップS1706)、常に両面フラグ203がセットされている(常に両面ラジオボタン74が選択されている)場合には処理をステップS1711に進め、印刷装置3に常に両面印刷処理をさせるべく処理を行う(ステップS1711)。ステップS1711における処理の詳細については図20を用いて後述する。そして印刷処理を終了する。
一方、ステップS1706において、常に両面フラグ203がクリアされている場合(常に両面ラジオボタン74が選択されていない場合)場合には両面(1ページ印刷は片面)フラグ204がセットされている(ラジオボタン75が選択されている)ということになるので、処理をステップS1707に進め、プリンタドライバ50は、アプリケーション30からGDI31を介してプリンタキュー32に格納されている印刷データを解析し、印刷総ページ数205が1ページであるか否かをチェックし(ステップS1707)、1ページの場合には処理をステップS1708に進める。一方、印刷総ページ数205が複数ページである場合には処理をステップS1711に進める。
図30は上記ステップS1712における処理の詳細を示すフローチャートである。プリンタドライバ50は、GDI31から渡された印刷ジョブからその印刷ジョブのユーザ名を取得して、HDD1202内のレジストリの所定のキーに保存し(ステップS3001)、その印刷ジョブからアプリケーション名を取得して、HDD1202内のレジストリの所定のキーに保存し(ステップS3002)、OSからその時点における年月日を含む時刻を取得して、HDD1202内のレジストリの所定のキーに保存し(ステップS3003)、その印刷ジョブから印刷設定を取得して、HDD1202内のレジストリの所定のキーに保存し(ステップS3004)、その印刷ジョブから印刷画像データの種類を取得して、HDD1202内のレジストリの所定のキーに保存し(ステップS3005)、図17のフローチャートにリターンする。尚、HDD1202内のレジストリの所定のキーに保存された情報は、OSが再起動またはシャットダウン等をされたり、PC1の電源が落とされてもHDD1202内に保存された状態が保たれる。
なお、本実施形態では、ステップS1705で、図9の73の自動判別のラジオボタンが選択されていると判別された場合、ステップS1710の自動判別自動両面印刷を実行した。
しかしながら、図8の28のAutomatic(自動)の設定をできなくし、ステップS1704、ステップS1705の処理をなくし、ステップS1703でYESと判別された場合にステップS1710に進み、自動判別自動両面印刷を実行することもできる。
また、図8の26の自動両面印刷の設定をできなくし、ステップS1705の処理をなくし、ステップS1704でYESと判別された場合にステップS1710に進み、自動判別自動両面印刷を実行することもできる。
図18は、上記ステップS1708における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、図10で示す片面/両面印刷制御コマンドを用いて図13で示すような片面印刷制御コマンドを生成し(ステップS1802)、図11で示す印字パルス制御コマンドと図12で示すページ制御コマンドを用いて片面印刷用印字制御コマンドを生成し(S1803)、片面印刷制御コマンドと片面印刷用印字制御コマンドとをNB1207によって印刷装置3へ送信し(ステップS1804)、図17のフローチャートにリターンする。
図19は、上記ステップS1709における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、図10で示す片面/両面印刷制御コマンドを用いて図14で示すような手動両面印刷制御コマンドを生成し(ステップS1902)、図11で示す印字パルス制御コマンドと図12で示すページ制御コマンドを用いて手動両面印刷用印字制御コマンドを生成し(ステップS1903)、手動両面印刷制御コマンドと手動両面印刷用印字制御コマンドとをNB1207によって印刷装置3へ送信し(ステップS1904)、図17のフローチャートにリターンする。
図20は、上記ステップS1711における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、図10で示す片面/両面印刷制御コマンドを用いて図15で示すような自動両面印刷制御コマンドを生成し(ステップS2002)、図11で示す印字パルス制御コマンドと図12で示すページ制御コマンドを用いて自動両面印刷用印字制御コマンドを生成し(ステップS2003)、自動両面印刷制御コマンドと自動両面印刷用印字制御コマンドとをNB1207によって印刷装置3へ送信し(ステップS2004)、図17のフローチャートにリターンする。
図31は、上記ステップS1710における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、図32で後述するユーザ名の確認処理を行い(ステップS3101)、自動判別継続の場合(ステップS3102)、図33で後述するアプリケーション名の確認処理を行い(ステップS3103)、自動判別継続の場合(ステップS3104)、図34で後述する時刻の確認処理を行い(ステップS3105)、自動判別継続の場合(ステップS3106)、図35で後述する印刷設定と印刷画像データの種類の確認処理を行い(ステップS3107)、自動判別継続の場合(ステップS3108)、図21で後述する自動判別自動両面印刷実行処理を行い(ステップS3109)、図17のフローチャートにリターンする。ステップS3108において、自動判別継続以外の場合、図20に示す常に自動両面印刷の処理を行い(ステップS3110)、図17のフローチャートにリターンする。ステップS3106において、自動判別継続以外の場合、ステップS3110に進む。ステップS3104において、自動判別継続以外の場合、ステップS3110に進む。ステップS3102において、自動判別継続以外の場合、ステップS3110に進む。
図32は上記ステップS3101における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、現在処理中の印刷ジョブのユーザ名と、図30のステップS3001で保存された前の印刷ジョブのユーザ名を比較し(ステップS3201)、同一でない場合(ステップS3202)、戻り値に「自動判別継続」をセットして(ステップS3203)、図31のフローチャートにリターンする。ステップS3202において、同一の場合、戻り値に「常に自動両面印刷」をセットして(ステップS3204)、図31のフローチャートにリターンする。
図33は上記ステップS3103における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、現在処理中の印刷ジョブのアプリケーション名と、図30のステップS3002で保存された前の印刷ジョブのアプリケーション名を比較し(ステップS3301)、同一の場合(ステップS3302)、戻り値に「常に自動両面印刷」をセットして(ステップS3303)、図31のフローチャートにリターンする。ステップS3302において、異なる場合、図36で後述するアプリケーションのグループ対応テーブルを参照して、現在処理中の印刷ジョブのアプリケーションが属するグループと前の印刷ジョブのアプリケーションが属するグループを比較し(ステップS3304)、同一グループの場合(ステップS3305)、ステップS3303に進む。ステップS3305において、グループが異なる場合、戻り値に「自動判別継続」をセットして(ステップS3306)、図31のフローチャートにリターンする。このように、現在処理中の印刷ジョブと前の印刷ジョブのアプリケーション名が異なる場合でも、それぞれのアプリケーションが属するグループが同じ、つまり、同種のアプリケーションの場合は、これらの印刷ジョブが一連の印刷ジョブであると考え、このような場合は自動判別処理を継続する。
図34は上記ステップS3105における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、現在処理中の印刷ジョブの年月日を含む時刻と、図30のステップS3003で保存された前の印刷ジョブの年月日を含む時刻を比較し(ステップS3401)、一定時間を経過している場合(ステップS3402)、戻り値に「自動判別継続」をセットして(ステップS3403)、図31のフローチャートにリターンする。ステップS3402において、一定時間以内の場合、戻り値に「常に自動両面印刷」をセットして(ステップS3204)、図31のフローチャートにリターンする。尚、一定時間として、ここでは1分と定義している。
図35は上記ステップS3107における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、現在処理中の印刷ジョブの印刷設定と、図30のステップS3004で保存された前の印刷ジョブの印刷設定を比較し(ステップS3501)、同一の場合(ステップS3502)、戻り値に「常に自動両面印刷」をセットして(ステップS3503)、図31のフローチャートにリターンする。ステップS3502において、異なる場合、現在処理中の印刷ジョブの印刷画像データの種類と、図30のステップS3005で保存された前の印刷ジョブの印刷画像データの種類を比較し(ステップS3504)、同一の場合(ステップS3505)、戻り値に「自動判別継続」をセットして(ステップS3506)、図31のフローチャートにリターンする。ステップS3505において、異なる場合、ステップS3503に進む。尚、印刷設定、及び、印刷画像データの種類は、それぞれ、図16の印刷モード制御テーブルの印刷設定欄に記載されている印刷設定、及び、印刷画像データ欄に記載されている印刷画像データの種類を表す。このように、現在処理中の印刷ジョブと前の印刷ジョブの印刷設定が異なる場合でも、印刷画像データの種類が異なる場合はその印刷画像データに合わせて印刷設定が異なることが一般的であるので、これらの印刷ジョブが一連の印刷ジョブであると考え、このような場合は自動判別処理を継続する。
図36はアプリケーションのグループ対応テーブルである。アプリケーション名欄にアプリケーション名が、グループ名欄にそのアプリケーションが属するグループ名が記載されている。例えば、Application1、Application2はどちらもGroup1に属し、同種のアプリケーションとして取り扱われる。例えば、Application4はGroup2に属するので、Application1とApplication2とは異種のアプリケーションとして取り扱われる。
図21は、上記ステップS3109における処理の詳細を示すフローチャートである。先ず、プリンタドライバ50は、プリンタキュー32に格納されている印刷データを解析し、印刷データの印刷総ページ数205が1ページであるのかをチェックし(ステップS2102)、1ページである場合には処理をステップS2103に進め、DEVMODE構造体に設定されている印刷設定を取得し、取得された印刷設定と図16に示した印刷モード制御テーブルを用いて印刷ジョブ内の印刷画像データ、印刷設定のセットに該当する印刷モードを特定(決定)する(ステップS2103)。そしてプリンタドライバ50は、決定した印刷モードが片面印刷であるのかをチェックし(ステップS2104)、片面印刷である場合には処理をステップS2108に進め、上記ステップS1708と同じ処理(即ち図18に示したフローチャートに従った処理)を行い、図17のフローチャートにリターンする。
一方、ステップS2104において、印刷モードが自動両面印刷である場合には処理をステップS2105に進め、上記ステップS1711と同じ処理(即ち図20に示したフローチャートに従った処理)を行い、図17のフローチャートにリターンする。
一方、ステップS2102において、総ページ数205が複数ページである場合には処理をステップS2106に進め、プリンタドライバ50は、総ページ数205が2ページであるのか否かをチェックし(ステップS2106)、2ページよりも多い場合には処理をステップS2105に進めるのであるが、2ページである場合には処理をステップS2107に進め、グラフィックスドライバ34が印刷ジョブ内の印刷画像データを解析し、2ページ目が白紙(印刷画像データ無し)であるのか否かをチェックする(ステップS2107)。
その結果、2ページ目が白紙である場合には処理をステップS2108に進めるのであるが、2ページ目が白紙ではない(印刷画像データ有り)場合には処理をステップS2106に進める。
以上の処理により、CPU1204はプリンタドライバ50を動作させることで、自動両面印刷を設定した印刷ジョブを印刷する場合、この印刷ジョブに基づく印刷画像や印刷設定などに従って印刷制御を行うためのモード、常に両面印刷を行うように印刷制御を行うためのモード、印刷ページ数に応じて両面印刷、片面印刷の何れかを行うよう印刷制御を行うためのモードの何れかを操作者に選択させることができると共に、選択したモードに応じた印刷制御を印刷装置3に行わせるためのコマンドを生成して印刷装置3に送信することができる
<印刷装置3の動作>
次に、印刷装置3の動作について説明する。
図22は、印刷装置3が行う印刷処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU15に実行させるためのプログラムやデータはROM16に格納されており、CPU15がこれを用いて処理を実行することで、印刷装置3は以下説明する各処理を実行する。
プリンタドライバ50を動作させることで生成され、USBケーブル9を介してPC1から送られてくるコマンドのデータは一端RAM17に格納されるのであるが、先ず、このコマンド内のコマンドIDをRAM17に格納する(ステップS2202)。
そして格納したコマンドIDが0008[HEX]であるのか否か(PC1から受信したコマンドが図10で示す片面/両面印刷制御コマンドであるか否か)をチェックし(ステップS2203)、0008[HEX]の場合には処理をステップS2204に進め、このコマンド内の印刷モードを示すデータをRAM17に格納する(ステップS2204)。
そしてこのコマンド内の印刷モードが0010[HEX]であるのか否か(片面印刷を行うのか否か)をチェックし(ステップS2205)、0010[HEX]の場合には処理をステップS2208に進め、このコマンド内のページ設定を示すデータをRAM17に格納し(ステップS2208)、次のコマンドの受信を待機する。
一方、ステップS2205において、印刷モードが0010[HEX]ではない場合(手動両面印刷または自動両面印刷である場合)には処理をステップS2206に進め、図23で後述する回転制御の処理を行い(ステップS2206)、図24で後述する排紙制御の処理を行い(ステップS2207)、次のコマンドの受信を待機する。
一方、ステップS2203において、コマンドIDが0008[HEX]ではない場合には処理をステップS2209に進め、コマンドIDが000A[HEX]であるのか否かをチェックし、000A[HEX]である場合には処理をステップS2210に進め、図25で後述する印字パルス制御の処理を行い(ステップS2210)、次のコマンドの受信を待機する。
一方、ステップS2209において、コマンドIDが000A[HEX]ではない場合には処理をステップS2211に進め、コマンドIDが000C[HEX]であるのか否かをチェックし、000C[HEX]である場合には処理をステップS2212に進め、図26で後述するページ制御の処理を行い、次のコマンドの受信を待機する。
一方、ステップS2211で、コマンドIDが000C[HEX]ではない場合には処理をステップS2213に進め、それぞれのコマンドIDに対応する制御を行い(ステップS2213)、次のコマンドの受信を待機する。
図23は、上記ステップS2206における回転制御処理の詳細を示すフローチャートである。先ず、上記ステップS2204でRAM17に格納された印刷モードを参照し(ステップS2302)、印刷モードが0020[HEX]であるのか否かをチェックする(ステップS2302)。
そして印刷モードが0020[HEX]である場合には手動両面印刷であるので、処理をステップS2304に進め、受信した図10で示す片面/両面印刷制御コマンドのページ設定を示すデータを参照し、表面の印刷ページ数をRAM17に格納する(ステップS2304)。
そして、受信したコマンド内の回転制御の用紙回転軸を参照し、指定されている用紙回転軸を示すデータをRAM17に格納する(ステップS2305)。次に、受信したコマンド内の回転制御の用紙タイプを参照し、指定されている用紙タイプを示すデータをRAM17に格納する(ステップS2306)。次に、受信したコマンド内の回転制御の印刷の向きを参照し、指定されている印刷の向きを示すデータをRAM17に格納する(ステップS2307)。そして図22のフローチャートにリターンする。
一方、ステップS2203において、印刷モードが0020[HEX]ではない場合には片面印刷または自動両面印刷であるので、処理をステップS2208に進め、受信したコマンド内のページ設定を参照し、印刷総ページ数を示すデータをRAM17に格納する(ステップS2308)。そしてステップS2305以降の処理を行う。
図24は、上記ステップS2207における処理の詳細を示すフローチャートである。先ず、ステップS2204でRAM17に格納された印刷モードのデータを参照し(ステップS2402)、印刷モードが0030[HEX]であるのか否かをチェックし(ステップS2403)、0030[HEX]である場合には自動両面印刷であるので、処理をステップS2404に進め、受信したコマンド内の排紙制御を参照し、指定されている排紙制御を示すデータをRAM17に格納する(ステップS2404)。そして図22のフローチャートにリターンする。
一方、ステップS2403において、印刷モードが0030[HEX]ではない場合には片面印刷または手動両面印刷であるので、ステップS2404における処理は行わずに、図22のフローチャートにリターンする。
図25は、上記ステップS2210における処理の詳細を示すフローチャートである。先ず、上記ステップS2204でRAM17に格納された印刷モードを参照し(ステップS2502)、印刷モードが0010[HEX]であるのか否かをチェックし(ステップS2503)、0010[HEX]ではない場合には手動両面印刷または自動両面印刷であるので、処理をステップS2504に進め、上記ステップS2305でRAM17に格納された回転制御の用紙回転軸を参照し(ステップS2504)、上記ステップS2306でRAM17に格納された回転制御の用紙タイプを参照し(ステップS2505)、上記ステップS2307でRAM17に格納された回転制御の印刷の向きを参照する(ステップS2506)。
そして、用紙回転軸、用紙タイプ、印刷の向きの設定に基づいて図11で示す印字パルス制御コマンドの印字パルスデータを変更し(ステップS2507)、この変更された印字パルスデータに基づいてASF11にセットされている記録紙(用紙)に印字する(ステップS2508)。
一方、ステップS2503において、印刷モードが0010[HEX]である場合には片面印刷であるので、処理をステップS2508へ進め、印字パルスデータに基づいてASF11にセットされている記録紙(用紙)に印字する。
本実施形態では、ステップS2507において用紙回転軸、用紙タイプ、印刷の向きの設定に基づいて印字パルスデータを変更する例を説明したが、この例に限られることなく、両面印刷の制御に関連する任意の情報に基づいて印字パルスデータを変更することも可能であり、有効である。
図26は、印刷装置3によるページ制御処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU15に実行させるためのプログラムやデータはROM16に格納されており、CPU15がこれを用いて処理を実行することで、印刷装置3は以下説明する各処理を実行する。
先ず、上記ステップS2204でRAM17に格納された印刷モードを参照し(S2602)、印刷モードが0030[HEX]であるのか否かをチェックし(ステップS2603)、0030[HEX]である場合には自動両面印刷であるので、処理をステップS2604に進め、図12で示すページ制御コマンドのページ番号を参照し、印刷中のページ番号を示すデータをRAM17に格納する(ステップS2604)。また、図12で示すページ制御コマンドの総ページ数を確認して、その値(印刷総ページ数または印刷総ページ数不明)を示すデータをRAM17に格納する(ステップS2605)。
そして、ステップS2604でRAM17に格納した印刷中のページ番号とステップS2605でRAM17に格納した印刷総ページ数とが同じ値であるか否かをチェックし(ステップS2606)、同じである場合には処理をステップS2607に進め、印刷総ページ数が奇数であるか否かをチェックし(ステップS2607)、奇数である場合には処理をステップS2608に進め、図12で示すページ制御コマンドの開始/終了を参照し、その値(開始または終了を示す値)をRAM17に格納する(ステップS2608)。
そして、ステップS2608でRAM17に格納した値が0001[HEX]であるのか否かをチェックし(ステップS2609)、0001[HEX]である場合には処理をステップS2610に進め、上記ステップS2404でRAM17に格納された排紙制御を参照し(ステップS2610)、排紙制御が1000[HEX]であるのか否かをチェックし(ステップS2611)、1000[HEX]の場合には、奇数ページ印刷の場合、最終ページを印刷装置3内で自動両面ユニット10を通して自動的に排紙する処理を行うので、処理をステップS2612に進め、自動両面ユニット10を通して記録紙(用紙)を自動的に排紙し(ステップS2612)、図22のフローチャートにリターンする。
一方、ステップS2611において、排紙制御が1000[HEX]ではない場合には処理をステップS2613に進め、排紙制御が2000[HEX]であるのか否かをチェックし(ステップS2613)、2000[HEX]である場合には、3ページ以上の奇数ページの印刷の場合、最終ページを印刷装置3内で自動両面ユニット10を通して自動的に排紙する処理を行うので、処理をステップS2614に進め、上記ステップS2605でRAM17に格納した印刷総ページ数が3ページ以上であるのか否かをチェックし、3ページ以上である場合には処理をステップS2612に進め、自動両面ユニット10を通して記録し(用紙)を自動的に排紙する。
一方、ステップS2603において印刷モードが0030[HEX]ではない場合、ステップS2606においてステップS2604でRAM17に格納した印刷中のページ番号とステップS2605でRAM17に格納した印刷総ページ数とが同じ値ではない場合、ステップS2607において印刷総ページ数が奇数ではない場合、ステップS2609においてステップS2608でRAM17に格納した値が0001[HEX]ではない場合、ステップS2613において排紙制御が2000[HEX]ではない場合、ステップS2614において上記ステップS2605でRAM17に格納した印刷総ページ数が3ページよりも少ない場合には何れも、図22のフローチャートにリターンする。
ここで、図25のステップS2507における用紙回転軸、用紙タイプ、印刷の向きの設定に基づいて図11で示す印字パルス制御コマンドの印字パルスデータを変更する処理に関して具体的な例を挙げて説明する。
図29はRAM17のメモリマップの一部を表す図である。同図において、印字パルス制御コマンド先頭アドレスは印刷装置3のRAM17のアドレス0x80000000であり、PC1から印刷装置3に送られてくる印字パルス制御コマンドに含まれているシアン、マゼンタ、黄、黒の印字パルス制御コマンドを表す。同図では左上から右方向に5ドットの黒データが続き、それ以降全てが白(データ無し)である印刷画像データの印字パルス制御コマンドを表している。印字パルスデータにおいて、印字パルスを発生させるビットがセットされ、印字パルスを発生させないビットがクリアされている。印字パルス制御コマンド最後尾アドレスは0x80008215である。
今、図29に示すメモリマップに格納されている印刷画像データがPC1から印刷装置3に送られてくるようなケースにおいて、事前に片面/両面印刷制御コマンドにより、用紙回転軸が用紙面に対して垂直軸で回転を表す3000[HEX]、用紙タイプが縦長を表す0100[HEX]、印刷の向きが縦を表す0010[HEX]と指定されている時、左上から右方向に5ドット続いていた黒データが用紙面に対して垂直軸で180度回転され、5ドットの黒データが右下から左方向に続くような印刷結果となるように、印字パルス制御コマンドの印字パルスデータを変更する処理を行う。すなわち、アドレス0x80006168のデータをF8から00に変更し、アドレス0x80008215のデータを00から1Fに変更する。そして、この変更された印字パルスデータに従って記録紙(用紙)に印字する。
<メモリマップについて>
次に、図28に示すメモリマップを参照して、PC1、印刷装置3から成るシステムで読み出し可能なデータ処理プログラムの構成について説明する。
図28は、このようなシステムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを示す図である。なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等もこの記憶媒体に記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
同図において、64は記憶媒体であり、ここではPC1のハードディスクドライブ部(HDD)1202または印刷装置3のROM16で構成されているものとする。65はディレクトリ情報管理部であり、各種プログラムに従属するデータがこのディレクトリ情報管理部65で管理されている。66はプログラム格納部であり、各種プログラムを情報処理装置(PC1)にインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に解凍するためのプログラム、あるいは、印刷装置3を制御するプログラム等が格納されている。
なお、図17〜図21、図30〜35にそれぞれ示すプリンタドライバ50における処理の各フローチャート、あるいは、図22〜図26にそれぞれ示す印刷装置3における処理の各フローチャートの実行によって実現できる各機能が、外部からインストールされるプログラムによって、情報処理装置(PC1)あるいは印刷装置3によって実現されるようにしてもよい。
そして、その場合、CD−ROMやフラッシュメモリやフレキシブルディスク等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群がPC1や印刷装置3に供給される場合でも、本発明は適用されるものである。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
なお、本実施形態では、プリンタドライバ50で生成された片面/両面印刷制御コマンドの回転制御で指定された値により、印刷装置3内の印字パルス制御で印字パルスデータを変更して回転制御を行ったが、この例に限られることなく、例えば、プリンタドライバ50のグラフィックスドライバ34で回転制御を行うことで、同様な印刷結果が得られるシステムを実現することができる。
また、本実施形態では、印刷装置3としてカラーインクジェットプリンタを用いたが、これに限定するものではなく、例えば、モノクロLBP等の任意のプリンタを使用することができる。また、印刷装置3は単独の装置に限定するものではなく、複合機が有する印刷機構部分として印刷装置3を適用するようにしても良い。
また、上記PC1の代わりに、DVDビデオプレーヤ、ゲーム機、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の端末を用いても良い。
また、OSはWindows(登録商標) XPに限定するものではない。よって他のOSを用いる場合にはアプリケーションソフトウェアやダイアログ、及びその操作方法などは適宜そのOSに依存したものとなる。
また、本実施形態ではPC1と印刷装置3とはUSBケーブルを用いて接続しているが、これに限定するものではなく、例えば、Ethernet(登録商標)、無線LAN、IEEE1394、Bluetooth、IrDA、パラレル、シリアル等の任意の通信手段を用いるようにしても良い。
また、本実施形態では、図31に示す自動判別自動両面印刷の処理において、「ユーザ名の確認」→「アプリケーション名の確認」→「時刻の確認」→「印刷設定と印刷画像データの種類の確認」の結果が自動判別継続の場合に、図21に示す自動判別自動両面印刷実行の処理を行う例を挙げたが、この例に限られることなく、使用環境に応じて、例えば、ユーザ名の確認が不要な場合は、図31のステップS3101とS3102の処理を実行せず、ステップS3103の処理から実行することで、その使用環境に合わせて効率良く最適な自動判別自動両面印刷を行うことができる。
また、同じユーザの連続するジョブの裏表が揃うようにしたい場合は、図31でステップS3101とステップS3102とステップS3109とステップS3110のみを実行するようにすればよい。
また、所定時間内の連続するジョブの裏表が揃うようにしたい場合は、図31でステップS3105とステップS3106とステップS3109とステップS3110のみを実行するようにすればよい。
また、同じユーザの所定時間内の連続するジョブの裏表が揃うようにしたい場合は、まず図31でステップS3101とステップS3102を実行する。ステップS3102でNOの場合はステップS3105とステップS3106を実行し、ステップS3102でYESの場合はステップS3109に進む。次にステップS3106でNOの場合はステップS3110に進み、ステップS3106でYESの場合はステップS3109に進むようにすればよい。
さらに、使用環境に応じて、例えば、ステップS3105の処理とステップS3101の処理を入れ替える等することで、自動判別処理の各確認処理の優先順位を変えることも可能であり、このような制御により、その使用環境に合わせて効率良く最適な確認処理を行うことができる。さらに、前記各確認処理以外として、同様な目的を達成する任意の確認作業を利用して、自動判別自動両面印刷の処理を行うこともできる。
以上の説明により、本実施形態によって、以下のような効果を奏することができる。
(1)
誤ったユーザ操作により1ページのドキュメントを自動両面印刷設定で印刷してしまっても、印刷ジョブ内の印刷画像データを解析し、その解析結果と印刷ジョブ内の印刷設定からその画像データに最適な印刷モード(片面印刷または自動両面印刷)を自動的に決定して印刷することができるので、操作性に優れ、ユーザが期待する最高の印刷結果を得ることができる。
(2)
アプリケーションによっては1ページの自動両面印刷時に2ページ目を白紙(印刷画像データ無し)ページとして描画してくるケースがあるが、印刷ジョブ内の印刷画像データと印刷総ページ数からこのようなケースを自動的に判別して、1ページの片面印刷として印刷処理を行うので、操作性に優れ、高品位で高速な印刷結果を得ることができる。
(3)
(1)、(2)において、その印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つとして取り扱われるものであるのか、あるいは、複数の自動両面印刷の印刷ジョブの中に紛れ込んだ通常の片面印刷の印刷ジョブであるのかを自動的に判別して、最適な排紙制御を行うので、印刷目的を満足する最適な印刷結果を得ることができ、印刷物のハンドリングに優れる。
(4)
(1)、(2)において、その印刷ジョブが一連の自動両面印刷の印刷ジョブの内の1つとして取り扱われるものであるのか、あるいは、複数の自動両面印刷の印刷ジョブの中に紛れ込んだ通常の片面印刷の印刷ジョブであるのかを自動的に判別して、最適な画像処理を行うので、印刷目的を満足する最適な印刷結果を得ることができる。
なお、本発明の実施形態では、パーソナルコンピュータ側のプリンタドライバで実現する例を説明したが、プリンタ側にコントローラを設け、プリンタドライバの処理をプリンタ側のコントローラで実現しても良い。
本発明の実施形態に係る印刷システムの機能構成を示すブロック図である。 PC1のハードウェア構成を示すブロック図である。 印刷装置3のハードウェア構成を示すブロック図である。 HDD1202にインストールされているプリンタドライバ50の機能構成を示すブロック図である。 Windows(登録商標) XP OSに標準のアプリケーションとして組み込まれているテキストエディタNotepad(Notepad.exe)から印刷を行う際の表示例を示す図である。 Printダイアログの表示例を示す図である。 プリンタドライバ50のUIモジュール35により提供されるPreferencesダイアログのMainシートの表示例を示す図である。 Preferencesダイアログ20のPage Setupシートを表す図である。 自動両面印刷の設定ダイアログの表示例を示す図である。 片面/両面印刷制御コマンドを表す図である。 印字パルス制御コマンドを表す図である。 ページ制御コマンドを表す図である。 片面印刷の制御コマンドの例を表す図である。 手動両面印刷の制御コマンドの例を表す図である。 自動両面印刷の制御コマンドの例を表す図である。 自動両面印刷が選択されている場合に、印刷ジョブ内の印刷画像データまたは印刷設定を用いて印刷モードを決定する為に参照される印刷モード制御テーブルの構成例を示す図である。 CPU1204がプリンタドライバ50を実行することで行われる処理のフローチャートである。 ステップS1708における処理の詳細を示すフローチャートである。 ステップS1709における処理の詳細を示すフローチャートである。 ステップS1711における処理の詳細を示すフローチャートである。 ステップS3109における処理の詳細を示すフローチャートである。 印刷装置3が行う印刷処理のフローチャートである。 ステップS2206における回転制御処理の詳細を示すフローチャートである。 ステップS2207における処理の詳細を示すフローチャートである。 ステップS2210における処理の詳細を示すフローチャートである。 印刷装置3によるページ制御処理のフローチャートである。 DEVMODE構造体の構成を示す図である。 システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを示す図である。 RAM17のメモリマップの一部を表す図である。 ステップS1712における処理の詳細を示すフローチャートである。 ステップS1710における処理の詳細を示すフローチャートである。 ステップS3101における処理の詳細を示すフローチャートである。 ステップS3103における処理の詳細を示すフローチャートである。 ステップS3105における処理の詳細を示すフローチャートである。 ステップS3107における処理の詳細を示すフローチャートである。 アプリケーションのグループ対応テーブルを示す図である。

Claims (15)

  1. 現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定手段と、
    前記指定手段により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブのユーザ名と先に受けた印刷ジョブのユーザ名とを比較し、それぞれのユーザ名が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットする継続手段と、
    前記継続手段により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続手段により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行手段と
    を有することを特徴とする情報処理装置。
  2. 前記継続手段は、前記自動判別自動両面印刷の継続をセットした後、現在処理中の印刷ジョブのアプリケーション名と先に受けた印刷ジョブのアプリケーション名とを比較し、それぞれのアプリケーション名が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットすることを特徴とする請求項1に記載の情報処理装置。
  3. 前記継続手段は、前記自動判別自動両面印刷の継続をセットした後、現在処理中の印刷ジョブの受付時刻と先に受けた印刷ジョブの受付時刻とを比較し、該現在処理中の印刷ジョブの受付時刻が前記先に受けた印刷ジョブの受付時刻から一定時間が経過している場合には自動判別自動両面印刷の継続をセットし、一定時間が経過していない場合には自動両面印刷をセットすることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記継続手段は、前記自動判別自動両面印刷の継続をセットした後、現在処理中の印刷ジョブの印刷設定と先に受けた印刷ジョブの印刷設定とを比較し、それぞれの印刷設定が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットすることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定手段と、
    前記指定手段により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブのアプリケーション名と先に受けた印刷ジョブのアプリケーション名とを比較し、それぞれのアプリケーション名が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットする継続手段と、
    前記継続手段により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続手段により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行手段と
    を有することを特徴とする情報処理装置。
  6. 前記継続手段は、前記自動判別自動両面印刷の継続をセットした後、現在処理中の印刷ジョブの受付時刻と先に受けた印刷ジョブの受付時刻とを比較し、該現在処理中の印刷ジョブの受付時刻が前記先に受けた印刷ジョブの受付時刻から一定時間が経過している場合には自動判別自動両面印刷の継続をセットし、一定時間が経過していない場合には自動両面印刷をセットすることを特徴とする請求項5に記載の情報処理装置。
  7. 前記継続手段は、前記自動判別自動両面印刷の継続をセットした後、現在処理中の印刷ジョブの印刷設定と先に受けた印刷ジョブの印刷設定とを比較し、それぞれの印刷設定が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットすることを特徴とする請求項5又は6に記載の情報処理装置。
  8. 現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定手段と、
    前記指定手段により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブの受付時刻と先に受けた印刷ジョブの受付時刻とを比較し、該現在処理中の印刷ジョブの受付時刻が前記先に受けた印刷ジョブの受付時刻から一定時間が経過している場合には自動判別自動両面印刷の継続をセットし、一定時間が経過していない場合には自動両面印刷をセットする継続手段と、
    前記継続手段により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続手段により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行手段と
    を有することを特徴とする情報処理装置。
  9. 前記継続手段は、前記自動判別自動両面印刷の継続をセットした後、現在処理中の印刷ジョブの印刷設定と先に受けた印刷ジョブの印刷設定とを比較し、それぞれの印刷設定が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットすることを特徴とする請求項8に記載の情報処理装置。
  10. 現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定手段と、
    前記指定手段により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブの印刷設定と先に受けた印刷ジョブの印刷設定とを比較し、それぞれの印刷設定が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットする継続手段と、
    前記継続手段により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続手段により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行手段と
    を有することを特徴とする情報処理装置。
  11. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の指定手段が、現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定工程と、
    前記情報処理装置の継続手段が、前記指定工程により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブのユーザ名と先に受けた印刷ジョブのユーザ名とを比較し、それぞれのユーザ名が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットする継続工程と、
    前記情報処理装置の実行手段が、前記継続工程により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続工程により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行工程と
    を有することを特徴とする情報処理方法。
  12. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の指定手段が、現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定工程と、
    前記情報処理装置の継続手段が、前記指定工程により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブのアプリケーション名と先に受けた印刷ジョブのアプリケーション名とを比較し、それぞれのアプリケーション名が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットする継続工程と、
    前記情報処理装置の実行手段が、前記継続工程により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続工程により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行工程と
    を有することを特徴とする情報処理方法。
  13. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の指定手段が、現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定工程と、
    前記情報処理装置の継続手段が、前記指定工程により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブの受付時刻と先に受けた印刷ジョブの受付時刻とを比較し、該現在処理中の印刷ジョブの受付時刻が前記先に受けた印刷ジョブの受付時刻から一定時間が経過している場合には自動判別自動両面印刷の継続をセットし、一定時間が経過していない場合には自動両面印刷をセットする継続工程と、
    前記情報処理装置の実行手段が、前記継続工程により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続工程により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行工程と
    を有することを特徴とする情報処理方法。
  14. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の指定手段が、現在処理中の印刷ジョブに含まれている印刷画像データ及び印刷設定の組み合わせに対して予め対応づけられている印刷種別が片面印刷である場合には該片面印刷を行い、該印刷種別が両面印刷である場合には該両面印刷を行う自動判別自動両面印刷、前記組み合わせにかかわらず両面印刷を行う自動両面印刷、の何れかを指定する指定工程と、
    前記情報処理装置の継続手段が、前記指定工程により自動判別自動両面印刷が指定された場合、現在処理中の印刷ジョブの印刷設定と先に受けた印刷ジョブの印刷設定とを比較し、それぞれの印刷設定が同一である場合には自動両面印刷をセットし、同一でない場合には自動判別自動両面印刷の継続をセットする継続工程と、
    前記情報処理装置の実行手段が、前記継続工程により自動両面印刷がセットされた場合、プリンタに自動両面印刷を実行させ、前記継続工程により自動判別自動両面印刷の継続がセットされた場合、プリンタに自動判別自動両面印刷を実行させる実行工程と
    を有することを特徴とする情報処理方法。
  15. コンピュータを、請求項1乃至10の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2006034319A 2005-03-14 2006-02-10 情報処理装置、情報処理方法、コンピュータプログラム Expired - Fee Related JP4840968B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006034319A JP4840968B2 (ja) 2005-03-14 2006-02-10 情報処理装置、情報処理方法、コンピュータプログラム
US11/374,555 US7865105B2 (en) 2005-03-14 2006-03-13 Printing control apparatus, printing control method, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005071734 2005-03-14
JP2005071734 2005-03-14
JP2006034319A JP4840968B2 (ja) 2005-03-14 2006-02-10 情報処理装置、情報処理方法、コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2006293990A JP2006293990A (ja) 2006-10-26
JP2006293990A5 JP2006293990A5 (ja) 2009-03-26
JP4840968B2 true JP4840968B2 (ja) 2011-12-21

Family

ID=36971069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006034319A Expired - Fee Related JP4840968B2 (ja) 2005-03-14 2006-02-10 情報処理装置、情報処理方法、コンピュータプログラム

Country Status (2)

Country Link
US (1) US7865105B2 (ja)
JP (1) JP4840968B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4923955B2 (ja) * 2006-10-27 2012-04-25 富士ゼロックス株式会社 表示プログラム、表示装置
JP4903064B2 (ja) * 2007-02-05 2012-03-21 株式会社リコー 印刷制御装置、印刷制御方法、及び印刷制御プログラム
JP2008257619A (ja) * 2007-04-09 2008-10-23 Seiko Epson Corp 印刷ジョブ定義データ生成装置、判定装置、修正装置、および生成方法
US20090086254A1 (en) * 2007-09-28 2009-04-02 Mike Hy Duong Systems and Methods for Dynamic Printer Configuration
US20090086255A1 (en) * 2007-09-28 2009-04-02 Mike Hy Duong Systems and Methods for Print Accounting
JP4956350B2 (ja) * 2007-09-28 2012-06-20 京セラドキュメントソリュ−ションズ株式会社 画像読取装置及び画像形成装置
KR101235859B1 (ko) * 2007-10-10 2013-02-20 삼성전자주식회사 어플리케이션에 대응하는 프린터 드라이버 구동방법 및장치와 프린터 드라이버 설치방법 및 장치
US8842312B2 (en) * 2007-11-20 2014-09-23 Kyocera Document Solutions Inc. Application-based profiles of printer driver settings
US8619315B2 (en) * 2008-03-28 2013-12-31 Ncr Corporation Two-sided print data handling
JP4909940B2 (ja) * 2008-04-28 2012-04-04 京セラミタ株式会社 画像処理装置、画像形成装置及び画像処理プログラム
JP2010036437A (ja) * 2008-08-05 2010-02-18 Oki Data Corp 画像形成装置、画像処理装置、画像形成システム、画像形成方法、画像形成処理プログラム及び記録媒体
JP5094627B2 (ja) * 2008-08-08 2012-12-12 キヤノン株式会社 情報処理装置、方法、制御プログラム
KR101304462B1 (ko) * 2008-11-27 2013-09-04 삼성전자주식회사 양면 인쇄 제어 방법과 이를 수행하는 호스트 장치 및 시스템
JP5676859B2 (ja) * 2009-06-22 2015-02-25 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2012236280A (ja) * 2011-05-10 2012-12-06 Canon Inc 印刷システム
JP5832140B2 (ja) * 2011-05-12 2015-12-16 キヤノン株式会社 印刷装置、印刷方法、及びプログラム
US11157216B2 (en) * 2019-10-01 2021-10-26 Lenovo (Singapore) Pte. Ltd. Methods and devices for managing printing of content
JP7630955B2 (ja) * 2020-10-28 2025-02-18 キヤノン株式会社 画像形成装置、情報処理装置
US11875066B2 (en) * 2021-08-31 2024-01-16 Canon Kabushiki Kaisha Controlling an information processing apparatus to execute an extension application associated with printing data generation software
JP2025072820A (ja) * 2023-10-25 2025-05-12 キヤノン株式会社 情報処理装置、情報処理装置の制御方法ならびにプログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2879933B2 (ja) * 1990-04-25 1999-04-05 株式会社日立製作所 印刷制御装置
JP3380598B2 (ja) 1992-08-31 2003-02-24 株式会社日立製作所 両面印刷制御方法および印刷制御装置
JPH082019A (ja) * 1994-06-17 1996-01-09 Canon Inc 画像出力装置
US5642205A (en) * 1995-09-08 1997-06-24 Xerox Corporation Method and system for printing a simplex fax cover when in a duplex fax printing mode
US6557965B2 (en) * 1997-06-30 2003-05-06 Hewlett-Packard Company Shortcut media determination system for inkjet printing
US6424429B1 (en) * 1997-11-14 2002-07-23 Ricoh Company, Ltd. File system and a recording medium with a program used in the system stored therein
NL1008896C2 (nl) * 1998-03-19 2000-05-16 Oce Tech Bv Behandeling van beveiligingscodes voor bestanden van digitale beeldgegevens.
US6169873B1 (en) * 1999-12-15 2001-01-02 Hewlett-Packard Company Automated face up and down detection of image information
US6646758B1 (en) * 2000-01-31 2003-11-11 Hewlett-Packard Development Company, L.P. Methods and arrangements for improved paper handling based on printer configuration status information
JP4387553B2 (ja) * 2000-04-27 2009-12-16 キヤノン株式会社 印刷制御装置及び方法と情報処理装置及び方法
JP3721151B2 (ja) * 2001-09-21 2005-11-30 株式会社リコー 画像形成装置、印刷制御方法
US6608978B2 (en) * 2001-12-19 2003-08-19 Xerox Corporation Paper-saving methods for printing a document
JP2004272021A (ja) * 2003-03-10 2004-09-30 Ricoh Co Ltd 画像形成装置
US6865355B2 (en) * 2003-03-28 2005-03-08 Hewlett-Packard Development Company, L.P. Printing apparatus and method for monochrome mode and color mode switching
JP2004362219A (ja) * 2003-06-04 2004-12-24 Canon Inc 印刷装置、プリンタドライバ、ユーティリティシステム
JP2005047029A (ja) * 2003-07-29 2005-02-24 Canon Inc 記録装置
JP2005056089A (ja) * 2003-08-01 2005-03-03 Kyocera Mita Corp 印刷システム
JP4280581B2 (ja) * 2003-08-08 2009-06-17 キヤノン株式会社 インクジェット記録装置、インクジェット記録方法、画像データ生成方法、インクジェット記録システム、画像データ生成装置およびプログラム
JP3799346B2 (ja) * 2003-11-05 2006-07-19 キヤノン株式会社 文書処理方法および装置
JP4534538B2 (ja) * 2004-03-18 2010-09-01 富士ゼロックス株式会社 画像形成装置、後処理装置、校正方法及びそのプログラム

Also Published As

Publication number Publication date
JP2006293990A (ja) 2006-10-26
US20060204270A1 (en) 2006-09-14
US7865105B2 (en) 2011-01-04

Similar Documents

Publication Publication Date Title
JP4840968B2 (ja) 情報処理装置、情報処理方法、コンピュータプログラム
US7002702B1 (en) Data processing apparatus and data processing method for controlling plural peripheral devices to provide function
JP5487801B2 (ja) 印刷装置
EP0939361A2 (en) Printing with a plurality of printers
JP2007065898A (ja) 印刷装置及びその制御方法、ジョブ処理方法、印刷システム、プログラム
JP2006011847A (ja) 印刷制御装置及び印刷制御方法
US20090122341A1 (en) Information processing apparatus, information processing method, and program
JP2008030331A (ja) 印刷システム、印刷装置、制御方法、ジョブ処理方法、記憶媒体およびプログラム
US20040059995A1 (en) Printing system and apparatus used therefor
US20070285707A1 (en) Printing system and control method thereof, and storage medium therefor
US20060119872A1 (en) Printing processing system
CN100474141C (zh) 具有分辨率补偿功能的成像设备及其方法
EP0933692A2 (en) Previewing printer output
CN102752471B (zh) 图像形成装置及打印设置信息的处理方法
JP2008110576A (ja) 印刷装置及びその印刷実行方法、並びに印刷実行のプログラム
US8045205B2 (en) Image forming device, and method and computer readable medium therefor
US6191870B1 (en) Image communication method and apparatus therefor
JP2011007883A (ja) 画像処理装置及び画像処理方法、プログラム
JP2004259058A (ja) ネットワークデバイス制御方法
JP2004255745A (ja) ネットワークデバイス制御方法
JP6186777B2 (ja) 画像形成システム及び画像形成装置
JP2023065186A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US8081325B2 (en) Image forming apparatus
JP2008107978A (ja) 印刷プレビュー表示可能な情報処理装置
JP2007323363A (ja) 印刷システム、印刷装置、印刷制御方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110726

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110930

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111003

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees