JP4667280B2 - 情報処理装置及びその制御方法、プログラム - Google Patents

情報処理装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP4667280B2
JP4667280B2 JP2006075548A JP2006075548A JP4667280B2 JP 4667280 B2 JP4667280 B2 JP 4667280B2 JP 2006075548 A JP2006075548 A JP 2006075548A JP 2006075548 A JP2006075548 A JP 2006075548A JP 4667280 B2 JP4667280 B2 JP 4667280B2
Authority
JP
Japan
Prior art keywords
data
print
warning
drawing data
printer driver
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
JP2006075548A
Other languages
English (en)
Other versions
JP2007249857A5 (ja
JP2007249857A (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 JP2006075548A priority Critical patent/JP4667280B2/ja
Priority to US12/158,793 priority patent/US8917405B2/en
Priority to PCT/JP2007/056118 priority patent/WO2007108547A1/en
Publication of JP2007249857A publication Critical patent/JP2007249857A/ja
Publication of JP2007249857A5 publication Critical patent/JP2007249857A5/ja
Application granted granted Critical
Publication of JP4667280B2 publication Critical patent/JP4667280B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Description

本発明は、複数種類のプリンタドライバと、各プリンタドライバが処理可能な複数種類の描画部とが動作する情報処理装置及びその制御方法、プログラムに関するものである。
ホストコンピュータ内のオペレーティングシステム上で動作するアプリケーションから印刷を行う場合は、オペレーティングシステムの持つグラフィックスエンジンと、印刷先プリンタのプリンタドライバを使用して印刷を行うことが一般的である。印刷を行うアプリケーションは、まず、プリンタドライバに問い合わせてプリンタの能力にあった印刷設定情報を作成する。次に、作成した印刷設定情報を元にして描画データを作成しグラフィックスエンジンに渡し、プリンタドライバと連携しながらプリンタが解釈可能な印刷データを作成する。
このときに、一時的に作成されるデータは、スプールファイルと呼ばれ、最終的にはプリンタを制御するコマンド言語データの集まったスプールファイルとなり、スプーラに渡される。スプーラは、プリンタに対して複数のスプールファイルがあっても順番に印刷処理行うことができるように、スプールファイルを「キュー」と呼ばれる待ち行列で管理している。プリンタが印刷可能状態になったらスプーラは、キューからスプールファイルを順に取り出してプリンタに送信し、印刷を行う。
一方、グラフィックスエンジンは、アプリケーションが一意に描画するだけで、ディスプレイの種類やビデオカード、プリンタの種類やプリンタ制御言語などのハードウェアの違いを問わず、同じ出力結果を得られるように描画を行うシステムである。一般的には、オペレーティングシステムの一部として提供される。そして、このグラフィックスエンジンは、WYSIWYG(“what−you−see−is−what−you−get”)と呼ばれる「ディスプレイで見たものがそのまま印刷できる」という環境を実現するためのエンジンとして知られている。このグラフィックスエンジンは、必ずしもオペレーティングシステム上で1つであるとは限らず、二つ以上のグラフィックスエンジンが共存する構成が存在する。
例えば、Microsoft社のWindows(登録商標)オペレーティングシステムの場合、GDI(Graphics Device Interface)とDirectX Graphicsと呼ばれる2つのグラフィックスエンジンが共存している。ワードプロセッサやスプレッドシートのようなビジネスアプリケーションで扱うデータは、従来から存在するGDIで十分処理することが可能である。一方、DirectX Graphicsは、ゲームやマルチメディアタイトル等のリアルタイムグラフィックス処理のために、ハードウェアデバイスの能力を極限まで引きだすグラフィックスエンジンとして存在している。そして、アプリケーションは、これらの両者のグラフィックスエンジンを適応的に使い分けることができる。しかし、DirectX Graphicsは、ディスプレイ用のグラフィックスエンジンであり、印刷用のグラフィックスエンジンはGDIが長い間使用されていた。
また、例えば、2005年に米国シアトルにて、WinHEC 2005というハードウェアエンジニアリングカンファレンスがマイクロソフト社によって開催された。この場にて、Microsoft社の最新のオペレーティングシステムであるWindows(登録商標) Vistaでは、WPFという新たなグラフィックスエンジンが追加されている(非特許文献1)。WPFは、印刷の処理も新規に追加されたため、従来のGDIを使用した印刷に加え、新しい印刷のシステムが使用できることになる(非特許文献2)。尚、WPFは、Windows(登録商標) Presentation Foundationである。
従来のWindows(登録商標)からの印刷処理システムは、Win32APIというAPIを使用したアプリケーションから、GDIを経由してEMFと呼ばれるスプールファイルを使用して、GDI用のプリンタドライバで印刷データを作成するシステムである。
ここで、APIとは、Application Programming Interfaceの略称である。また、Win32APIというAPIを使用したアプリケーションを、以後、Win32アプリと略称する。また、EMFは、Enhanced Metafileの略称である。また、GDI用のプリンタドライバを、以後、GDIプリンタドライバと略称する。
また、上記のように、Win32アプリからGDIプリンタドライバを経由して印刷を行う印刷処理システムをGDIプリントパスと呼ぶ。これに対し、WPFを使った印刷処理システムは、XPS(XML Paper Specification)プリントパスと呼ばれる。XPSプリントパスは、WinFXAPIというAPIを使用したアプリケーションから、WPFを経由してXPSと呼ばれるスプールファイルを使用して、WPF用のプリンタドライバで印刷データを作成するシステムである。
ここで、WinFXAPIというAPIを使用したアプリケーションを、以後、WPFアプリと略称する。また、WPF用のプリンタドライバを、以後、XPSDrvプリンタドライバと略称する。
従来のGDIプリントパスに対して、XPSプリントパスを使用すると、より高度なカラー処理が可能になり、オープンな仕様であるXPSスプールファイルやマークアップ言語のXML形式の印刷設定により拡張や互換性が容易になるなど、多くの利点を持つ。
ここで、XMLは、eXtensible Markup Languageの略称である。
しかしながら、GDIプリンタドライバとXPSDrvプリンタドライバは異なる属性のプリンタドライバになるため、たとえ同じプリンタに対するプリンタドライバであっても、アプリケーションは、それぞれ異なるプリンタに見える。アプリケーションがGDIプリンタドライバか、XPSDrvプリンタドライバかをAPIを使用して判定することはできる。しかしながら、このAPIは新規に追加されたAPIなので、従来から存在するWin32アプリから印刷を行う場合は判定を行うことができない。また、ユーザがこれらのドライバのどちらかを選択することはできるが、Win32アプリかWPFアプリか、またGDIプリンタドライバかXPSDrvプリンタドライバかを明示的に判定することは難しく、両者の違いまで意識して印刷することは困難である。
そこで、新しいWPFを使用する印刷処理システムでは、Win32アプリからGDIの印刷をXPSに変換するシステムと、WPFアプリからのXPSの印刷をGDIに変換するシステムを用意している。これにより、アプリケーションが意識することなく自動で相互変換を行うようになっている。このシステムにより、アプリケーション開発者(ISV:Independent Software Vendor)はGDIプリンタドライバかXPSDrvプリンタドライバかを意識することなく、印刷することが可能である。また、プリンタドライバ開発者(IHV:Independent Hardware Vendor)も、ひとつのプリンタに対してGDIプリンタドライバとXPSDrvプリンタドライバをそれぞれ用意する必要もなく、互換性と利便性が保たれている。
マイクロソフトコーポレーション、「Advances in Windows(登録商標) Printing:TWPR05001_WinHEC05.ppt」、[オンライン]、平成16年5月7日、[平成17年2月28日検索]、インターネット、<http://www.microsoft.com/whdc/device/print/default.mspx> XPS and Color Printing Enhancements in Microsoft Windows(登録商標) Vista(http://www.microsoft.com/whdc/xps/vista_print.mspx)
しかしながら、GDIのEMF形式とWPFのXPS形式では、表現できる範囲に違いがあるため、描画データを完全に相互変換することができない。
EMFからXPSに変換する際には、ラスタオペレーション(ROP)による描画データが欠落する。ROPとは、ビットマップイメージを転送する場合に、転送元(ソース:S)のビット、転送先(ディスティネーション:D)のビット、及びその時点でのブラシパターン(P)のビットの3つのビットを組み合わせる。そして、それらのビットの組み合わせによって、結果のビットが決定される論理演算の描画である。
これは、2つの絵を重ね合わせて背景を透明にする等の用途で用いられ、主にプレゼンテーションや画像処理を行うWin32アプリケーションで使用される。GDIではROPによる描画を行うが、WPFでは透過度を指定できるOpacityMaskという機能はあるものの論理演算で描画する手法を持っていない。従って、EMFからXPSに変換する際には、ROP描画が欠落する可能性があり、ユーザがWin32アプリケーションを用いて作成した出力結果を得られなくなる恐れがある。
また、逆にXPSからEMFに変換する際には、GDIでサポートされていない高度なグラフィックス処理が欠落する恐れがある。例えば、ストロークパス(ライン)の線端を別々の表示(例えば、片方が半円で片方が三角等)で描画できるXPSに対して、GDIでは両方とも同じ線端でなければならないため、全体をビットマップとして変換せざるを得ない。
ビットマップに変換されてしまうと、GDIプリンタドライバは、この描画がストロークパスであると認識できなくなるので、プリンタ制御言語の印刷データに変換する際に最適なデータに変換することができなくなる可能性がある。他にも、GDIプリンタドライバで拡大縮小等を伴うレイアウトの変更を行ったときに、ビットマップで拡大すると線のエッジがギザギザになり粗くなってしまう(ジャギー)といった問題が発生することも考えられる。つまり、コマンドで処理することにより画質の低下を防ぐことはできるが、ビットマップデータを処理する場合に、拡大縮小により出力結果の品質低下を招く恐れがある。
このため、GDIからXPSもしくはXPSからGDIに変換するシステムを通らないで印刷することが望ましいといえるが、オペレーティングシステムは自動でこれらの変換を行ってしまう。ここで、ユーザがこれらの変換を回避するためにはアプリケーションとプリンタドライバがそれぞれどちらの属性なのかを判断しなければならない。また、そもそもこの変換の問題を認識しているユーザも少ない。そのため、容易に上述したような出力結果の品質低下を防ぐこと、または、印刷機能の低下を防ぐことができなくなる恐れがある。
また、GDIからXPSもしくはXPSからGDIに変換する際のコンバータはオペレーティングシステムとして組み込まれた形で提供されるため、外部から変換ロジックを変更することはできない。従って、描画が欠落する部分はプリンタやプリンタドライバを変更したとしても、更にはアプリケーションを変更したとしても、GDIからXPSもしくはXPSからGDIに変換を行う限りは上述したような問題が発生することも考えられる。
印刷設定の場合、GDIプリントパスではDEVMODE構造体と呼ばれるデータ構造で印刷設定データを持っていたが、XPSプリントパスではPrintTicketと呼ばれるXML形式のデータ構造になる。こちらもGDIからXPSもしくはXPSからGDIに変換する際にDEVMODEからPrintTicketへ、PrintTicketからDEVMODEに変換する処理が必要となる。描画データ同様に、DEVMODEで表現できる範囲とPrintTicketで表現できる範囲も異なるが、この処理はオペレーティングシステムが自動で行うのではなく、プリンタドライバ自身が拡張されたアーキテクチャを用いて行うようになっている。従って、プリンタドライバを作成するIHVが適切に変換処理を作成すれば、描画のようにデータが抜け落ちてしまうという問題はない。
本発明は上記の課題を解決するためになされたものである。その目的は、印刷データを生成する形式が異なる描画機能が混在する環境で、使用する描画機能によって画像劣化等の不具合が生じる可能性があると判定された場合、印刷前に警告することができる情報処理装置及びその制御方法、プログラムを提供することにある。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
第1アプリケーションからの印刷指示に応じて、第1プリンタドライバが処理が可能な第1描画データを生成する第1描画部と、第2アプリケーションからの印刷指示に応じて、第2プリンタドライバが処理が可能な第2描画データを生成する第2描画部とが動作する情報処理装置であって、
前記第1アプリケーションからの印刷指示に応じて作成された前記第1描画データから変換された第2描画データの描画状態が不自然である場合、警告情報として前記第2描画データに基づくプレビュー画面を表示すると共に、前記描画状態が不自然であると判定された前記第2描画データ中の領域については他の領域と識別可能に表示する出力手段と
を備える。
本発明によれば、印刷データを生成する形式が異なる描画機能が混在する環境で、使用する描画機能によって不具合が生じる可能性があると判定された場合、印刷前に警告することができる情報処理装置及びその制御方法、プログラムを提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図1は本発明の実施形態の印刷処理システムのブロック構成図である。
尚、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても本発明を適用できることは言うまでもない。更には、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
図1では、一般的なコンピュータを用いて実現される印刷処理システムのブロック構成図を示している。CPU101は、ROM102、RAM103あるいは外部記憶装置105に格納されたプログラムに従ってシステム全体の制御を行う。RAM103は、CPU101が各種処理を行う際のワークエリアとしても使用される。外部記憶装置105は、アプリケーション1051、印刷関連プログラム1052、プリンタドライバ1053、オペレーティングシステム(OS)1054等の各種プログラムを記憶する。
キーボード108やポインティングデバイス109(例えば、マウス等)の入力デバイスは、入力I/F104を通じて、ユーザがシステムに対して各種指示を与えるためのデバイスである。出力I/F106は、データを外部装置に出力するためのインタフェースであり、モニタ110やプリンタ111等の出力デバイスに対してデータを出力する。ここで、プリンタ111は、ローカルプリンタのみならず、ネットワークを通して接続されていてもよい。また、107は、上記各種構成要素を相互に接続するシステムバスであり、各構成要素それぞれの間でデータのやりとりを行う。
次に、図1の印刷処理システムの主要な機能構成について、図2を用いて説明する。
図2は本発明の実施形態の印刷処理システムの機能構成を示す図である。
図2では、一般的なコンピュータを用いて実現される印刷処理システムの機能構成を示している。ユーザは、キーボード108やポインティングデバイス109等の入力デバイスを使用して、出力デバイスであるモニタ110に表示されたアプリケーション201を使用して作成した文書2011の印刷処理を実行する。
ユーザによって印刷処理が実行されると、アプリケーション201は、ユーザの印刷操作を解釈する。これにより、文書2011の印刷設定2012と文書内容の描画データ2013を元に、印刷を実行するプリンタ207に対応したプリンタドライバ206を選択した後、オペレーティングシステム200に印刷処理の実行を通知する。
オペレーティングシステム200は、グラフィックスエンジン202を通じて、スプールファイル203への描画や、指定されたプリンタドライバ206への描画を行う。プリンタドライバ206は、レンダリングモジュール2062によって、機種依存データファイル2063を参照して、出力先のプリンタ207が解釈できるデータ言語、即ち、プリンタ制御言語に変換する。
プリントマネージャ204は、各アプリケーションからの印刷処理のスケジュール管理を行う。プリントマネージャ204は、プリンタ207が印刷できる状態になったときに、I/Oモジュール205を介してプリンタ207に印刷ジョブデータ(プリンタ制御言語)を送信する。これにより、印刷が実行される。
文書2011の印刷設定2012は、プリンタドライバ206のコンフィギュレーションモジュール2061によって印刷設定の初期値が作成される。そして、コンフィギュレーションモジュール2061は、その作成した印刷設定の初期値をアプリケーション201もしくはプリンタドライバ206のユーザインタフェースに対するユーザ操作に基づいて、ユーザが望む最終印刷結果になるように変更する。
印刷設定2012には、2種類の形態があり、1つはDEVMODEと呼ばれるバイナリデータ形式のデータ構造体であり、もう1つはプリントチケットと呼ばれるタグを用いたマークアップ言語のテキストデータである。尚、本実施形態では、マークアップ言語をXMLとして説明するが、これに限られる必要はない。この形態は、プリンタドライバ206やオペレーティングシステム200の仕様によって異なる。
次に、オペレーティングシステムが2つのグラフィックスエンジンを搭載している場合の印刷処理システムの機能構成について、図3Aを用いて説明する。
図3Aは本発明の実施形態の2つのグラフィックスエンジンを搭載するオペレーティングシステムの印刷処理システムの機能構成を示す図である。
2つのグラフィックエンジンが共存するこのシステムでは、対象とするデータが、その印刷処理経路に応じて、お互いのフォーマットにそれぞれ自動変換されるのが大きな特徴である。そのため、印刷処理経路(プリントパス)は、4つになる。
Win32アプリケーション301がGDIプリンタドライバ309を介して印刷する場合は、次のような処理を行う。まず、Win32アプリケーション301は、描画データあるGDI関数をGDIグラフィックスエンジン303に対して渡す。GDIプリンタドライバは、描画データをEMFスプールファイル307の形式として受信し、プリンタ制御言語に変換する。このような印刷処理経路をGDIプリントパスと呼ぶ。
一方、WPFアプリケーション302がXPSDrvプリンタドライバ310を介して印刷する場合は、次のような処理を行う。まず、WPFアプリケーション302は、WPF API形式データをWPFグラフィックエンジン304に対して渡す。XPSDrvプリンタドライバ310は、描画データをXPSスプールファイル308の形式として受信し、プリンタ制御言語に変換する。このような印刷処理経路をXPSプリントパスと呼ぶ。尚、GDIプリントパス及びXPSプリントパスをストレートパスと総称する。
それぞれGDIプリントパスとXPSプリントパスは、図2の通常の印刷処理システムで実行される処理経路である。
これに対し、Win32アプリケーション301がXPSDrvプリンタドライバ310を介して印刷する場合は、GDIグラフィックスエンジン303を経由した後、GDItoXPSコンバータ306で描画データがEMFからXPSに変換される。そして、その変換によって生成されたXPSスプールファイル308は、XPSDrvプリンタドライバ310に渡される。この処理経路は、GDItoXPSプリントパスと呼ばれる。
一方、WPFアプリケーション302がGDIプリンタドライバ309を介して印刷する場合は、WPFグラフィックスエンジン304を経由した後、XPStoGDIコンバータ305で描画データがXPSからEMFに変換される。そして、その変換によって生成されたEMFスプールファイル307は、GDIプリンタドライバ309に渡される。この処理経路は、XPStoGDIプリントパスと呼ばれる。尚、GDItoXPSプリントパス及びXPStoGDIプリントパスをクロスパスと総称する。
このように、GDIグラフィックスエンジン303とWPFグラフィックスエンジン304の両方を搭載するシステムにおいては、印刷フォーマットを相互変換するためのコンバータを搭載している。そして、このようなシステム上でのオペレーティングシステムは、これらのコンバータの処理状況に基づいて、自動的に処理対象のデータの処理経路を判定して、必要とする変換を適宜行う。尚、GDIプリンタドライバ309もXPSDrvプリンタドライバ310も印刷設定をレジストリに保存する。この場合は、両者のプリンタドライバは、Devmode形式にて印刷設定を保存する。
次に、XPSDrvプリンタドライバ310の詳細構成について、図3Bを用いて説明する。
図3Bは本発明の実施形態のXPSDrvプリンタドライバの詳細構成を示す図である。
XPSDrvプリンタドライバ310は、プリントチケットプロバイダ310a、UIドライバモジュール(XPS)310bを保持している。UIドライバモジュール(XPS)310bは、DEVMODEベースであり、アプリケーションから呼び出されることによって印刷設定情報を設定するためのUIを表示する。また、プリントチケットプロバイダ310aは、プリントチケットからDEVMODE、または、DEVMODEからプリントチケットへの変換処理を行う。
図3Bでは、Win32アプリケーション301が、印刷設定を行うためにDEVMODEを要求する場合、XPSDrvプリンタドライバ310は、DEVMODEベースのため変換処理の必要が生じない。よって、Win32アプリケーション301が、XPSドライバを用いて印刷処理を行う場合、プリントチケットプロバイダ310aは、変換処理を行う必要がない。
一方、WPFアプリケーション302は、印刷設定を行うためプリントチケットを要求する。XPSDrvプリンタドライバ310は、プリントチケットを保持していないため、プリントチケットプロバイダ310aは、プリントチケットからDEVMODEへの変換処理を実行する。
XPSDrvプリンタドライバ310は、プリントチケットプロバイダ310aの変換処理を認識することができる。そのため、プリントチケットプロバイダ310aによってプリントチケットからDEVMODEへの変換処理が行われた場合、XPSDrvプリンタドライバ310は、印刷設定の要求元がWinFXアプリケーション302であると判定できる。一方、印刷対象のデータを受け付けた時に、プリントチケットプロバイダ310aによる変換処理が行われていない場合、XPSDrvプリンタドライバ310は、印刷設定の要求元をWin32アプリケーション301と判定できる。
尚、GDIプリンタドライバ309の構造は、XPSDrvプリンタドライバ310と同様であるが、UIドライバモジュール(XPS)310bに相当するものとして、UIドライバモジュール(GDI)が構成される。
そして、GDIプリンタドライバ309は、XPSDrvプリンタドライバ310と同様に、プリントチケットプロバイダ310aの変換処理を認識できる。そのため、印刷対象のデータの処理経路及び、印刷設定の要求元のアプリケーションを判定することができる。
尚、GDIプリンタドライバ309も、印刷対象のデータを受け付けた時に、プリントチケットプロバイダ310aによってプリントチケットからDEVMODEへの変換処理が行われた場合、印刷設定の要求元がWinFXアプリケーション302であると判定できる。一方、プリントチケットプロバイダ310aによる変換処理が行われていない場合、XPSDrvプリンタドライバ310は、印刷設定の要求元をWin32アプリケーション301と判定できる。
次に、DEVMODE構造体のデータ構造について、図4を用いて説明する。
図4は本発明の実施形態のDEVMODE構造体のデータ構造の一例を示す図である。
GDIプリンタドライバ309が印刷設定として使用するのがDEVMODE構造体である。DEVMODE構造体は大きく分けて2つの設定領域からなる。1つは、オペレーティングシステムで定義されている共通の基本情報を設定する領域であり、これは、パブリック領域と呼ばれる。もうひとつはプリンタドライバが自由に拡張できる領域であり、これはプライベート領域と呼ばれる。
パブリック領域はその中に含まれる情報が何を示すのかについては、オペレーティングシステムのフォーマットとして一般に広く公開されており、どのアプリケーションからも設定を変更することができる。これは、例えば、アプリケーションの「ページ設定」ユーザインタフェースから指定することができる。一方、プライベート領域は、プリンタドライバが自由にデータを拡張できるため、プリンタドライバしか設定することができない。
そこで、プリンタドライバ(コンフィギュレーションモジュールによる)はユーザインタフェース(UI)を提供して、ユーザに拡張領域の印刷設定を変更することを可能とさせている。
DEVMODE構造体のパブリック領域には、例えば、デバイス名や全体の構造体のメモリサイズ等のプリンタの基本情報、用紙のサイズや幅・高さ等の用紙の基本情報が格納されている。また、カラー・モノクロや解像度等の印刷品質の基本情報、給紙するカセットや排紙時にどういう順番で排紙を行うか等の給紙・排紙の基本情報が格納されている。
一方、プライベート領域には、パブリック領域の基本情報では持ちきれない項目、例えば、プリンタ固有の機能やミドルウェアが持つ機能、あるいは基本情報で持っている内容のさらに詳細なデータ等のプリンタ特有の情報が格納されている。
次に、プリントチケットのデータ構造について、図5を用いて説明する。
図5は本発明の実施形態のプリントチケットのデータ構造の一例を示す図である。
XPSDrvプリンタドライバ310が印刷設定として使用するのがプリントチケットである。DEVMODE構造体と同様にプリントチケットにもパブリック領域とプライベート領域がある。しかし、XMLの形式で記述されたプリントチケットにはDEVMODEのように境界線によって領域が分かれているわけではない。この両者は、名前空間と呼ばれる、タグの内部構造における区画に分けられる仕組みによって区別されている。
名前空間は接頭辞としてそれぞれのタグで指定され、接頭辞を持たないタグは名前空間に属さないものとして扱われる。接頭辞はコロン(:)記号の前につけ、psf:Featureのように記述される。この図5にあるプリントチケットには、5個の名前空間が存在し、それぞれが異なった役割を担っている。
psf名前空間は、プリントチケットのフレームワークを定義しているプリントスキーマフレームワークである。プリントチケットとして成り立つ構造を提供するために、FeatureやOption、Value等の基本的なタグを定義している。Featureはデバイス属性、ジョブフォーマット設定、他の関連する特徴等の機能を定義している。Optionは機能に付属するものを定義している。Valueは要素の値、ParameterInitは要素の値の定義と同時に初期値を設定することを定義している。
psk名前空間は、パブリック領域におけるプリントチケットのキーワードを定義している。具体的なキーワードとしては、用紙のサイズを指定するPageMediaSizeや、印刷部数を指定するPageCopyCount等がある。
psf名前空間とpsk名前空間はオペレーティングシステムによってプリントスキーマという形で一般に公開される形で定義されており、アプリケーションは定義に基づき自由にデータを配置することができる。
xsi名前空間とxs名前空間は、XMLスキーマの規格として一般的に定義されているものである。xsi名前空間は、XMLスキーマの組込属性・インスタンスを定義している。xs名前空間は、XMLスキーマの既定属性となる。ns0000名前空間は、プリンタドライバが独自に拡張した名前空間となり、プリンタドライバが独自で持つ機能を記述する。
尚、図4に示すDEVMODE構造体、図5に示すプリントチケットは、例えば、印刷設定情報として、RAM103上に記憶される。
次に、GDIグラフィックスエンジンの機能であるラスタオペレーション(ROP)について、図6及び図7を用いて説明する。
図6及び図7は本発明の実施形態のGDIグラフィックスエンジンによるラスタオペレーションを説明するための図である。
ROPとは、ビットマップイメージを転送する場合に、転送元(ソース:S)のビット、転送先(ディスティネーション:D)のビット、及びその時点でのブラシパターン(P)の3つのビットを組み合わせる。そして、それらのビットの組み合わせによって、結果のビットが決定されるような論理演算の描画である。
ここでは、ソースにボールの絵を、ディスティネーションに灰色の背景を用意し、BitBltというAPIでROPを使用してビットマップ画像を転送した場合の結果を示している。
図6は、SRCCOPYというROPで、ソースのボールのデータ(601)でディスティネーションの背景データ(602)を上書きしている。このように描画すると、ボールの背景までが残る画像ができあがる(603)。
例えば、これを図7のように、ボールのマスク画像(701)を用意しておき、まずはSRCANDというROPで、ソースとディスティネーションのデータの論理ANDを行う。すると、マスク部分がくりぬかれた背景画像ができあがる(703)。次に、このデータにSRCPAINTというROPで、ソースのボール画像(711)とディスティネーションの背景画像の論理ORを行うと、くりぬかれた部分のみソースがコピーされるので、綺麗にボールの絵だけが残った画像(713)ができあがる。
このようにして、論理演算の組み合わせで描画する手法がROPであり、代表的な使い方がこのマスク処理となる。他にも論理演算の組み合わせは多数あり、ソースとディスティネーションだけだとビットの組み合わせが2の2乗で4通りある。また、この4通りのビットの結果の組み合わせがROPなので、この場合は、2の4乗で16通り存在(これをROP2と呼ぶ)する。
更に、ブラシパターンが加わると2の3乗の8通りのビットの組み合わせなので、結果の組み合わせは2の8乗で256通り(これをROP3と呼ぶ)のROPが存在する。更に、ROP3が2つ掛け合わさったROP4も存在する。これにより、図6及び図7のようなコピーや透過だけでなく、くり抜きや反転・ミラーの表現を実現することができる。
ここで、図3Aで説明したGDItoXPSコンバータ306について着目する。GDItoXPSコンバータ306は、GDIの描画データからXPSに変換するが、GDIの論理演算描画であるROPは、XPSの描画フォーマットには存在しない。従って、GDItoXPSコンバータ306は、ROPを完全にXPSに変換できないケースが存在する。XPSにはOpacityMaskという透過を行う描画形式はあるが、これはあくまで画像を透明化させ下に隠れる画像と重ねるという手法にすぎず、GDIで言うところのアルファブレンドに相当するため、ROPとは異なる。
マスクをくり抜いたりする用途などで使用される論理演算のROPの描画を完全に再現するには、描画データの前後関係(zオーダ)をすべて把握してピクセル毎に計算を行わなければならない。これは非常に困難な作業であるため、通常、GDItoXPSコンバータ306は、ROPを削除する動作を行う。ROPを削除する動作とは、ソースもしくはディスティネーションのどちらかだけの画像にしてしまうことを指す。この場合、図6及び図7のようなボール画像のマスクの場合は、常に、図6のような結果しか得られなくなり、変換後の画像が元画像から欠落してしまう。
また、XPStoGDIコンバータ305の場合は、XPSにしかない描画手法による描画データは、GDIにうまく変換することができない。例えば、図8は、XPSのRadialGradientBrushという機能による描画で、同心円状に広がるグラデーション(連続した階調表現)をかけることができる。
一方、GDIのGradientFillという機能による描画でもグラデーションを実現できるが、直線方向にしか表現できない線形グラデーションなので、同心円状に広がったグラデーションの画像を描画することができない。
他にも、XPSのStroke(線)という機能では、線端の形を片方ずつ変えることができる。例えば、図9のように片方の線端を半円に、もう片方の線端を三角形にといった具合である。GDIのPenでは線端の形を変えることはできるものの、両端を同時に変更することしかできなかったので、これもXPSのほうが描画の表現力が高い部分になる。
しかしながら、このようなデータを作成しても、XPStoGDIコンバータ305において、直接GDIの描画に変換することができないのでビットマップに変換せざるをえない。その結果、グラデーションや線等の描画オブジェクトは、ビットマップオブジェクトに変化してしまう。
そのため、GDIプリンタドライバ309がプリンタ制御言語に変換するときには、本来の描画オブジェクトに対して最適なコマンドに変換することができずに、すべてイメージデータとして扱わなければならなくなってしまう。また、GDIプリンタドライバ309が拡大縮小を伴うようなレイアウト変更を行う場合は、ビットマップを拡大縮小するために、画像のエッジが荒くぎざぎざになってしまう、いわゆる、ジャギーの現象が起こる。
このように、アプリケーションが印刷するときに選択するプリンタドライバによっては、コンバータによるスプールファイルの変換が行われ、描画がうまく変換されず、ユーザの意図する出力結果を得られなくなる恐れがある。尚、スプールファイルの変換は、EMF形式からXPS形式への変換、または、XPS形式からEMF形式への変換である。
そこで、本発明では、この描画がうまく変換されないような状態において、その旨をユーザに警告として通知して、その状態を印刷前にユーザに認知させるとともに、最終的な印刷を実行するか否かの機会を提供する構成について説明する。
以下、本発明の印刷処理システムの特徴的な構成を説明するにあたり、まず、その動作シーケンスについて、図10を用いて説明する。
図10は本発明の実施形態の印刷処理システムの動作シーケンスを示す図である。
図10では、Win32アプリケーション301からXPSDrvドライバ310を介して印刷を行う場合、つまり、GDItoXPSコンバータ306経由の動作シーケンスを示している。
まず、ユーザは、Win32アプリケーション301に対して印刷設定を行う(1001)。ここで、Win32アプリケーション301は、XPSDrvプリンタドライバ310のコンフィギュレーションモジュールを呼び出し、XPSDrvプリンタドライバ310のドライバユーザインタフェース(UI)を開く(1002)。ここで、印刷設定を行うために、XPSDrvプリンタドライバ310は、Win32アプリケーション301からDEVMODE構造体が渡されることになる。
但し、XPSDrvプリンタドライバ310が本来正しく印刷できるのはXPSフォーマットの印刷設定、つまり、PrintTicket(プリントチケット)を受け取った時である。そのため、DEVMODE構造体が渡された時点で、XPSDrvプリンタドライバ310は、Win32アプリケーション301からの印刷であると判別できる。
このような場合、XPSDrvプリンタドライバ310は、まず、図11の警告メッセージを表示する(1003)。その後、図11のOKボタンが押されると、ユーザは、XPSDrvプリンタドライバ310のドライバユーザインタフェースを使って印刷設定を行う(1004)。
ここで、本実施形態におけるXPSDrvプリンタドライバ310のユーザインタフェースには、警告設定画面1200(図12)において、描画変換時の警告設定を行うことができる(1005)。つまり、XPSDrvプリンタドライバ310は、DEVMODE構造体が渡されることにより、クロスパスであると判定して、第1警告を行う。さらに後述する図14及び図17にて後述する処理により描画不正が起きると判定した場合に、XPSDrvプリンタドライバ310は、第2警告を行う。
また、後述するが図10はXPSDrvプリンタドライバ310を主体として説明している。よって、GDIプリンタドライバ309が主体となる場合には処理が変更される。例えば、GDIプリンタドライバ309は、プリントチケットを渡されることにより、クロスパスであると判定して第1警告を行う。また、GDIプリンタドライバ309は、図14及び図18にて後述する処理により描画不正が起きると判定した場合に、第2警告を行う。
ここで、警告設定画面1200について、図12を用いて説明する。
図12は本発明の実施形態の警告設定画面の一例を示す図である。
この警告設定画面は、警告方法を設定するための各種コントロール(ラジオボタン、チェックボックス等)で構成されている。
警告の種類は、大きく分類すると「警告タイミング」(項目1201)と「警告内容」(項目1202)という2つの内容がある。
警告タイミングは、描画変換時にどのようなときに警告するかを決めるものである。ここでは、「警告しない」(項目1201a)、「描画変換した際に描画が不自然なときのみ警告する」(項目1201b)、及び「描画変換するときは常に警告する」(項目1201C)の3種類のいずれか1つを選択することできる。
警告内容は、描画変換時に行う動作であり、描画変換時に「プレビューを強制的に表示させユーザに確認させる」か否かを指定するためのフィールド1202aがある。また、「印刷後のデータに強引にスタンプをつける」か否かを指定するためのフィールド1202bがある。
また、「印刷後のデータに強引に地紋(用紙に印刷されている薄い模様のことで、コピーを行うと潜像している文字が浮き出てくるもの、主にコピー防止のために用いる)をつける」か否かを指定するためのフィールド1202cがある。また、「印刷時に警告メッセージを表示する」、「印刷後のデータの最初のページの前に、警告文字が載った紙を印刷する」、「常にエラーにして印刷しない」を実行するか否かを指定するためのフィールド1202dがある。
また、「プリンタに描画変換した旨を伝える」、「アプリケーションに描画変換した旨を伝える」等の通知に関する設定を指定するためのフィールド1202eがある。
また、複数部数印刷する際の設定を指定するためのフィールド1202fがある。ここでは、上記の各種の警告設定による警告方法で、複数部数印刷する場合においては、1部目のみ警告を行い、後は印刷することなくプリンタの記憶領域に保持しておくという機能である。
図12では、「描画変換するときは常に警告する」と「プレビューする」が選択されている状態を示している。
そして、この状態でOK1203ボタンを操作すると、図12中の設定状態(警告設定情報)が印刷設定情報の一部として、例えば、RAM103上に記憶されるとともに、警告設定画面1200の表示が消去される。一方、キャンセルボタン1204を操作すると、図12中の設定状態がキャンセルされて、この警告設定画面1200の表示が消去される。
更に、適用ボタン1205ボタンを操作した場合には、図12中の設定状態が警告設定情報として、一旦RAM103上に記憶されるが、警告設定画面1200の表示は維持される。そのため、必要に応じて、引き続き警告設定操作を続行することが可能となる。
図10の説明に戻る。
XPSDrvプリンタドライバ310のコンフィギュレーションモジュール(UI)は、印刷設定も警告設定も、どちらもDEVMODE構造体に保存する。そして、ユーザインタフェースを閉じる(1006)。
次に、ユーザは、作成したDEVMODE構造体を元に印刷を指示する(1007)。ここでのアプリケーションは、Win32アプリケーション301であるので、GDIグラフィックスエンジン303を用いて描画を行う(1008)。ここで、印刷対象の画像は、例えば、図13に示す画像であるとする。描画命令を受けたオペレーティングシステムは、XPSDrvプリンタドライバ310に対しての描画であることがわかるため、GDItoXPSコンバータ306の処理を開始する。
まず、XPSDrvプリンタドライバ310は、印刷設定であるDEVMODE構造体をPrintTicketに変換する。XPSDrvプリンタドライバ310は、XPSDrvプリンタドライバ310内のコンフィギュレーションモジュール(UI)を呼び出し、DEVMODE構造体を渡す(1009)。
コンフィギュレーションモジュールは、ここでPrintTicketに変換を行うが、同時にPrintTicketの中に「DEVMODE構造体からの変換」であることを示す変換フラグを追加する(1010)。ここでは、「ns000:JobConvert」のFeatureを「ns000:On」というOptionでPrintTicketに追加する。そして、XPSDrvプリンタドライバ310は、生成したPrintTicketをGDItoXPSコンバータ306に返す(1011)。
GDItoXPSコンバータ306は、GDIの描画命令をXPSに変換する(1012)。ここで、描画データにROPが含まれている場合は、ROP処理が失われる。例えば、処理対象である図13の画像中の背景画像として描かれている世界地図は、マスクのROPで描画されているため、この背景画像の部分がうまくマスクした透過画像にならず、そのまま重ね合わせた描画が行われることになる。
次に、GDItoXPSコンバータ306は、変換処理によって得られるXPSをXPSDrvプリンタドライバ310に渡す(1013)。Win32アプリケーション301は、このタイミングで印刷処理から開放され(1014)、次の処理を行うことができるようになる。
一方、XPSDrvプリンタドライバ310は、受け取ったXPSに対し、レンダリング部(レンダリングモジュール)による処理を実行するとともに、警告設定情報に従って、各種警告処理を実行する。
例えば、PrintTicket中の変換フラグがONで、警告設定情報に警告内容をプレビューすることが指定されている場合、XPSDrvプリンタドライバ310は、レンダリングによって得られる画像をプレユーとして出力する(1015)。
また、PrintTicket中の変換フラグがONで、警告設定情報に警告メッセージを出力することが指定されている場合、XPSDrvプリンタドライバ310は、警告メッセージ(ダイアログ)を出力する(1016)。
その後、XPSDrvプリンタドライバ310は、XPSをPDLに変換し(1017)、変換したPDLをプリンタに送信する(1018)。これにより、印刷終了通知がオペレーティングシステムへ送信され、処理が終了する(1019)。このように、XPSDrvプリンタドライバ310は、プリントチケットに、DevModeから変換したことを示すフラグが設定されていた場合、印刷依頼元をWin32アプリケーション301と判定できる。この場合、XPSDrvプリンタドライバ310は、描画不正や印刷機能の低下とうが考えられるため、図12の設定に従って警告すべきか否かを決定する。
次に、XPSDrvプリンタドライバ310のレンダリング部(レンダリングモジュール)による処理(図10の1015〜1017)の詳細に関して、図14を用いて説明する。
図14は本発明の実施形態のXPSDrvプリンタドライバのレンダリング部による処理の詳細を示すフローチャートである。
XPSが渡されたXPSDrvプリンタドライバ310は、まず、印刷設定であるPrintTicket内にある「ns000:JobConvert」の変換フラグがONであるか否かを判定する(ステップS1102)。これにより、GDItoXPS変換が行われたか否かがわかる。
XPSDrvプリンタドライバ310は、PrintTicket内の変換フラグがONでない場合(ステップS1102でNO)、WPFアプリケーション302からの印刷と判定し、通常の印刷処理を実行する(ステップS1109)。つまり、XPSDrvプリンタドライバ310が、印刷依頼元がWPFアプリケーション302であると判定した場合、描画不正や印刷機能の低下が発生する恐れがないと判定できるため、特に警告処理を行うことなく印刷処理を実行する。
一方、変換フラグがONである場合(ステップS1102でYES)、XPSDrvプリンタドライバ310は、PrintTicketの中にある「警告タイミング」が記述されたFeatureを参照し、警告の有無及びその条件を判定する(ステップS1103)。
警告を行わない場合(ステップS1103でNO)、WPFアプリケーション302からの印刷と判定し、通常の印刷処理を実行する(ステップS1109)。一方、警告を行う場合(ステップS1103でYES)、XPSDrvプリンタドライバ310は、警告の条件として、常に警告を行うか否かを判定する(ステップS1104)。警告の条件が常に警告を行う場合(ステップS1104でYES)、ステップS1106に進む。
一方、警告の条件が常に警告を行わない場合(ステップS1104でNO)、警告の条件が「描画変換した際に描画が不自然なときのみ警告する」ことになる。そこで、これを実行するために、XPSDrvプリンタドライバ310は、レンダリング部での画像の描画が不自然な状態であるか否かを判定する(ステップS1105)。
つまり、XPSDrvプリンタドライバ310は、Win32アプリケーション301からの印刷指示に応じて、GDI関数をWPF API形式データへデータ変換する。そして、XPSDrvプリンタドライバ310へ出力する場合に、WPF API形式データの描画状態を判定する。XPSDrvプリンタドライバ310が、描画が不自然な状態でないと判定した場合(ステップS1105でNO)、WPFアプリケーション302からの印刷と判定し、通常の印刷処理を実行する(ステップS1109)。一方、描画が不自然な状態である場合(ステップS1105でYES)、ステップS1106に進む。
ステップS1105での判定は、GDIからXPSに変換するにあたっての描画が不自然であるか否かを判定することになる。具体的には、ROPが削除された形跡があるかどうかで判定する。すべてのROPが削除されたかどうかの判定はできないが、大半のROPはマスク処理に使用されているため、例えば、「周りがビットマップであり、黒もしくは白の単色で描かれているものが中にあるもの」を検出したら、描画が不自然であると判定する。
ここで、黒もしくは白と限定しているのは、ROP処理による論理演算においてマスクを行うには黒もしくは白の単色である必要があるためである。但し、この判定方法においてもROPが削除されたかどうかの厳密な判定はできないので、あくまで警告を出すという目的での判定ロジックとなる。
図17を用いて、ステップS1105の処理の詳細な処理を説明する。
XPSDrvプリンタドライバ310は、描画部を介して受信したXPSのビットマップデータを解析する(ステップS1701)。
XPSDrvプリンタドライバ310は、受信したXPSに特定の色と任意の色の2色の組み合わせで表現されているビットマップデータが含まれているか否かを判定する(ステップS1702)。
詳細には、XPSDrvプリンタドライバ310は、黒と任意の色の2色の組み合わせ、または、白と任意の色の2色の組み合わせから構成されるビットマップデータが受信したXPSに含まれているか否かを判定する。
特定の色と任意の色の2色の組み合わせで表現されているビットマップデータが含まれていると判定された場合(ステップS1702でYES)、XPSDrvプリンタドライバ310は、受信したXPSは不自然な状態であると判定する(ステップS1703)。そして、ステップS1106へと処理を進める。
一方、特定の色と任意の色の2色の組み合わせで表現されているビットマップデータが含まれていないと判定された場合(ステップS1702でNO)、XPSDrvプリンタドライバ310は、受信したXPSは自然な状態であると判定する(ステップS1704)。そして、警告表示処理は、実行されずに印刷用にプリンタが解釈可能な印刷データを生成する。
このようにXPSDrvプリンタドライバ310は、WPF API形式データに特定の色と任意の色の2色に基づいて表現されているビットマップデータが含まれていると判定した場合に、描画状態が不正であると判定する。このような処理を印刷前に実行して、ユーザに提示するため、ユーザは印刷処理を実行する前に描画不正が発生することを認識することができる。
ステップS1104あるいはステップS1105の処理を経た後は、警告内容として、警告時にプレビューを表示するか否かを判定するために、XPSDrvプリンタドライバ310は、警告時のプレビューがONであるか否かを判定する。つまり、図12の警告設定画面1200中のフィールド1202aで「プレビューする」(プレビューがON)が指定されているか否かを判定する。
警告時のプレビューがONでない場合(ステップS1106でNO)、図12の警告設定画面1200中の警告内容フィールド1202に設定されている設定項目に従って、XPSDrvプリンタドライバ310は、各種処理を実行する(ステップS1112)。この各種処理には、例えば、警告メッセージの表示、警告用紙の挿入、スタンプ処理、地紋処理、通知処理等がある。そして、その警告内容及びその処理結果に基づいて、印刷処理を実行する(ステップS1110)、あるいは印刷処理を中止する(ステップS1111)。
一方、警告時のプレビューがONである場合(ステップS1106でYES)、XPSDrvプリンタドライバ310は、描画した画像のプレビュー画面(図15)を出力する(ステップS1107)。つまり、S1105にて判定したWPF API形式データの描画状態に従って、警告情報を出力する。
次に、XPSDrvプリンタドライバ310は、プレビュー画面中の印刷ボタンが押下されたか否かを判定する。印刷ボタンが押下された場合(ステップS1108でYES)、印刷処理を実行する。一方、中止ボタンが押下された場合(ステップS1108でNO)、XPSDrvプリンタドライバ310は、印刷処理を中止する(ステップS1111)。
次に、図14の処理における具体例について説明する。
本実施形態では、図12において、「描画変換するときは常に警告する」(フィールド1201c)を選択している。そのため、XPSDrvプリンタドライバ310は、描画が不自然な状態であるか否かの判定は行わずに、ステップS1104からステップS1106以降の処理に進み、警告を行うことになる。
また、図12において、「プレビューする」を選択しているので、XPSDrvプリンタドライバ310は、受信したXPSスプールファイルに基づくプレビュー画像(図15)を出力する(ステップS1107)。
ここで、このプレビュー画像を出力するプレビュー画面について、図15を用いて説明する。
図15は本発明の実施形態のプレビュー画面の一例を示す図である。
このプレビュー画面1500を生成するにあたっては、印刷対象の画像の「描画が不自然な状態であるか否か」を判定する。そして、不自然な領域がある場合には、その対象領域を他の領域と識別可能にするために、例えば、所定色(例えば、赤)の矩形枠1501〜1504等で表示する。
詳細には、特定の色と任意の色の2色の組み合わせで表現されているビットマップデータを不自然な領域として、そのビットマップデータを所定の色の矩形枠で囲んで表示する。具体的には、黒と任意の色の2色の組み合わせ、または、白と任意の色の2色の組み合わせで表現されているビットマップデータを指す。
これにより、ユーザは、印刷を最終的に実行する前に、描画(印刷)が不自然となる可能性のある領域を容易に識別することが可能となる。この矩形枠の表示は、警告表示ボタン1511を押下する毎に、その表示/非表示をサイクリックに行うことが可能となる。
また、この表示内容で印刷を許容する場合には、印刷ボタン1510を押下することで、印刷処理を実行することができる。一方、印刷を中止する場合には、中止ボタン1512を押下することで、印刷処理を中止することができる。
さて、プレビュー画面1500では、図13の背景にある世界地図のマスクの画像が、ROPが削除されたことにより単色ビットマップの黒ぬき画像となっているので、この画像領域が所定色の矩形枠1501等として警告表示されている。
尚、警告設定画面1200(図12)において、「描画するときは常に警告する」(フィールド1202a)を指定している場合には、印刷処理前に、常にプレビュー画面1500が表示されることになる。一方、「描画変換した際に描画が不自然なときのみ警告する」(フィールド1201b)を指定している場合には、印刷ジョブ全体においてひとつでも不自然と判定される部分が存在した場合に、プレビュー画面1500を表示する。尚、図17に記載した処理は、「描画変換した際に描画が不自然なときのみ警告する」が選択されたときに実行される。
また、どちらの場合でも不自然と判定された領域がある最初のページをプレビューとして最初に表示する。この時点でユーザが望んだ印刷でなければ、プレビュー画面1500上で中止ボタン1512を押下することにより印刷を中止することができる。
また、「プレビューしない」に指定されているものの、「警告メッセージを表示する」が指定されている場合は、プレビュー画面1500は表示しないが、警告メッセージ1600(図16)が表示されることになる。そして、この警告メッセージ1600において、中止ボタン1602を押下することにより印刷を中止することができる。一方、印刷を続行する場合には、OKボタン1601を押下する。
また、「警告スタンプをつける」(フィールド1202b)や「警告地紋つける」(フィールド1202c)を選択している場合は、ユーザによって選択されたスタンプや地紋等の選択画像を強制的に印刷後の文書に付加する。これにより、実際に印刷された後に、描画が不自然な領域が存在することをユーザに警告することが可能となる。また、この選択画像の付加については、最初のページだけに付加するか、すべてのページに付加するかを指定することもできる。
また、「最初のページに警告用紙を印刷する」(フィールド1202d)を選択している場合は、印刷文書の前に1ページの警告文が載った用紙を印刷する。換言すれば、警告文を印刷するための印刷データを、印刷対象の印刷データの先頭に追加する。
また、「常にエラーにして印刷しない」(フィールド1202d)を選択している場合は、描画変換を行った際に実際に印刷を行うことなく常にエラーとする。つまり、印刷処理を禁止する。
「プリンタに通知する」(フィールド1202e)を選択している場合は、プリンタドライバは、印刷先のプリンタへ描画変換した旨を通知する(警告イベント)。プリンタは、その警告イベントを検出したら、描画変換されている印刷ジョブであることを認識できる。そのため、条件に応じて、その受信する印刷ジョブを直ちに印刷しないでキューに一旦溜めておき、指示があるまで印刷を保留しておくこともできる。
また、「アプリケーションに通知する」(フィールド1202e)を選択している場合は、プリンタドライバは、アプリケーションへ描画変換した旨を通知する。アプリケーションは、プリンタドライバから警告イベントを受信した場合は、使用するプリンタドライバを変更することで、描画変換が発生しないように印刷を実行することが可能になる。
尚、図12の警告設定画面1200で構成されている警告条件及び警告方法は、任意に組み合わせて設定することが可能で、描画変換時の劣化に対して、ユーザが自由に警告の種類を選択することができる。また、これらの警告はあくまで描画変換時にのみ起こす警告であるため、Win32アプリケーションがGDIプリンタドライバに印刷するとき、またWPFアプリケーションがXPSDrvプリンタドライバに印刷するときには影響しない。
XPSからGDIの変換の場合は、これまでと逆のロジックで動作する。即ち、PrintTicketからDEVMODEに変換する際に、DEVMODEのプライベート領域にPrintTicketから変換したことを示す変換フラグをONにしておく。また、DEVMODEに警告設定情報を保持しておく。XPStoGDIコンバータにより描画を変換した結果、完全に変換できず不自然な状態になるのは、上述のように、XPSでは表現できるがGDIでは表現できない内容である。尚、この場合の主体は、GDIプリンタドライバ309となる。
即ち、WPFは、WPFアプリケーション302からの印刷指示に応じて、WPF API形式のデータを出力する。XPStoGDIコンバータ305は、GDI関数に変換して、GDIプリンタドライバ309へ出力する。この場合に、GDIプリンタドライバ309は、GDI関数の描画状態を判定する。尚、詳細な判定方法は、図18にて後述する。GDIプリンタドライバ309は、判定したGDI関数の描画状態に従って、警告情報を出力する。
上述したように、WinFXアプリケーションが生成した描画データは、すべてビットマップ画像としてGDIプリンタドライバ309には渡されてくる。そのため、GDIプリンタドライバ309は、「単色あるいは色数がそれほど多くないビットマップが渡された場合」を不自然な状態と判定する。
これ以外に、「ビットマップ内部に黒によるエッジが見られる場合」、「ビットマップ内部の単色エッジが、隣接するグラフィックス図形と連続する場合」を不自然な状態と判定することも可能である。また、多くの場合、線オブジェクトはグラフィックコマンドとしてプリンタドライバに通知される。しかしながら、XPSからGDIに変換する場合には、全てビットマップ画像として通知されるため、ビットマップデータ内に線オブジェクトが含まれることもある。この場合も、GDIプリンタドライバ309は、不自然な状態であると判定する。
続いて、GDIプリンタドライバ309が、描画が不自然な状態であると判定する場合の処理について、図18を用いて説明する。
GDIプリンタドライバ309は、ビットマップデータを受信する(ステップSS1801)。受信されたビットマップデータ内に特定のオブジェクトが含まれているか否かを判定する(ステップS1802)。尚、特定のオブジェクトの代表例としては、線オブジェクトが挙げられる。即ち、GDIプリンタドライバ309は、ビットマップデータ内に線オブジェクトを検出した場合に、描画が不自然な状態であると判定する(ステップS1803)。
また、GDIプリンタドライバ309が、ビットマップデータ内に特定のオブジェクトが含まれていないと判定した場合、描画が自然な状態であると判定する(ステップS1804)。そして、通常どおり印刷処理を実行する。
GDIプリンタドライバ309は、GDI関数に含まれるビットマップデータに特定のオブジェクトが含まれていると判定した場合に、GDI関数の描画状態が不正であると判定し、ユーザに警告することができる。このような処理を印刷前に実行して、ユーザに提示するため、ユーザは印刷処理を実行する前に描画不正が発生することを認識することができる。
そして、これらを描画が不自然な状態と判定するのは、通常、このような簡易な描画を、ビットマップを使用して描画することは少なく、ストローク(線)や四角や円等の命令を使用するのが自然であるという理論に基づくものである。
そして、GDIからXPSに変換するときと同じように警告を行うことで、GDIドライバでも描画変換時にプレビューで警告表示を行ったり、警告の印刷を行ったりすることが可能となる。
このようにして、ユーザに描画変換が行われたことを認知させ、画像劣化がない印刷を導くことができる。
以上説明したように、本実施形態によれば、ユーザはアプリケーションが印刷時に使用するグラフィックスエンジンに最適なプリンタドライバを確認することができ、画像情報が欠落した印刷を防ぐことが可能になる。また、印刷を行った場合に画像が欠けていたとしても、描画変換が理由で画像情報が欠落していることがわかるため、ユーザが早く問題を認識させることが可能となる
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施形態の印刷処理システムのブロック構成図である。 本発明の実施形態の印刷処理システムの機能構成を示す図である。 本発明の実施形態の2つのグラフィックスエンジンを搭載するオペレーティングシステムの印刷処理システムの機能構成を示す図である。 本発明の実施形態のXPSDrvプリンタドライバの詳細構成を示す図である。 本発明の実施形態のDEVMODE構造体のデータ構造の一例を示す図である。 本発明の実施形態のプリントチケットのデータ構造の一例を示す図である。 本発明の実施形態のGDIグラフィックスエンジンによるラスタオペレーションを説明するための図である。 本発明の実施形態のGDIグラフィックスエンジンによるラスタオペレーションを説明するための図である。 本発明の実施形態のXPS特有の描画方法による描画例を説明するための図である。 本発明の実施形態のXPS特有の描画方法による描画例を説明するための図である。 本発明の実施形態の印刷処理システムの動作シーケンスを示す図である。 本発明の実施形態の警告メッセージの一例を示す図である。 本発明の実施形態の警告設定画面の一例を示す図である。 本発明の実施形態の印刷対象画像の一例を示す図である。 本発明の実施形態のXPSDrvプリンタドライバのレンダリング部による処理の詳細を示すフローチャートである。 本発明の実施形態のプレビュー画面の一例を示す図である。 本発明の実施形態の警告メッセージの一例を示す図である。 本発明の実施形態の描画不正の解析フローチャートを示す図である。 本発明の実施形態の描画不正の解析フローチャートを示す図である。
符号の説明
101 CPU
102 ROM
103 RAM
104 入力インタフェース
105 外部記憶装置
1051 アプリケーション
1052 印刷関連プログラム
1053 プリンタドライバ
1054 オペレーティングシステム
106 出力インタフェース
107 システムバス
108 キーボード
109 ポインティングデバイス
110 モニタ
111 プリンタ

Claims (23)

  1. 第1アプリケーションからの印刷指示に応じて、第1プリンタドライバが処理可能な第1描画データを生成する第1描画部と、第2アプリケーションからの印刷指示に応じて、第2プリンタドライバが処理可能な第2描画データを生成する第2描画部とが動作する情報処理装置であって、
    前記第1アプリケーションからの印刷指示に応じて作成された前記第1描画データから変換された第2描画データの描画状態が不自然である場合、警告情報として前記第2描画データに基づくプレビュー画面を表示すると共に、前記描画状態が不自然であると判定された前記第2描画データ中の領域については他の領域と識別可能に表示する出力手段と
    を備えることを特徴とする情報処理装置。
  2. 前記データ変換が行われた際の警告方法を設定する設定手段を更に備え、
    前記出力手段は、前記設定手段によって設定された警告方法と前記第2描画データの描画状態とに従って警告情報を出力する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記プレビュー画面は、前記印刷データの印刷処理の実行を指示する第1指示部と、前記印刷処理の中止を指示する第2指示部とを備える
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記設定手段は、前記警告方法として、前記第2描画データに基づく印刷データのプレビュー画面の出力の可否を設定する
    ことを特徴とする請求項2または3のいずれか1項に記載の情報処理装置。
  5. 前記設定手段は、前記警告方法として、指定されたスタンプ画像を前記第2描画データに基づく印刷データへの付加の可否、または、指定された地紋画像を前記第2描画データに基づく印刷データへの付加の可否を設定する
    ことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  6. 前記設定手段は、前記警告方法として、警告メッセージの出力の可否、または、印刷の禁止の可否を設定する
    ことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  7. 前記設定手段は、前記警告方法として、指定された印刷データの、前記第2描画データに基づく印刷データの先頭への追加の可否を設定する
    ことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  8. 前記設定手段は、前記警告方法として、前記データ変換が行われた旨の、出力先のプリンタへの通知の可否、または、前記データ変換が行われた旨の、前記第1アプリケーションへの通知の可否を設定する
    ことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  9. 前記設定手段は、前記警告方法として、複数部数が指定された印刷ジョブで、1部目の印刷に対してのみ指定された警告方法を適用し、それ以降の部の印刷ジョブについては、出力先のプリンタで保持することの可否を設定する
    ことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  10. 前記第2描画データに特定の色と任意の色の2色に基づいて表現されているビットマップデータが含まれていると判定した場合、または、前記第2描画データに含まれるビットマップデータに特定のオブジェクトが含まれていると判定した場合、前記第2描画データの描画状態が不自然であると判定する判定手段を更に有し、
    前記出力手段は、前記不自然であると判定された第2描画データを前記設定手段によって設定された警告方法に従って表示する
    ことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  11. 前記出力手段は、前記第1アプリケーションからの印刷指示に応じて、前記第1描画データを前記第2描画データへデータ変換して、前記第2プリンタドライバへ出力する場合に、第1警告を出力する第1警告手段と、
    前記判定手段により前記第2描画データの描画状態が不自然であると判定された場合、前記設定手段により設定された警告方法に従って第2警告を出力する第2警告手段と
    を備えることを特徴とする請求項10に記載の情報処理装置。
  12. 第1アプリケーションからの印刷指示に応じて、第1プリンタドライバが処理可能な第1描画データを生成する第1描画部と、第2アプリケーションからの印刷指示に応じて、第2プリンタドライバが処理可能な第2描画データを生成する第2描画部とが動作する情報処理装置の制御方法であって、
    前記第1アプリケーションからの印刷指示に応じて作成された前記第1描画データから変換された第2描画データの描画状態が不自然である場合、警告情報として前記第2描画データに基づくプレビュー画面を表示すると共に、前記描画状態が不自然であると判定された前記第2描画データ中の領域については他の領域と識別可能に表示する出力工程と
    を備えることを特徴とする情報処理装置の制御方法。
  13. 第1アプリケーションからの印刷指示に応じて、第1プリンタドライバが処理可能な第1描画データを生成する第1描画部と、第2アプリケーションからの印刷指示に応じて、第2プリンタドライバが処理可能な第2描画データを生成する第2描画部とが動作する情報処理装置の制御をコンピュータに実行させるためのプログラムであって、
    前記第1アプリケーションからの印刷指示に応じて作成された前記第1描画データから変換された第2描画データの描画状態が不自然である場合、警告情報として前記第2描画データに基づくプレビュー画面を表示すると共に、前記描画状態が不自然であると判定された前記第2描画データ中の領域については他の領域と識別可能に表示する出力工程をコンピュータに実行させる
    ことを特徴とするプログラム。
  14. 前記データ変換が行われた際の警告方法を設定する設定工程を更に備え、
    前記出力工程は、前記設定工程によって設定された警告方法と前記第2描画データの描画状態とに従って警告情報を出力する
    ことを特徴とする請求項13に記載のプログラム。
  15. 前記プレビュー画面は、前記印刷データの印刷処理の実行を指示する第1指示部と、前記印刷処理の中止を指示する第2指示部とを備える
    ことを特徴とする請求項13または14に記載のプログラム。
  16. 前記設定工程は、前記警告方法として、前記第2描画データに基づく印刷データのプレビュー画面の出力の可否を設定する
    ことを特徴とする請求項14または15のいずれか1項に記載のプログラム。
  17. 前記設定工程は、前記警告方法として、指定されたスタンプ画像を前記第2描画データに基づく印刷データへの付加の可否、または、指定された地紋画像を前記第2描画データに基づく印刷データへの付加の可否を設定する
    ことを特徴とする請求項14乃至16のいずれか1項に記載のプログラム。
  18. 前記設定工程は、前記警告方法として、警告メッセージの出力の可否、または、印刷の禁止の可否を設定する
    ことを特徴とする請求項14乃至17のいずれか1項に記載のプログラム。
  19. 前記設定工程は、前記警告方法として、指定された印刷データの前記第2描画データに基づく印刷データの先頭への追加の可否を設定する
    ことを特徴とする請求項14乃至18のいずれか1項に記載のプログラム。
  20. 前記設定工程は、前記警告方法として、前記データ変換が行われた旨の出力先のプリンタへの通知の可否、または、前記データ変換が行われた旨の前記第1アプリケーションへの通知の可否を設定する
    ことを特徴とする請求項14乃至19のいずれか1項に記載のプログラム。
  21. 前記設定工程は、前記警告方法として、複数部数が指定された印刷ジョブで、1部目の印刷に対してのみ指定された警告方法を適用し、それ以降の部の印刷ジョブについては、出力先のプリンタで保持することの可否を設定する
    ことを特徴とする請求項14乃至20のいずれか1項に記載のプログラム。
  22. 前記第2描画データに特定の色と任意の色の2色に基づいて表現されているビットマップデータが含まれていると判定した場合、または、前記第2描画データに含まれるビットマップデータに特定のオブジェクトが含まれていると判定した場合、前記第2描画データの描画状態が不自然であると判定する判定工程を更に有し、
    前記出力工程は、前記不自然であると判定された第2描画データを前記設定工程によって設定された警告方法に従って表示する
    ことを特徴とする請求項14乃至21のいずれか1項に記載のプログラム。
  23. 前記出力工程は、前記第1アプリケーションからの印刷指示に応じて、前記第1描画データを前記第2描画データへデータ変換して、前記第2プリンタドライバへ出力する場合に、第1警告を出力する第1警告工程と、
    前記判定工程により前記第2描画データの描画状態が不自然であると判定された場合、前記設定工程により設定された警告方法に従って第2警告を出力する第2警告工程と
    を備えることを特徴とする請求項22に記載のプログラム。
JP2006075548A 2006-03-17 2006-03-17 情報処理装置及びその制御方法、プログラム Expired - Fee Related JP4667280B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006075548A JP4667280B2 (ja) 2006-03-17 2006-03-17 情報処理装置及びその制御方法、プログラム
US12/158,793 US8917405B2 (en) 2006-03-17 2007-03-16 Information processing for generating graphics data processible by a printer
PCT/JP2007/056118 WO2007108547A1 (en) 2006-03-17 2007-03-16 Information processing apparatus, control method therefor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006075548A JP4667280B2 (ja) 2006-03-17 2006-03-17 情報処理装置及びその制御方法、プログラム

Publications (3)

Publication Number Publication Date
JP2007249857A JP2007249857A (ja) 2007-09-27
JP2007249857A5 JP2007249857A5 (ja) 2009-04-30
JP4667280B2 true JP4667280B2 (ja) 2011-04-06

Family

ID=38522571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006075548A Expired - Fee Related JP4667280B2 (ja) 2006-03-17 2006-03-17 情報処理装置及びその制御方法、プログラム

Country Status (3)

Country Link
US (1) US8917405B2 (ja)
JP (1) JP4667280B2 (ja)
WO (1) WO2007108547A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4785580B2 (ja) * 2006-03-17 2011-10-05 キヤノン株式会社 画像形成装置及びその制御方法、プログラム
JP4363463B2 (ja) 2007-06-22 2009-11-11 ブラザー工業株式会社 印刷制御装置およびプリンタドライバのプログラム
JP4524317B2 (ja) 2008-02-21 2010-08-18 株式会社沖データ 印刷システム及び情報処理装置
JP5070101B2 (ja) 2008-03-25 2012-11-07 キヤノン株式会社 情報処理装置及びその制御方法、プリンタドライバプログラム
JP5408904B2 (ja) * 2008-05-23 2014-02-05 キヤノン株式会社 情報処理装置、プレビュー方法、及びプログラム
JP4912360B2 (ja) * 2008-06-25 2012-04-11 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
KR101501471B1 (ko) * 2008-09-03 2015-03-18 삼성전자주식회사 인쇄 제어 방법, 인쇄 제어 단말장치, 및 화상형성장치
US8169625B2 (en) 2008-09-26 2012-05-01 Microsoft Corporation Handling unhandled raster operations in a document conversion
KR101383564B1 (ko) * 2008-10-10 2014-04-17 삼성전자주식회사 화상형성장치 및 화상형성방법
US8587610B2 (en) * 2008-12-12 2013-11-19 Microsoft Corporation Rendering source content for display
EP2278449A3 (en) * 2009-07-08 2013-02-20 Kabushiki Kaisha Toshiba Apparatus, method, system and storage medium for setting print status
KR20110051052A (ko) * 2009-11-09 2011-05-17 삼성전자주식회사 인쇄 제어 방법 및 인쇄 제어 단말장치
JP5581793B2 (ja) * 2010-04-30 2014-09-03 株式会社リコー 情報処理装置、プログラムおよび記憶媒体
JP5736893B2 (ja) * 2011-03-28 2015-06-17 富士ゼロックス株式会社 情報分析装置、画像処理システム、情報処理装置及びプログラム
JP5787606B2 (ja) 2011-05-02 2015-09-30 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP5879807B2 (ja) * 2011-08-11 2016-03-08 株式会社リコー 印刷制御装置、制御プログラム及び記録媒体
JP2014233871A (ja) * 2013-05-31 2014-12-15 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP5677550B2 (ja) * 2013-11-07 2015-02-25 キヤノン株式会社 情報処理装置、プレビュー方法、及びプログラム
JP6234417B2 (ja) * 2015-10-26 2017-11-22 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP6576224B2 (ja) * 2015-11-26 2019-09-18 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP6938204B2 (ja) * 2017-05-02 2021-09-22 キヤノン株式会社 情報処理装置、プログラム
JP2019012952A (ja) * 2017-06-30 2019-01-24 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP6437076B2 (ja) * 2017-10-26 2018-12-12 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP2023043114A (ja) * 2021-09-15 2023-03-28 富士フイルムビジネスイノベーション株式会社 画像形成装置、及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01175036A (ja) * 1987-12-29 1989-07-11 Fujitsu Ltd ソースプログラム変換装置
JP2001034444A (ja) * 1999-07-19 2001-02-09 Fuji Xerox Co Ltd 印刷システムおよびその制御方法
JP2003303084A (ja) * 2002-04-09 2003-10-24 Canon Inc 印刷制御システム、印刷制御方法、記憶媒体、及びプログラム
JP2004008870A (ja) * 2002-06-05 2004-01-15 Hitachi Industries Co Ltd 油水分離装置
JP2005018494A (ja) * 2003-06-27 2005-01-20 Canon Inc データ処理装置および印刷データ生成方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
JP2006065839A (ja) * 2004-07-30 2006-03-09 Canon Inc 情報処理装置及び印刷情報処理方法、並びにコンピュータプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3392057B2 (ja) * 1998-07-10 2003-03-31 キヤノン株式会社 印刷制御方法及び装置
JP2001067347A (ja) * 1999-06-23 2001-03-16 Canon Inc 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP4136634B2 (ja) * 2002-12-10 2008-08-20 キヤノン株式会社 文書処理装置及び方法
JP2006039941A (ja) * 2004-07-27 2006-02-09 Canon Inc プログラム、情報処理装置、プレビュー方法
JP4785580B2 (ja) * 2006-03-17 2011-10-05 キヤノン株式会社 画像形成装置及びその制御方法、プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01175036A (ja) * 1987-12-29 1989-07-11 Fujitsu Ltd ソースプログラム変換装置
JP2001034444A (ja) * 1999-07-19 2001-02-09 Fuji Xerox Co Ltd 印刷システムおよびその制御方法
JP2003303084A (ja) * 2002-04-09 2003-10-24 Canon Inc 印刷制御システム、印刷制御方法、記憶媒体、及びプログラム
JP2004008870A (ja) * 2002-06-05 2004-01-15 Hitachi Industries Co Ltd 油水分離装置
JP2005018494A (ja) * 2003-06-27 2005-01-20 Canon Inc データ処理装置および印刷データ生成方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
JP2006065839A (ja) * 2004-07-30 2006-03-09 Canon Inc 情報処理装置及び印刷情報処理方法、並びにコンピュータプログラム

Also Published As

Publication number Publication date
US8917405B2 (en) 2014-12-23
WO2007108547A1 (en) 2007-09-27
JP2007249857A (ja) 2007-09-27
US20090097047A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
JP4667280B2 (ja) 情報処理装置及びその制御方法、プログラム
US8537438B2 (en) Information processing apparatus in which a plurality of types of print drivers and plurality of graphics units run, control method therefor, and program
JP4520340B2 (ja) 印刷制御装置、印刷制御装置の制御方法、印刷制御プログラム及び記録媒体
US7839531B2 (en) Printing control method
JP4785579B2 (ja) 情報処理装置および情報処理装置における印刷設定反映方法とプログラム
US9013718B2 (en) Print control apparatus, control method thereof, and device driver for converting commands from one format to another
JP4651112B2 (ja) 情報処理装置及びその制御方法とプログラム
JP4960900B2 (ja) 情報処理装置および画像形成装置
US8320001B2 (en) Information processing method and apparatus for banner printing
JP2007304764A (ja) 画像形成制御データ、プリンタ、印刷サーバ装置、印刷クライアント装置
US20120140249A1 (en) Information processing device, information processing method, and computer program product
JP6234417B2 (ja) 情報処理装置及びその制御方法とプログラム
JP2019012952A (ja) 情報処理装置、情報処理方法、およびプログラム
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
JP5171973B2 (ja) 情報処理装置及びその制御方法
JP2008139912A (ja) 情報処理装置、画像形成装置及びそれらの制御方法、コンピュータプログラム
JP2007207003A (ja) 情報処理装置、ドライバ設定方法、記憶媒体、プログラム
JP2006178622A (ja) 文書変換方法、文書変換装置、及びプログラム
JP2007226670A (ja) 情報処理方法およびプログラム、情報処理装置
JP2006085253A (ja) 情報処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2006338166A (ja) 情報処理装置及びその制御方法、プログラム
JP2007115026A (ja) 印刷制御装置、印刷制御方法、印刷制御プログラム及び記録媒体
JP2012008792A (ja) 情報処理装置及びプリンタドライバ
JP2006163775A (ja) 印刷制御装置および印刷制御装置のデータ処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101122

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: 20110107

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: 20110111

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees