Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6833419B2 - 情報処理装置、方法およびプログラム - Google Patents
[go: Go Back, main page]

JP6833419B2 - 情報処理装置、方法およびプログラム - Google Patents

情報処理装置、方法およびプログラム Download PDF

Info

Publication number
JP6833419B2
JP6833419B2 JP2016181573A JP2016181573A JP6833419B2 JP 6833419 B2 JP6833419 B2 JP 6833419B2 JP 2016181573 A JP2016181573 A JP 2016181573A JP 2016181573 A JP2016181573 A JP 2016181573A JP 6833419 B2 JP6833419 B2 JP 6833419B2
Authority
JP
Japan
Prior art keywords
print setting
print
setting information
information
functions
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.)
Active
Application number
JP2016181573A
Other languages
English (en)
Other versions
JP2018045577A5 (ja
JP2018045577A (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 JP2016181573A priority Critical patent/JP6833419B2/ja
Priority to EP17190660.5A priority patent/EP3296856B1/en
Priority to US15/705,051 priority patent/US20180081598A1/en
Priority to CN201710832753.2A priority patent/CN107832023B/zh
Publication of JP2018045577A publication Critical patent/JP2018045577A/ja
Publication of JP2018045577A5 publication Critical patent/JP2018045577A5/ja
Application granted granted Critical
Publication of JP6833419B2 publication Critical patent/JP6833419B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1214Improving printing performance achieving reduced delay between job submission and print start at the submitting node
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1231Device related settings, e.g. IP address, Name, Identification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、新しいアーキテクチャのプリンタードライバーが動作する情報処理装置における印刷設定に係る処理負荷を軽減することで印刷パフォーマンスを向上する技術に関する。
Microsoft(登録商標)のWindows8(登録商標)では、V4プリンタードライバーと呼ばれる新しいアーキテクチャで動作するプリンタードライバーが導入されている。V4プリンタードライバーは、従来のプリンタードライバーのアーキテクチャ(V3アーキテクチャ)として提供されていたXPS(XML Paper Specification)プリンタードライバーの後継となるアーキテクチャに従うプリンタードライバーである。また、V4プリンタードライバーは、XPS文書での印刷パス(XPS印刷パス)を利用している。
このXPS印刷パスにおいて、印刷物の体裁を決定するために利用されるものがPrintCapabilitiesと呼ばれるXML(eXtensible Markup Language)形式で記述された印刷能力情報と、PrintTicketと呼ばれるXML形式で記述された印刷設定情報である。V4プリンタードライバーでは、GPD(Generic Printer Description)と呼ばれる印刷設定定義ファイルに印刷能力情報を記載し、このGPDを含んだプリンタードライバーをOS(Operationg System)にインストールすることで、アプリケーションに対してPrintCapabilitiesやPrintTicketを利用した印刷設定の変更機能を提供することができる。
また、V4プリンタードライバーにはPrintCapabilitiesやPrintTicketをOS以外が編集するための機構も用意されている。この機能にて駆動されるモジュールを印刷設定編集モジュールと呼ぶこととする。プリンター開発ベンダーは、従来のV3アーキテクチャとは異なり、JavaScript(商標登録)で実装される印刷設定編集モジュールを利用してPrintCapabilitiesやPrintTicketを編集できる。また、印刷設定編集モジュールは、印刷設定間の矛盾を解決する禁則処理や、機能追加処理などを行うことができる。
また、この印刷設定編集モジュールに関して、印刷開始が遅れないようにするための従来技術(例えば、特許文献1)が存在する。V4プリンタードライバー及びOSによる印刷処理中に行われる印刷設定の編集処理に時間がかかると、印刷開始が遅れる問題が発生する。この問題に対して、特許文献1では、印刷設定編集モジュールの処理において、PrintTicketのチェック用データ(キャッシュ)を生成し、次回以降の印刷設定編集モジュールの検証処理に関してはチェック用データを利用して行う。本処理によって印刷設定モジュールにおけるPrintTicketの読み込み処理の必要性が軽減されることにより、印刷設定の編集処理の高速化を図っている。
特開2015−215654号公報
ここで、V4プリンタードライバーを利用する新しい印刷システムでは、一度の印刷処理の中の随所で、OSによって、PrintCapabilitiesやPrintTicketに対しては、印刷設定間に矛盾がないか、XML形式の記述として問題ないか等、様々な検証処理が行われている。PrintCapabilities及びPrintTicketはXML形式で記載されているため可読性が高いという特徴があるものの、文字列探索や編集処理に時間がかかる。
V3アーキテクチャでのXPSプリンタードライバーの場合、CやC++といった言語で処理できること、さらにはプリンター開発ベンダーが検証を含めたPrintTicketの生成を担うことができたため、それらのOSの処理などに起因して印刷設定の編集処理に時間がかかることがなかった。
一方、V4プリンタードライバーでは、ベンダーが利用できる編集モジュールがJavaScriptで実装された印刷設定編集モジュールだけである点、さらに、OSによって上述の様々な検証処理が動作してしまうことに起因して、印刷設定の編集処理に大きく時間がかかってしまうことがわかった。
よって、印刷開始について更に改善するためには、上述の特許文献1のように印刷設定編集モジュールの処理を高速化するだけではなく、OSが行う検証処理などによる処理時間を軽減する必要性があることがわかった。
ここで、OSが行う検証の処理時間に影響する要因として、「機能数」が考えられる。ここでいう機能数とは、ユーザーに提供できる機能のことを指し、具体的にはXML形式で記載されたPrintTicketのRootである<PrintTicket>の直下に存在する<Feature>の数のことを指す。この機能数が多くなるにつれOSによるPrintTicketの検証に大きく時間がかかることが判明し、印刷設定編集モジュールの処理を最適化するだけでは印刷設定の全体的な処理時間の軽減を行うことができないことがわかった。
なお、プリンタードライバーとしては対応するプリンターがサポートする機能を最大限にユーザーに対して提供することが望まれるため、プリンタードライバーを提供する開発ベンダーは、これら多くの機能を提供しつつも、印刷設定情報の処理時間の軽減を行われることが求められる。
そこで、本発明は、XML(eXtensible Markup Language)で記述された印刷設定情報を処理するOS(オペレーティングシステム)が動作する情報処理装置であって、前記印刷設定情報で定義される複数の機能の中で、互いに関連する複数の機能を探索する探索手段と、前記印刷設定情報の中に互いに関連する複数の機能が存在し、かつ、当該互いに関連する複数の機能のうちの一方の機能に対応する値が有効でない場合に、当該印刷設定情報から、当該互いに関連する複数の機能のうちの他方の機能を定義する記述を削減するように、当該印刷設定情報を編集する編集手段と、を有することを特徴とする。
本発明により、V4プリンタードライバーを利用する印刷システムにおいて、ユーザーに最大限の機能を提供しつつ、印刷開始までの時間を改善し得る仕組みを提供することができる。
情報処理装置のハードウェアの構成例を示すブロック図である 本発明の印刷処理システムにおけるモジュール構成例を示すブロック図である 実施例1における印刷設定定義ファイル(GPD)の一部の例 実施例1における印刷能力情報であるPrintCapabilitiesの一部の例 実施例1における印刷設定情報であるPrintTicketの一部の例 実施例1における印刷設定編集モジュールの処理を説明するためのフローチャートを示す 実施例1で、関連するFeatureを削除したPrintTicketの例を示す 実施例1で、関連するFeatureを一つにまとめたPrintTicketの例を示す 実施例1の応用例で挙げるPrintTicketの例を示す 実施例2における印刷設定編集モジュールの処理を説明するためのフローチャートを示す 実施例2でDriverPropertyBagに保存する情報の例を示す 実施例2デフォルト設定から「印刷の向き」を「Landscape」に変更した場合のPrintTicketの例を示す 実施例2デフォルト設定の差分のみ表現したPrintTicketの例を示す
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
図1は、情報処理装置のハードウェアの構成例を示すブロック図である。情報処理装置の一例としては、オペレーティングシステムやプリンタードライバーなど様々なソフトウェアプログラムが実行されるパーソナルコンピューターなどが挙げられる。
CPU101は主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。本実施形態における各コンポーネントの処理はすべてRAM102に読み込んで動作する。補助記憶装置105はアプリケーション1051やプリンタードライバー1052、オペレーティングシステム(OS)1053等を記録する。プリンタードライバー1052は、印刷機能を持つデバイスに対して、印刷指示を行うことができる。キーボード1031やマウス・タッチパネルなどに代表されるポインティングデバイス1032などの入力機器は、入力I/F103を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインターフェースであり、モニタ1041やプリンター1042などの出力機器に対してデータを出力する。プリンター1042とは直接接続されるローカルI/Oのみならず、通信I/F106を通じて接続されるネットワーク1061を通して接続されていてもよい。また、107は共通データシステムバスで、I/Fやモジュール間でデータのやりとりを行う。
図2は、アプリケーション1051、プリンタードライバー1052、OS1053により実現される印刷処理印刷システムにおけるモジュール構成例を示すブロック図である。
本印刷処理システムは、XPSファイルフォーマットをスプールデータとして使用し、とくにプリンタードライバー1052としてV4プリンタードライバーを用いた印刷を行うシステムを想定している。印刷処理システムは、OS1053上で動作している。プリントマネージャ218、GDItoXPS変換モジュール207、フィルタパイプラインマネージャ212、ポートモニター219はOS1053に含まれるモジュールである。GDI(Graphics Device Interface)とはプリンターの印刷イメージの生成を行うグラフィックスコンポーネントであり、GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する機能を持つ。フィルタパイプラインマネージャ212は、XPS印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。ポートモニター219は、デバイスにアクセスするプリントマネージャ218とプリンター間で通信を制御することができプリンタードライバーはポートモニター219を経由して印刷処理を行う。GDItoXPS変換モジュール207、コンフィグレーションモジュール208、フィルタパイプラインマネージャ212は、プリンタードライバー1052に含まれているが、OS1053から提供されているプリンタードライバー1052のモジュールという位置づけである。
コンフィグレーションモジュール208は、プリンタードライバーが提供する印刷設定編集モジュール2081を使用して印刷設定情報を編集することができ、印刷設定編集モジュール2081は、スクリプト言語、特にJavaScript(商標登録)で記載されたプログラムのことを指し、プリンタードライバーが提供するプロパティバッグ2082を利用して印刷設定情報を編集する。プロパティバッグ2082とは、プリンターの機種依存情報として利用するためのDriverPropertyBagと呼ばれるデータ群と、プリントキューに紐づいたQueuePropertyBagと呼ばれるデータ群が保持された領域を指す。DriverPropertyBagは、ドライバーパッケージ内に存在するプリンターの機種依存データであり、プリンタードライバーインストール後にOS1053内の特定の領域に読み取り専用としてデータ群が保持される。QueuePropertyBagは、Key−Valueペアのxml定義ファイルをOS1053に登録することで利用することが可能であり、Valueに関して一定の権限上で編集が可能である。
プリンタードライバー1052とフィルタパイプラインマネージャ212の各フィルタは、図1の補助記憶装置105にプリンタードライバー1052として格納されている。本実施例ではアプリケーション1051の例として、GDI印刷アプリケーション201とXPS印刷アプリケーション202との2つのプログラムを図示しており、図1の補助記憶装置105にそれぞれ格納されている。ユーザーは、キーボード1031やタッチパネル/マウスなどに代表されるポインティングデバイス1032などといった入力装置を使用して、出力装置のモニタ1041に映し出されたGDI印刷アプリケーション201(以下、GDIアプリと略す)、もしくはXPS印刷アプリケーションプログラム202(以下、XPSアプリと略す)から印刷処理を実行する。
印刷処理は、(1)プリンターの選択、(2)印刷設定の作成、(3)描画データの変換、の3つの処理を順番に行うことで実行される。
(1)まずは、印刷したいプリンター1042の選択をする。
ユーザーから見るとプリンター1042の選択は、印刷を実行するプリンター1042に対応したプリンタードライバー1052を選択することと同義である。1052の選択には、不図示のプリントキューを利用する。
(2)次に、印刷設定を作成する。
印刷設定はまず、アプリケーション1051が印刷設定用のメモリ領域をRAM1022に確保する。そして、アプリケーション1051は、プリンタードライバー1052のコンフィギュレーションモジュール204を呼び出して、印刷設定データを作成して格納する。GDIアプリ201では印刷設定データとしてバイナリのDEVMODE構造体203を用い、XPSアプリ202ではマークアップ言語のXMLで記載された印刷設定情報(PrintTicket)204を用いる。DEVMODE構造体203は、OS1053が定義する標準領域とプリンタードライバーが独自で定義する拡張領域を持つ。PrintTicket204は、XML形式で記述された印刷設定情報で、標準領域と拡張領域は名前空間によって記載が分かれている。PrintTicket204にいて標準領域に該当するオペレーティングシステムによって定義されたPrintSchemaのことをPublicSchemaと呼ぶこととする。PrintTicket204にいて拡張領域に該当するプリンタードライバーが独自で定義したPrintSchemaのことをPrivateSchemaと呼ぶこととする。印刷設定データには機種固有の情報も含まれているので、コンフィギュレーションモジュール208は、機種依存ファイル209を利用して、印刷設定データを作成する。このDEVMODE構造体203もしくはPrintTicket204が印刷設定を保持しており、アプリケーションが直接、値を書き換えることで印刷設定を変更する。機種依存ファイル209は、GPDと呼ばれる印刷設定定義ファイルを指し、図3のようにテキストベースで記載されている。図3では例として、「両面設定」、「スタンプ」および「スタンプテキストのフォントスタイル」を表す機能が記載されている。
GPDについて、具体的に説明する。GPDはMicrosoftが定義した記載方法に従って記述することで印刷設定機能を実現できる。例えば、「両面設定」を表わすDuplexというFeatureを301のように定義する。特に、310のようにPrintSchemaKeywordMapにオペレーティングシステムによって定義されたPrintSchemaの名称を記載することで、PublicSchemaを扱うことができる。また、両面設定の設定項目であるOptionとして、None(片面印刷(302))、VERTICAL(両面長辺とじ(303))、HORIZONTAL(両面短辺とじ(304))と定義することにより、OneSided、TwoSidedLongEdge,TwoSidedShortEdgeのPrintSchemaに割り当てられる。また、311のDefaultOptionに記載されたOptionがデフォルト設定として動作する。
図3では、次に、320において、「スタンプ」を表すPagaWaterMarkPrintというFeatureを定義している。「両面設定」の310のようにPrintSchemaKeywordMapを定義しない場合は、320に記載された名称でPrivatePrintSchemaとして定義される。
図3では、330において、同様の記載方法で「スタンプのフォントスタイル」についても定義する。「スタンプのフォントスタイル」という機能は、「スタンプ」印刷時の記載する文字列のスタイル(標準や斜体など)を設定する機能である。
上記のGPDを定義した場合、PrintCapabilities400(図4)およびPrinTicket204(図5)が、コンフィギュレーションモジュール208によって生成される。GPDに記載した内容とPrintCapabilities400やPrintTicket204は、1対1の関係で表現される。PrintCapabilities400やPrintTicket204は印刷設定編集モジュール2081やプリンターエクステンション210、GDItoXPS編集モジュール207などの様々なモジュール間でやり取りを行うデータである。
プリンター1042に依存した専用の設定は、プリンターエクステンション210が持つユーザーインターフェースで設定することができる。プリンターエクステンション210は、プリンタードライバー1052の一種ではあるが、プリンタードライバー1052とは別のアプリケーション(プログラム)としてインストールを行う。プリンタードライバー1052は、そのユーザーインターフェースの設定に従い、DEVMODE構造体203もしくはPrintTicket204における少なくともいずれかの設定の値を変更する。
PrintTicket204は、印刷設定がXML形式で記述されているので、XPSアプリ202がすべての設定値を直接変更して書き換えることは容易だが、プリンターエクステンション210のユーザーインターフェースを使って設定変更してもかまわない。印刷設定は文書印刷のたびに作成するが、プリンター1042のオプション機器や、ユーザーごとの環境設定など設定を保持しておきたいものは、ユーザーインターフェースがOS1053のレジストリデータベース205に保存する。レジストリデータベース205が使用できないときは、ユーザーインターフェースは、アプリケーションデータ220に設定を保存する。印刷設定のデフォルト値は、OS1053のプリントマネージャ218が、レジストリデータベース205に保存する。レジストリデータベース205や、アプリケーションデータ220は、補助記憶装置105に保存される。
(3)最後に描画データの変換を行う。
印刷設定が確定したら、ユーザーはアプリケーションが提供する画面を介して、印刷処理の開始を指示する。GDIアプリ201から印刷する場合は、プリンタードライバーの形態を取るGDItoXPS変換モジュール207に描画データが送られ、XPSスプールファイル206が作成される。このときGDItoXPS変換モジュール207はコンフィギュレーションモジュール208を呼び出し、印刷設定をDEVMODE構造体203からPrintTicket204に変換する。変換する際には、印刷設定編集モジュール2081が使用される。XPSアプリ202から印刷する場合は、XPSファイルをXPSアプリ自身が生成するのと、OS1053がXPSアプリ202からの描画命令に応じてXPSファイルを生成するのと2通りの方法がある。どちらの方法であっても、印刷の途中でXPSスプールファイル206を生成する。
XPSスプールファイル206が生成されたら、プリントフィルタパイプライン211に処理が渡される。プリントフィルタパイプライン211は複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル216でフィルタの数や順番を制御する。プリントフィルタパイプライン211で動作するフィルタパイプラインマネージャ212は、フィルタコンフィギュレーションファイル216に従って、この実施例では通信フィルタ213、レイアウトフィルタ214、レンダラフィルタ215の順に処理を行う。フィルタはプリンタードライバー1052の構成によって、数や種類が異なる。ここでの印刷処理は、フィルタのそれぞれが、XPSスプールファイル206を加工して次のフィルタに渡していくことで進むことになる。通信フィルタ213は、プリントマネージャ218およびポートモニターを経由してプリンター1042と通信する機能と、直接プリンター1042と通信する機能を持つ。レイアウトフィルタ214は、倍率の変更や製本の面付けレイアウトやスタンプなどレイアウトに関する処理を行う。レンダラフィルタ215では、XPSスプールファイル206をレンダリングしてPDL(PageDescriptionLanguage)に変換する。PDLデータは印刷処理のスケジュール管理を行うプリントマネージャ218で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンター1042が印刷できる状態になったら、キューに登録した順にポートモニター219を通して送信する。
上記印刷フローにおいて、各モジュールでPrintTicket204を扱っている。例えば、プリンターエクステンション210からの印刷設定の変更処理や、各フィルタ(通信フィルタ213、レイアウトフィルタ214、レンダラフィルタ215)による処理におけるPrintTicket204の読み込み処理などが該当する。それらの処理の際には、必ず、コンフィグモジュール208を介して印刷設定編集モジュール2081が呼び出される。つまり、一度の印刷処理の中で、このような呼び出しが数十回行われることになる。そして、そのような呼び出し処理が行われるたびに、毎回、OS1053によるPrintTicket204の検証処理などが動作してしまう。その処理に時間がかかってしまうと、プリンター1042での印刷開始が遅くなってしまう。
そこで、本発明では、OS1053によるPrintTicket204の検証処理などを含む印刷設定の編集処理の負荷を軽減するために、印刷設定編集モジュール2081によるPrintTicket204の自動的な編集処理を追加する。
図6で示すフローチャートを用いて、本実施例における特別な処理について詳細に説明する。本処理では、OS1053による検証などでは不要となる機能を(一時的に)PrintTicketから削減する(後述のS606,S607)などして、OS1053による処理負荷の軽減を実現している。なお、本フローチャートの各処理を実行する主体は印刷設定編集モジュール2081であり、以下の説明において記載がない限り、各処理の主語は印刷設定編集モジュール2081である。印刷設定編集モジュール2081は、補助記憶装置105からRAM1022にロードされ、CPU101によって実行される。
前提として、PrintTicket204には、互いに関連のある複数の機能が存在する。例えば、図3のGPDの例を用いて説明した機能(Feature)である、スタンプ(PagaWaterMarkPrint)320と、スタンプのフォントスタイル(PagaWaterMarkPrintFONTSTYLE)330とが該当する。スタンプのフォントスタイル330は、スタンプがオンのときにはじめて動作する機能である。よって、例えば、スタンプ機能がオフであった場合には、スタンプのフォントスタイル330に係るPrintTicket204における記述は、OS1053による検証処理などでは不要な機能に対応する記述となり得る。以下、この考え方などを踏まえて、印刷設定編集モジュール2081による処理を説明する。
まず、コンフィグモジュール208の呼び出しに応じて、印刷設定編集モジュール2081による印刷設の定編集処理が開始される。
S601において、コンフィグモジュール208から渡されるPrintTicket204を受信する。S602において、受信したPrintTicket204内に定義されている複数のFeatureの中の1つを、処理対象として取得する。
S603において、処理対象のFeatureと関連性があるFeatureをPrintTicket204から探索する。本実施例では、関連性があるFeatureを決定する例として、処理対象のFeatureで定義された名称の全て(または一部)を用いた検索において、前方一致した名称をもつ別のFeatureを関連性があると判定する。例えば、図5のPrintTicket204の例でいうと、PageWatermarkPrint502とPageWatermarkPrintFontStyle503は前方一致するため、関連性があると判断できる。
また、関連性があると判断する条件を、プロパティバッグ2082内のDriverPropertyBagにあらかじめ記載しておき、印刷設定編集モジュール2081がDriverPropertyBagに記載された情報を参照し、探索してもよい。具体的には、関連するFeature同士の組合せをDriverPropertyBagに予め登録しておくことになる。
なお、本実施例では、この関連性がある機能の探索の対象にPublicSchemaの機能を含めないようにする。後述の処理では、PrintTicket内のPrintSchemaの定義を変更する処理も含まれる。そのため、OS1053が定義しているPublicSchemaにまで、本処理を適用してしまうと、PrintTicket204を利用する一般のアプリケーションが正しくPrintTicket204が扱えなくなる可能性がある。関連のある機能の探索対象をPrivateSchemaに限定することで、このような問題を未然に防止することができる。
S604において、関連のあるFeatureが存在すると判断した場合にはS605に進み、存在しない場合にはS608へ進む。
S605において、S602で取得した処理対象のFeatureの機能が有効(ON)か、否かを判断する。S605において、処理対象のFeatureの機能が有効でないと判断した場合にはS606へ進み、有効であったと判断した場合にはS607へ進む。本実施例において、機能が有効であるとの判断として、取得したFeatureにおけるOptionの選択肢が「None」以外である場合に本機能が有効化されていると判断してもよい。また、機能が有効であるとの判断条件をDriverPropertyBagに記載しておき、印刷設定編集モジュール2081がDriverPropertyBagに記載された情報を取得し、その情報を基に判断してもよい。
S606において、処理対象のFeatureと関連があると判断されたFeatureを、PrintTicket204から削除する。この処理により、OS1053による検証などの処理対象となるPrintTicket204内のFeatureの数が削減されることになる。図7で、本処理後のPrintTicket204を示す。
例えば、図5のPrintTicket204の場合、「スタンプ」機能を表すPageWatermarkPrint502を取得した場合には、関連のある機能として、「スタンプのフォントスタイル」機能を表すPageWatermarkPrintFontStyle503が見つかる。「スタンプのフォントスタイル」機能は、「スタンプ」機能が有効である際に利用される機能(印刷設定)である。例えば、「スタンプ」機能についてPrintTicket204内で無効を表す「None」が指定されていた場合には、PageWatermarkPrintFontStyle503に係る記述は、検証する必要のないと考えられる。そのため、S606において、関連のある機能としてのPageWatermarkPrintFontStyle503で示すFeatureに係る記述は、PrintTicket204から削除される。
また、ここで機能の無効を表す選択肢が「None」という情報をDriverPropertyBagにあらかじめ記載しておき、印刷設定編集モジュール2081がDriverPropertyBagに記載された情報を取得し、その情報を基に判断してもよい。
S607において、PrintTicket内の処理対象のFeatureと関連があると判断されたFeatureの記述を、処理対象のFeatureに係る記述の内部に再定義する。つまり、複数の関連するFeatureを、1つのFeatureにまとめるようにPrintTicketを編集する。S607の処理について、上述と同様に、「スタンプ」機能と「スタンプのフォントスタイル」機能とを例に挙げて説明する。「スタンプ」機能が有効である場合に「スタンプのフォントスタイル」機能が有効になる。ここでは、502の「スタンプ」機能が有効であることを表す「WatermarkPrint」が指定されていた場合を想定する。このような場合には、図5のPrintTicket204内のPageWatermarkPrintFontStyle503に係る記述が、図8の803で示すように、Feature名がPageWatermarkPrint802に係る記述の内部に再定義されている。
ここで、OSが行うPrintTicketに対する検証などの処理時間に影響する要因として、XML形式で記載されたPrintTicketのRootである<PrintTicket>の直下に存在する<Feature>の数(機能数)の多さが挙げられる。このS607での再定義処理によれば、PrintTicketのRootである<PrintTicket>の直下に存在する<Feature>の数が減少するので、OSによる処理負荷が削減することが見込める。
S608において、PrintTicket204に記載されたすべてのFeatureに確認したかを判断し、すべてのFeatureを確認していない場合にはS602に戻る。すべてのFeatureを確認した場合には本処理を終了する。
なお、S606において関連のある機能に係る記述をPrintTicketから削除しているが、後述するS607の処理のように、ひとつのFeatureとして再定義するS607と同等の処理でも良い。また、PrintTicket204からの削除については、Featureに係る記述をPrintTicketから消去する以外にも、コメントアウトなどして、PrintTicketの解釈に際して認識されないようにすることで削除を行ってもよい。
以下に、実施例1を適用した場合の効果を具体的に説明するために、異なるモデルのプリンターのそれぞれについて、機能数と印刷設定編集処理にかかる処理時間の実験結果についてまとめた表(表1)を記載する。表中の「機能数」は、各モデルにおける、PublicSchema及びPrivateSchemaで定義される機能の数を示す。また、「処理時間[S]」は、本実施例の未適用/適用のそれぞれの場合での、一度の印刷処理においてMicrosoftが提供するOSによるPrintTicketを処理する複数回の関数呼び出しによる合計の処理時間を示す。
なお、新しいアーキテクチャであるV4プリンタードライバーでは、現状、プリンターがサポートする全ての機能を提供するのではなく、一部の機能のみ提供するものが多い。一部の機能のみ提供する、つまり機能数が少ない場合には、表1で示すように、本実施例の適用の有無に関わらず処理時間が短い。しかし、V4プリンタードライバーで、今後登場する新たな機能などを含む全ての機能を提供するようになれば、PrintTicket内に定義されるFeatureの数(「機能数」)が増加し、OSによる合計の処理時間が増加していくことが想定される。
Figure 0006833419
表1の実験値で示すように、V4プリンタードライバーを利用する印刷システムにおいて、本実施例における機能数の削減での印刷設定処理にかかる負荷軽減により、ユーザーに最大限の機能を提供しつつ、印刷装置側での印刷開始を早めることができる。また、実施例1を適用時の処理時間の欄に記載の「対象機能」は、前述の図6で示す処理によりPrintTicket内のPrivateSchemaで定義された機能の中で、削減された機能の数を示している。
(応用例1)
上述の実施例1において、PrintTicket204の機能を削除(S606)および1つのFeatureにまとめる(S607)ことにより、PrintTicketを扱う他のアプリケーションとの互換性に問題が発生する場合が考えられる。例えば、従来のV4プリンタードライバーに対応していたアプリケーションは、上述の実施例1を実現した後のV4プリンタードライバーでは、Featureがそもそも存在しないのか、削除されてしまったのかが不明になる場合がある。
そこで、印刷設定編集モジュール209は、図6に示す処理後のPrintTicketに対して、ヒント情報をさらに記述することで、アプリケーション側の互換性問題を解決してもよい。具体的には、図9で示すように、削除対象となったFeatureに係る記述を、901に示すように”Property name”として再定義して、PrintTicket内に残す。なお、前述した通り、OSによるPrintTicketに対する検証処理は、主に、XML形式で記載されたPrintTicketのRootである<PrintTicket>の直下に存在する<Feature>に対する処理になる。従って、本処理によって、OSによる処理負荷はそこまで大きくなることはない。
(応用例2)
実施例1の処理(図6)を行うかどうかを外部から指定できるように、QueuePropetyBagに、図6の処理を有効化するか否かを示す設定情報を持たせてもよい。
(実施例2)
実施例1においては、関連のある複数のFeatureの中のいずれかを削減の対象としていたため、図6の処理が適用される機能(印刷設定)は限定されていた。そこで本実施形態では、PrintTicket内のそれ以外のFeatureに関しても、削減対象とする手段について説明する。
V4プリンタードライバーを利用する印刷システムにおいて、ユーザーがアプリケーションから印刷を行う場合、プリンターエクステンション210が持つユーザーインターフェースで印刷設定を変更する場合がある。ただ、ユーザーは、一度の印刷指示を行う際に、多くの印刷設定を変更することは少なく、基本的にデフォルトの印刷設定(デフォルト設定)で印刷する場合が多い。また、変更した場合でも、よく利用される「両面設定」や「2in1印刷」、「白黒印刷」といった一部のみの変更が多い。
一方で、ユーザーの設定変更が多い場合であっても、少ない場合であっても、XML形式で記載されたPrintTicketのRootである<PrintTicket>の直下に存在する<Feature>の数(機能数)については変化がない。つまり、ユーザーの設定変更後に内部的に行われるOS1053や印刷設定編集モジュール2081における印刷設定処理に関しては、設定変更の量に関わらず負荷が不変となる。当然ながら、デフォルト設定に含まれる印刷設定に対応するFeatureは、何度も検証を行う必要は無いと考えられる。
そこで本実施例では、とくに、OS1053による印刷設定情報(PrintTicket)の検証などの処理負荷の軽減のために、ユーザーの設定変更後にデフォルト設定からの差異部分だけを表現した印刷設定情報を生成する仕組みについて説明する。
なお、本実施例におけるハードウェア構成やソフトウェア構成などは実施例1に示すものと同様であり、実施例1とは異なる処理を中心に、以下、説明を行う。
図10のフローチャートを用いて、実施例2に特有な処理の詳細を説明する。本フローチャートの処理を行うモジュールは印刷設定編集モジュール2081であり、以下の説明において記載がない限り主語は印刷設定編集モジュール2081である。印刷設定編集モジュール2081は、補助記憶装置105からRAM1022にロードされ、CPU101によって実行される。なお、本処理は、コンフィグモジュール208によって呼び出されることで開始される。
S1001において、コンフィグモジュール208から渡されるPrintTicketを受信する。ここで取得されるPrintTicketには、ユーザーによる印刷設定変更があれば、その変更された設定値が反映されている。次に、S1002において、プロパティバッグ2082内のDriverPropertyBagに保存されたプリンタードライバーのデフォルト設定を取得する。ドライバーのデフォルト設定は、Feature名とデフォルトであるOption名がKey−Valueペアで保存されているデータ群である。
例えば、図11に示すように「印刷の向き」を表すFeatureである「PageOrientation」のデフォルト設定での値が「Portrait」、「両面設定」を表すFeatureである「DocumentDuplex」のデフォルト設定での値が「OneSided」という情報が記載されているものとする。本実施例では、本データ群の表現方法をKey−Valueペアで表現しているが、他の表現方法でもよい。印刷設定編集モジュール2081は、これらの情報により各Featureのデフォルト設定の値を保持しておく。
S1003において、受信したPrintTicket内に定義されている複数のFeatureの中の1つを、処理対象として取得する。
S1004において、PrintTicketにおける処理対象のFeatureの設定値と、S1002で取得したデフォルト設定に含まれる対応する印刷設定(機能)の設定値とが、一致するかを判断する。一致すると判断した場合はS1005へ進み、一致しない場合にはS1006へ進む。
S1005において、処理対象のFeatureに係る記述を、PrintTicketから削除する。
例えば、図12で示すPrintTicket1200を受信した場合を想定する。まず、PrintTicket1200の1つのFeatureに係る記述で、DocumentDuplex1201のOptionの値が「OneSided」となっている。また、図11で示すデフォルト設定では、DocumentDuplexのデフォルト設定の値が「OneSided」となっている。この場合には、S1005の処理で互いの設定値が一致すると判断できるため、印刷設定編集モジュール2081がPrintTicket1200からDocumentDuplex1201を示すFeatureに係る記述を削除する。
また、図12では、PrintTicket1200内のPageOrientation1202のOptionの値が「Landscape」となっている。ここで、図11で示すデフォルト設定では、PageOrientationのデフォルト設定の値が「Portrait」となっている。この場合には、S1005の処理で互いの設定値が一致しないと判断できるため、印刷設定編集モジュール2081によるPageOrientation1202を示すFeatureに係る記述の削除処理は実行されない。
S1006において、PrintTicket204に記載されたすべてのFeatureに確認したかを判断し、すべてのFeatureを確認していない場合にはS1003に戻る。すべてのFeatureを確認した場合には本処理を終了する。
例えば、ユーザーが「印刷の向き」をデフォルトの設定値である「Portrait」から「Landscape」に設定変更した場合には、図10で示す処理により、図13で示すPrintTicket1300が生成されることになる。PrintTicket1300では、DocumentDuplex1201を示すFeatureに係る記述については削除されている。
また、実施例1と同様に、実施例2に係る図10の処理(とくにS1005)は、PublicSchemaのFeatureについては対象外としてもよい。これにより、PrintTicketを扱うアプリケーションとの互換性を優先できる。
以下に、実施例2を適用した場合の効果を具体的に説明するために、異なるモデルのプリンターのそれぞれについて、機能数と印刷設定編集処理にかかる処理時間の実験結果についてまとめた表(表2)を記載する。表中の用語は、前述した表1と同様の意味である。
Figure 0006833419
実施例1に比べて、実施例2ではPrintTicket内で削減される機能数が非常に多くなるため、OS1053による検証処理を含む印刷設定処理にかかる負荷をより軽減することができる。
なお、本実施例では、デフォルト設定がDriverPropertyBagに保存されていることを想定しているが、プロパティバッグ2082内のQueuePropertyBagに保存されていてもよい。例えば、デフォルト設定をカスタマイズして利用するユーザーのために、プリンタードライバーのインストーラー(不図示)がデフォルト設定を変更したうえでインストールを実行する場合もある。その際にインストーラーは、QueuePropetyBagに、上記のようにKey−Valueペアでプリンタードライバーのデフォルト設定を保存しておく。上述のS1002では、印刷設定編集モジュール2081は、QueuePropetyBagに保存されたKey−Valueペアのデータ群で示すデフォルト設定を取得し、それ以降の処理に適用する。
なお、本実施例を適用する場合には、様々なアプリケーション、並びにプリンタードライバーの各フィルタは、PrintTicketから印刷設定変更の差分しか判断できなくなるため、デフォルト設定を参照できる必要がある。よって、WSDA(Windows Store Device Apps)やプリンターエクステンション210のようなDriverPropertyBagにアクセスできるモジュールの場合は、前述したDriverPropertyBagのKey−Valueペアで保存されたデフォルト情報を用いて、UIを形成する。一方で、通常のGDI印刷アプリケーション201やXPS印刷アプリケーション202がPrintTicketを扱う場合は、DriverPropertyBagへのアクセスが不可能であるため、印刷設定能力情報であるPrintCapabilitiesに記載されたデフォルト設定を参照する。
(応用例)
実施例1と実施例2に係る処理の両方を印刷設定編集モジュール2081により実行することが可能である。例えば、図10で示す処理を適用したPrintTicketに対して、さらに図6で示す処理を適用することができる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の1以上のコンピュータ(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
1051 アプリケーション
1052 プリンタードライバー
1052 オペレーティングシステム(OS)
2081 印刷設定編集モジュール

Claims (9)

  1. XML(eXtensible Markup Language)で記述された印刷設定情報を処理するOS(オペレーティングシステム)が動作する情報処理装置であって、
    前記印刷設定情報で定義される複数の機能の中で、互いに関連する複数の機能を探索する探索手段と、
    前記印刷設定情報の中に互いに関連する複数の機能が存在し、かつ、当該互いに関連する複数の機能のうちの一方の機能に対応する値が有効でない場合に、当該印刷設定情報から、当該互いに関連する複数の機能のうちの他方の機能を定義する記述を削減するように、当該印刷設定情報を編集する編集手段と、
    を有することを特徴とする情報処理装置。
  2. 前記編集手段は、プリンタードライバーにより管理されるデフォルト設定と、前記印刷設定情報とにそれぞれ含まれる同じ機能に対する値が一致する場合には、前記印刷設定情報から一致する値をもつ機能を定義する記述を削除することを特徴とする請求項に記載の情報処理装置。
  3. 前記編集手段は、前記印刷設定情報において、前記互いに関連する複数の機能のうちの前記他方の機能を定義する記述を前記一方の機能を定義する記述の中に含めることで前記編集を行うことを特徴とする請求項1に記載の情報処理装置。
  4. 前記編集手段は、JavaScriptにより実現されることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  5. 機能が実行されるか否かを示す第1の情報が第1のタグセット内に記述され、その機能がどのように実行されるかを示す第2の情報が第2のタグセット内に記述された印刷設定情報を受け取る手段と、
    前記第2のタグセットの位置を前記第1のタグセットと同階層から、前記第1のタグセット内へと移動する移動手段とを有することを特徴とする情報処理装置。
  6. 前記第1のタグセットも前記第2のタグセットも何れも開始タグと終了タグからなることを特徴とする請求項に記載の情報処理装置。
  7. 前記移動手段は、
    前記第2のタグセットを、前記第1のタグセットと同じく、オペレーティングシステムにより内部の情報を検証される階層から、検証されない階層へと移動することを特徴とする請求項5又は6に記載の情報処理装置。
  8. XML(eXtensible Markup Language)で記述された印刷設定情報を処理するOS(オペレーティングシステム)が動作する情報処理装置における方法であって、
    前記印刷設定情報で定義される複数の機能の中で、互いに関連する複数の機能を探索する探索工程と、
    前記印刷設定情報の中に互いに関連する複数の機能が存在し、かつ、当該互いに関連する複数の機能のうちの一方の機能に対応する値が有効でない場合に、当該印刷設定情報から、当該互いに関連する複数の機能のうちの他方の機能を定義する記述を削除するように、当該印刷設定情報の編集を行う編集工程と、
    を有することを特徴とする方法。
  9. 請求項1乃至のいずれか1項に記載の手段としてコンピューターを機能させるためのプログラム。
JP2016181573A 2016-09-16 2016-09-16 情報処理装置、方法およびプログラム Active JP6833419B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016181573A JP6833419B2 (ja) 2016-09-16 2016-09-16 情報処理装置、方法およびプログラム
EP17190660.5A EP3296856B1 (en) 2016-09-16 2017-09-12 Information processing apparatus, method, and program
US15/705,051 US20180081598A1 (en) 2016-09-16 2017-09-14 Information processing apparatus, method, and storage medium
CN201710832753.2A CN107832023B (zh) 2016-09-16 2017-09-15 信息处理设备、方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016181573A JP6833419B2 (ja) 2016-09-16 2016-09-16 情報処理装置、方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2018045577A JP2018045577A (ja) 2018-03-22
JP2018045577A5 JP2018045577A5 (ja) 2019-10-03
JP6833419B2 true JP6833419B2 (ja) 2021-02-24

Family

ID=59858587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016181573A Active JP6833419B2 (ja) 2016-09-16 2016-09-16 情報処理装置、方法およびプログラム

Country Status (4)

Country Link
US (1) US20180081598A1 (ja)
EP (1) EP3296856B1 (ja)
JP (1) JP6833419B2 (ja)
CN (1) CN107832023B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7307577B2 (ja) * 2019-03-29 2023-07-12 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
CN111857612B (zh) * 2020-06-24 2022-07-12 厦门汉印电子技术有限公司 基于gdi的驱动功能模块配置方法、装置、设备及存储介质
JP2024046140A (ja) * 2022-09-22 2024-04-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4324060B2 (ja) * 2004-09-03 2009-09-02 キヤノン株式会社 文書管理システム及びその方法と文書管理装置及び当該装置の制御方法
JP2007094757A (ja) * 2005-09-29 2007-04-12 Canon Inc 画像形成システム画像形成方法およびプログラム
JP5063101B2 (ja) * 2006-12-19 2012-10-31 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP2009064415A (ja) * 2007-08-16 2009-03-26 Ricoh Co Ltd 情報処理装置、デバイス制御方法、デバイス制御プログラム及び記録媒体
US20090180141A1 (en) * 2008-01-11 2009-07-16 Kyocera Mita Image Forming Apparatus, Charge Server and Image Forming System
JP5078686B2 (ja) * 2008-03-18 2012-11-21 キヤノン株式会社 印刷設定処理装置及び印刷設定処理方法
JP5311870B2 (ja) * 2008-04-22 2013-10-09 キヤノン株式会社 構造化文書変換装置、構造化文書変換方法、及びコンピュータプログラム
US20100220351A1 (en) * 2009-02-27 2010-09-02 Konica Minolta Systems Laboratory, Inc.. Systems and methods for printer status determination
JP5680926B2 (ja) * 2010-09-30 2015-03-04 キヤノン株式会社 プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム
CN105045545B (zh) * 2011-02-10 2018-08-24 精工爱普生株式会社 网络系统、客户终端及设备服务器的控制方法
JP5755052B2 (ja) * 2011-06-29 2015-07-29 キヤノン株式会社 印刷中継サーバーシステム、その制御方法、およびプログラム。
JP5882623B2 (ja) * 2011-08-03 2016-03-09 キヤノン株式会社 情報処理装置、制御方法、プログラム
JP2014052751A (ja) * 2012-09-06 2014-03-20 Canon Inc プロキシを使用したネットワーク印刷システム
US9001365B2 (en) * 2013-03-04 2015-04-07 Ricoh Company, Ltd. Conflict resolution and optimization for job definition format instructions
JP6184212B2 (ja) * 2013-07-12 2017-08-23 キヤノン株式会社 情報処理装置および制御方法およびプログラム
JP6229390B2 (ja) * 2013-09-17 2017-11-15 株式会社リコー 画像処理制御プログラム、情報処理装置及び画像処理システム
JP6115515B2 (ja) 2014-05-08 2017-04-19 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理方法
JP2015215653A (ja) * 2014-05-08 2015-12-03 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理制御方法
JP6370156B2 (ja) * 2014-08-06 2018-08-08 キヤノン株式会社 情報処理装置及びその制御方法
JP6341811B2 (ja) * 2014-09-01 2018-06-13 キヤノン株式会社 印刷システム、画像処理装置、印刷制御方法、およびコンピュータプログラム
JP6552189B2 (ja) * 2014-12-09 2019-07-31 キヤノン株式会社 情報処理装置、制御方法およびドライバーインストールプログラム

Also Published As

Publication number Publication date
JP2018045577A (ja) 2018-03-22
CN107832023B (zh) 2022-01-04
CN107832023A (zh) 2018-03-23
EP3296856A1 (en) 2018-03-21
US20180081598A1 (en) 2018-03-22
EP3296856B1 (en) 2021-11-10

Similar Documents

Publication Publication Date Title
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
JP4785579B2 (ja) 情報処理装置および情報処理装置における印刷設定反映方法とプログラム
CN101395569B (zh) 用于改变信息处理设备中的打印机驱动程序的方法
US20190050173A1 (en) Information processing apparatus, control method, and recording medium
US20100238499A1 (en) Information processing apparatus capable of executing convenient print setting, method of controlling information processing apparatus, and recording medium having control program for information processing apparatus recorded thereon
JP2010146248A (ja) 情報処理装置、印刷制御方法、プログラム及び記憶媒体
US20150356384A1 (en) Information processing apparatus, recording medium, and control method
JP4900937B2 (ja) 情報処理装置及びその制御方法、プログラム
JP6833419B2 (ja) 情報処理装置、方法およびプログラム
JP5522952B2 (ja) 印刷制御装置、印刷制御方法、およびプログラム
JP6827738B2 (ja) 制御方法、プログラム及び情報処理装置
JP5807460B2 (ja) 情報処理装置、プログラム、記憶媒体
JP2017033052A (ja) 画像形成装置における制御装置およびプログラム
US8688864B2 (en) Information processing apparatus, information processing method, and information processing program
JP6234417B2 (ja) 情報処理装置及びその制御方法とプログラム
US9430446B2 (en) Information processing apparatus, method and storage medium including a function for establishing exceptions applied to print settings when specified conditions are met
JP2021182310A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP2013161459A (ja) 文書処理方法
JP2018180750A (ja) 画像形成装置における制御装置およびプログラム
JP2019144814A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2018022527A (ja) 情報処理装置及びその制御方法とプログラム
JP2006146364A (ja) 印刷制御装置及び印刷制御方法、印刷制御システム、プログラム、並びに記憶媒体
JP2015090667A (ja) 印刷制御装置、印刷制御装置のデータ処理方法、及びプログラム
JP2004240850A (ja) 印刷制御装置、印刷制御方法及び実行プログラムを格納した媒体
JP2007272338A (ja) 印刷制御システム、及びその方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R151 Written notification of patent or utility model registration

Ref document number: 6833419

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151