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

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

Info

Publication number
JP7158895B2
JP7158895B2 JP2018101393A JP2018101393A JP7158895B2 JP 7158895 B2 JP7158895 B2 JP 7158895B2 JP 2018101393 A JP2018101393 A JP 2018101393A JP 2018101393 A JP2018101393 A JP 2018101393A JP 7158895 B2 JP7158895 B2 JP 7158895B2
Authority
JP
Japan
Prior art keywords
printer driver
application
information
format
data
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
JP2018101393A
Other languages
English (en)
Other versions
JP2019207461A (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 JP2018101393A priority Critical patent/JP7158895B2/ja
Priority to US16/409,647 priority patent/US10942693B2/en
Publication of JP2019207461A publication Critical patent/JP2019207461A/ja
Application granted granted Critical
Publication of JP7158895B2 publication Critical patent/JP7158895B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • 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/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common 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/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/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • 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

本発明は、情報処理装置、その制御方法、及びプログラムに関する。
Microsoft社のWindows(登録商標)をOSとするホストコンピュータ上のアプリケーションから画像や文書をプリンタで印刷する場合、図1に示すような印刷フローが一般的である。アプリケーション102は描画データをスプールファイルへ変換した上でスプーラ104に渡し、スプーラ104は格納されたスプールファイルをプリンタドライバ106に渡す。プリンタドライバ106はスプールファイルをプリンタ言語に基づいたページ記述言語(PDL)で記述されたデータ(ページ記述言語データ、PDLデータ等と呼ぶ)に変換し、プリンタ110へと送る。プリンタ110は、送られたPDLデータに基づき印刷を実行する。
上述の印刷フローにおいて、スプーラ104により格納されるスプールファイルの形式は複数種類存在し、ホストコンピュータ100上のアプリケーションが扱う印刷データ形式の種類がアプリケーション毎に異なる構成が存在する。例えば、図2に示すように、Win32アプリケーション210では、EMF(Enhanced Metafile)と呼ばれるデータ形式で記述されたスプールファイル(EMFファイル)211を用いて、GDIプリンタドライバ212を介する印刷が行われる。また、WPFアプリケーション220では、XPS(XML Paper Specification)と呼ばれるデータ形式で記述されたスプールファイル(XPSファイル)221を用いて、XPSプリンタドライバ222を介する印刷が行われる。
また、EMFファイルをXPSファイルに変換したり、XPSファイルをEMFファイルに変換したりするといったように、EMFファイル及びXPSファイルはOSの変換処理により双方向に変換することができる。従って、Win32アプリケーション210からGDI⇒XPS変換部230を経由してXPSプリンタドライバ222にデータを渡すことが可能である。また、WPFアプリケーション220からXPS⇒GDI変換部240を経由してGDIプリンタドライバ212にデータを渡すことが可能である。
しかし、EMF形式とXPS形式とでは、サポートしている描画命令が異なるため、どちらか一方でしかサポートされていない描画命令を変換した場合、画質の低下や一部情報が欠落する可能性があり、ユーザの意図通りの出力結果を得られないという問題がある。特許文献1は、状況に応じてXPSドライバのインストールまたはGDIドライバのインストールを推奨する技術を開示している。
特開2014-10480号公報
しかし、特許文献1では、推奨に従ってユーザがプリンタドライバをインストールしない場合、上述したユーザの意図通りの出力結果を得られないという問題を解決することが困難となるおそれがあった。
本発明は、上記の課題に鑑み、異なる形式の印刷データが共存する環境において、ユーザの意図通りの出力結果が得られなくなるケースを軽減することを目的とする。
本発明は、第1の形式の描画データに基づいてページ記述言語データを生成するプリンタドライバと、前記第1の形式とは異なる第2の形式の描画データを生成するアプリケーションと、前記第2の形式の描画データに基づいてビットマップ画像データを生成する仮想プリンタドライバと、を有する情報処理装置であって、前記アプリケーションは、ユーザにより出力先に指定されたプリンタに対応するプリンタドライバが前記第2の形式の描画データをサポートしない場合、前記指定されたプリンタドライバから取得されたサイズ情報を特定し、前記特定したサイズ情報を、プリントチケットに書き込む手段を有し、前記仮想プリンタドライバは、前記アプリケーションから受け取った前記プリントチケットに書き込まれている前記サイズ情報と前記アプリケーションが生成した第2の形式の描画データに基づき、ビットマップ画像データを生成する生成手段を有し、前記アプリケーションは、前記生成手段で生成されたビットマップ画像データを前記指定されたプリンタドライバに出力する出力手段を有し、前記指定されたプリンタドライバは、前記アプリケーションから受け取ったビットマップ画像データに基づいて、ページ記述言語データを生成する生成手段を有することを特徴とする情報処理装置である。
本発明により、異なる形式の印刷データが共存する環境において、ユーザの意図通りの出力結果が得られなくなるケースを軽減することが可能となる。
一般的な印刷フローの説明図。 形式の異なる印刷データが共存する場合の印刷フローの説明図。 第1の実施形態における印刷システムのブロック図。 第1の実施形態における情報処理装置の機能構成(ソフトウェア構成)を示すブロック図。 第1の実施形態におけるアプリケーションの動作を表すフローチャート。 用紙サイズと描画領域との関係を示す図。 第1の実施形態におけるプリントチケットを示す図。 第1の実施形態における仮想プリンタドライバの動作を表すフローチャート。 第1の実施形態における仮想プリンタドライバ動作後のアプリケーションの動作を表すフローチャート。 第2の実施形態における情報処理装置の機能構成(ソフトウェア構成)を示すブロック図。 第2の実施形態におけるプリントチケットを示す図。 第2の実施形態における仮想プリンタドライバの動作を表すフローチャート。
以下、図面を参照して本発明における実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものではなく、以下の実施形態で説明されている特徴の組み合わせのすべてが本発明の課題解決に必須のものとは限らない。
[第1の実施形態]
<情報処理装置のハードウェア構成について>
以下、本実施形態における印刷システムについて、図3を用いて説明する。図示するように、印刷システムは、情報処理装置300と、情報処理装置300に接続された印刷装置(プリンタ)320とで構成される。情報処理装置として例えば、コンピュータが挙げられるので、以下、情報処理装置をPCと略記する。
PC300は、CPU301、ROM302、RAM303、外部記憶装置304、入力インターフェース(以下、インターフェースをIFと略記する)305、出力IF306、及び入出力IF307を有する。これらのコンポーネントはバス308を介して接続されており、互いにデータを送信又は受信することができる。
ROM302には、初期化のためのプログラムやデータが保存されている。外部記憶装置304には、アプリケーションプログラム群、OS(Operating Systemの略)、プリンタドライバ、仮想プリンタドライバ、及びその他各種のデータが保存されている。RAM303は、データを一時的に保存するための媒体であり、CPU301のメインメモリ、ワークエリアとして機能する。具体的には、CPU301は、ROM302や外部記憶装置304に保存されたプログラムをRAM303に展開し、該展開したプログラムを実行する。これにより、後述するソフトウェアのモジュール(図4参照)を実現したり、後述するフローチャートの処理(図5、図8、図9参照)を実行したりする。
印刷装置320は、CPU321、ROM322、RAM323、プリントエンジン324、及び入出力IF325を有する。入出力IF325は、PC300の入出力IF307と接続され、PC300と印刷装置320との間におけるデータの送受信を可能としている。RAM323は、CPU321のメインメモリ、ワークメモリとして機能する。例えば、RAM323は、受信した印刷ジョブを一旦保存するための受信バッファや各種データの一時保存先として用いられる。プリントエンジン324は、RAM323に保存されたデータに基づき印刷を行う。ROM322には、制御プログラムや各種データが保存されており、CPU321は、この制御プログラムに従って、印刷装置320の各コンポーネントを統括的に制御する。
<情報処理装置のソフトウェア構成について>
以下、本実施形態における情報処理装置(PC)のソフトウェア構成について、図4を用いて説明する。尚、以下では、プリンタと直接通信を行わない(データをプリンタに直接送信したりプリンタから直接受信したりしない)プリンタドライバを「仮想プリンタドライバ」と呼ぶ。また、以下では、アプリケーション420をWPFアプリケーション、印刷設定情報をプリントチケット(PTと略記する)と呼ぶ。また、本実施形態では、仮想プリンタドライバ460をXPS形式の描画データをサポートするXPSプリンタドライバとして説明する。さらに、本実施形態では、プリンタドライバ480をEMF形式の描画データをサポートするGDIプリンタドライバとして説明する。しかし、本実施形態を適用可能な構成は、これに限られない。アプリケーションが扱う印刷データ形式と仮想プリンタドライバが扱う印刷データ形式とが一致する任意の印刷システムに、本実施形態を適用可能である。
図示するように、PC400は、アプリケーション420と、OS440と、仮想プリンタドライバ460と、プリンタドライバ480とを有する。プリンタドライバ480及び仮想プリンタドライバ460は、PC400にインストールされているデバイスドライバである。
以下、仮想プリンタドライバ460について説明する。仮想プリンタドライバ460は、印刷データを変換する(具体的には、XPS形式描画データを、プリンタドライバ480が解釈可能なビットマップ画像データに変換する)ためのビットマップ変換フィルタ461を有する。ビットマップ変換フィルタ461は、情報取得部462と、データ変換部463とを有する。情報取得部462は、アプリケーション420から受け取った印刷設定情報(具体的にはPT)を解析し、データ変換部463で必要なサイズ情報を取得する。データ変換部463は、情報取得部462が取得したサイズ情報に基づいて、印刷データをビットマップ画像データに変換する機能を有する。
以下、アプリケーション420について説明する。アプリケーション420は、印刷情報設定部421と、印刷設定情報生成部422と、描画データ生成部423と、ドライバ種類判定部424と、印刷制御部425とを有する。
印刷情報設定部421は、印刷情報を設定するためのUIを表示部312に表示させること等により該UIをユーザに提示する機能を有し、ユーザは、該UIを介して、用紙サイズ、用紙の向き、両面印刷、等の印刷情報を設定する。印刷情報設定部421は、ユーザによって設定された印刷情報を受け付ける。
印刷設定情報生成部422は、印刷情報設定部421で設定された印刷情報を、印刷設定情報(具体的にはPT)に書き込む機能を有する。また、印刷設定情報生成部422は、印刷情報設定部421で設定された印刷情報に基づきプリンタドライバの能力情報を取得し、該取得したプリンタドライバの能力情報を印刷設定情報(具体的にはPT)に書き込む機能を有する。例えば、印刷設定情報生成部422は、用紙サイズとしてA4が指定された場合、A4サイズに関わるプリンタドライバの能力情報を取得する。また、例えば、印刷設定情報生成部422は、用紙サイズとしてA4が指定され、かつ、フチなし印刷が指定された場合、A4サイズおよびフチなしに関わるプリンタドライバの能力情報を取得する。
描画データ生成部423は、印刷対象の描画データを生成する機能を有する。
ドライバ種類判定部424は、プリンタドライバの種類を判定する機能を有し、対象プリンタドライバの種類判定の指示を印刷制御部425から受け付け、判定結果を印刷制御部425に返す。
印刷制御部425は、ドライバ種類判定部424の判定結果に基づいて、プリンタドライバを制御する機能を有する。また、印刷制御部425は、所定のディレクトリを監視する機能も有する。印刷制御部425は、所定のディレクトリにビットマップ画像データがあるとき、このビットマップ画像データをプリンタドライバ480に渡す(詳細は後述する)。
尚、ここでは、アプリケーション420と仮想プリンタドライバ460とを別個の構成としたが、仮想プリンタドライバはアプリケーションの一部であっても良い。また、仮想プリンタドライバは1つあれば良い。つまり、アプリケーション420に加え、アプリケーション420と同様の構成を有する他のアプリケーションを有するシステムにおいて、アプリケーション毎に仮想プリンタドライバを設ける必要はない。複数のアプリケーションで1つの仮想プリンタドライバを共用できる。
<アプリケーションの動作について>
以下、ユーザがアプリケーション420から印刷を行った際のアプリケーション420の動作について、図5を用いて説明する。尚、図5の処理は、ユーザがアプリケーション420を使ってプリンタドライバを選択し、印刷の実行を指示することで実行される。
ステップS510において、ドライバ種類判定部424は、ユーザにより出力先に指定されたプリンタに対応するプリンタドライバ480に関する、プリンタドライバの種類を示す情報を取得する。以下、「ステップS~」を単純に「S~」と略記する。例えば、WPFのような.NET Frameworkを使ったアプリケーションの場合、PrintQueueクラスのIsXpsDeviceプロパティを用いることで、対象プリンタドライバがXPSプリンタドライバであるか否かを示す情報を取得できる。
S520において、ドライバ種類判定部424は、S510で取得したプリンタドライバの種類を示す情報を用いて、プリンタドライバ480がGDIプリンタドライバか判定する。本ステップの判定結果が真の場合、S530に進む。一方、本ステップの判定結果が偽の場合(つまり、プリンタドライバがXPSプリンタドライバの場合)、S570に進む。
まず、S520の判定結果が真の場合を説明する。この場合、S530において、印刷設定情報生成部422は、印刷情報設定部421で設定された、プリンタドライバ480で最終的に印刷するための印刷情報に基づき、プリンタドライバ480の能力情報を取得する。具体的には、印刷設定情報生成部422は、GetDeviceCaps関数を用いて、プリンタドライバ480の能力情報を取得する。
S540において、印刷設定情報生成部422は、S530で取得したプリンタドライバ480の能力情報からサイズ情報(用紙サイズ、描画領域サイズ、解像度、オフセット、等の情報)を抽出する。そして、印刷設定情報生成部422は、抽出したサイズ情報を、仮想プリンタドライバ460から受け取ったデフォルトPTに書き込む。
尚、PTには、印刷ジョブ全体に印刷設定が可能なPTと、ページ毎に印刷設定が可能なPTとがある。例えば、1つの印刷ジョブの中で異なる用紙サイズが混在している場合、ページ毎に印刷設定が可能なPTにページ毎のサイズ情報を記述することにより、このような印刷ジョブに基づく印刷にも対応することが可能である。
デフォルトPTに書き込まれたサイズ情報は、後述するように、仮想プリンタドライバ460がXPS形式の印刷データをビットマップ画像データに変換する際に用いられる。つまり、印刷を行うプリンタドライバ480から取得した描画領域サイズの情報に基づき、この描画領域サイズと一致するサイズとなるように、仮想プリンタドライバ460によるビットマップ画像化が行われる。こうすることで、後でプリンタドライバ480がビットマップ画像データに基づき印刷を印刷装置320に指示する場合、印刷装置320は、正確な原寸サイズで印刷を行うことが可能になる。
ここで、S530で取得するプリンタドライバの能力情報に含まれる、サイズ情報(具体的には、用紙サイズ、描画領域サイズ、解像度、オフセット、等の情報)について、図6を用いて説明する。図6は、用紙サイズと描画領域との関係を示す図である。
矩形領域600は、印刷する用紙のサイズ(即ち用紙サイズ)を示しており、用紙サイズは、縦幅610と横幅620とのサイズを持つ。矩形領域630は、プリンタが印刷可能な領域(即ち描画領域)を示しており、描画領域のサイズは、縦幅640と横幅650とのサイズを持つ。オフセットは、用紙の左上部680を基準とした場合の、描画領域の開始地点690の位置を示し、オフセットのサイズは、縦幅660と横幅670とのサイズを持つ。
次に、プリンタドライバ480から取得したサイズ情報をPTに書き込むことについて、図7を用いて説明する。
PT上部の矩形領域700で囲まれた部分は、PTのヘッダー部分である。このヘッダー部分には、このPTを識別するための情報が格納されている。また、矩形領域710で囲まれた部分には、仮想プリンタドライバ460が予め持っているデフォルトの印刷設定情報が格納されており、例えば用紙サイズや用紙の向き等の情報が格納される。PT下部の矩形領域720で囲まれた部分には、プリンタドライバ480の能力情報から前述のS540で抽出されたサイズ情報が書き込まれている。
図7中の下線721は用紙の横幅(単位:px)を表しており、図6中の用紙の横幅620と対応する。同様に下線722は用紙の縦幅(単位:px)を表しており、図6中の用紙の縦幅610と対応する。
図7中の下線723は描画領域の横幅(単位:px)を表しており、図6中の描画領域の横幅650と対応する。同様に下線724は、描画領域の縦幅(単位:px)を表しており、図6中の描画領域の縦幅640と対応する。
図7中の下線725はオフセットの横幅(単位:px)を表しており、図6中のオフセットの横幅670と対応する。同様に、下線726はオフセットの縦幅(単位:px)を表しており、図6中のオフセットの縦幅660と対応する。
下線727は横方向の解像度(単位:dpi)を表しており、下線728は縦方向の解像度(単位:dpi)を表している。
尚、本実施形態では、矩形領域720のようにPropertyを用いてプリンタドライバの情報を書き込んでいるが、Property名や要素はこれに限られない。また、PTに書き込む情報は、本実施形態で説明した用紙サイズ、描画領域のサイズ、オフセットのサイズ、解像度に限られず、サイズ情報を含めた他のプリンタドライバの能力情報をPTに書き込んでも良い。
図5のフローの説明に戻る。S550において、印刷制御部425は、印刷処理を行うよう仮想プリンタドライバ460に指示する。この指示に伴い、S540でサイズ情報が書き込まれたPTと、印刷情報設定部421で設定された印刷情報に基づき描画データ生成部423が生成した描画データとが、仮想プリンタドライバ460に渡される。
S560において、仮想プリンタドライバ460動作後の処理を行う。尚、S560における処理の詳細は、図9を用いて後述する。
続けて、S520の判定結果が偽の場合を説明する。この場合、プリンタドライバはXPSプリンタドライバであるため、WPFアプリケーションを用いて生成された印刷データ(XPSファイル)の形式を変換する必要はない。従って、S570において、印刷制御部425は、プリンタドライバに対し、印刷データに含まれる描画データに基づき印刷処理を行うよう指示する。以上が、本実施形態におけるアプリケーションの動作の内容である。
<仮想プリンタドライバの動作について>
以下、仮想プリンタドライバ460の動作について、図8を用いて説明する。図8に示すフローは、前述のS550で印刷処理を行うよう指示されると開始し、S810に進む。
S810において、仮想プリンタドライバ460は、アプリケーション420によって生成されたXPS形式の印刷データ(XPSファイル)を受け取る。情報取得部462は、受け取った印刷データからPTを取り出し、該取り出したPT上にサイズ情報があるか判定する。このサイズ情報は、S540でPTに書き込まれたものである。本ステップの判定結果が真の場合、S820に進む。一方、本ステップの判定結果が偽の場合、一連の処理は終了する。これにより、仮想プリンタドライバ460をユーザが意図せず利用した場合は何も起こらない。
S820において、情報取得部462は、PTに書き込まれているサイズ情報を取得する。
ここで、留意しておかなければいけないことがある。アプリケーション420から印刷処理の実行を指示された仮想プリンタドライバ460のモジュールは、印刷データが適切に記述・構築されているかの検証処理(印刷データの妥当性を検証する、所謂Validate処理)を行う。PTに追加されたサイズ情報が、このValidate処理で削除されないように、仮想プリンタドライバ460を構成する必要がある。
このような仮想プリンタドライバの一例として、サイズ情報を退避させるためのモジュール(退避モジュールとする)を予め設けた仮想プリンタドライバが挙げられる。退避モジュールは、Validate処理前に、PTに書き込まれているサイズ情報を、所定の記憶領域に退避させる。その後で、PTに対するValidate処理が行われ、Validate処理の結果がシステムに返される。そして、退避モジュールは、退避させておいたサイズ情報をPTへ再度書き込む。仮想プリンタドライバをこのような構成にすることで、サイズ情報を保持したままValidate処理を行うことが可能となる。尚、退避処理とValidate処理は、図8が始まる前に仮想プリンタドライバ460により実行される。具体的には、アプリケーション420が、印刷指示を受けることで仮想プリンタドライバ460から取得したPTに図5の処理を実行することでサイズ情報を追加する。そしてアプリケーション420は、サイズ情報が追加されたValidate処理の実行を仮想プリンタドライバ460に依頼する。この依頼を受けて、仮想プリンタドライバ460は、受信したPTに記述されているサイズ情報をコピーして退避する。そして、仮想プリンタドライバ460は、アプリケーションから受信したPTに基づいてValidate処理を実行する。このValidate処理の結果としてPTが生成される。なお、このValidate処理の結果として生成されたPTにはサイズ情報が抜けているので、仮想プリンタドライバ460は、退避しておいたサイズ情報をValidate処理の結果であるPTに書き込み、アプリケーション420にPTを返却する。
S830において、データ変換部463は、S820で取得されたサイズ情報に基づいて、XPS形式描画データをページ毎のビットマップ画像データに変換する。本ステップの変換には、OSのレンダラを用いることが可能であるが、仮想プリンタドライバ800が独自にレンダラを搭載しても構わない。尚、本ステップの変換では、一度に1ページ全体を変換するのではなく、バンド単位で変換を行う。バンド単位で変換を行うことで、ビットマップ画像データへの変換時に必要なHDD容量やメモリを低減できる効果がある。また、バンド単位で変換を行なうことで、後でビットマップ画像データに基づく印刷処理の実行をプリンタドライバ480に指示するとき、プリンタドライバ480がバンド毎の処理が可能であれば、スループットが向上する。尚、ここでは変換後のデータ形式がビットマップとして説明したが、変換後のデータ形式はビットマップに限られず、PNGやJPEG等、他の形式でも構わない。
S840において、仮想プリンタドライバ460は、S830にてバンド単位で取得されるビットマップ画像データを、所定のローカルフォルダに逐次出力する。以上が、本実施形態における仮想プリンタドライバ460の動作の内容である。
<仮想プリンタドライバ動作後のアプリケーションの動作について>
以下、仮想プリンタドライバ460動作後のアプリケーション420の動作について、図9を用いて説明する。図9は、図5のS560の処理の詳細なフローチャートである。
S561において、印刷制御部425は、仮想プリンタドライバ460によってビットマップ画像データが出力されるローカルフォルダを監視する。
S562において、印刷制御部425は、監視対象のローカルフォルダに未処理のビットマップ画像データがあるか判定する。本ステップの判定結果が真の場合、S563に進む一方、該判定結果が偽の場合、S561に戻り、ローカルフォルダの監視を継続する。
S563において、印刷制御部425は、バンド単位のビットマップ画像データを取得する。
S564において、印刷制御部425は、直近のS563で取得したビットマップ画像データで表される画像の縦方向のピクセル数(縦ピクセル数と呼ぶ)を取得する。各ページの縦ピクセル数は、S564で取得する度に積算され、該積算された値が保持される。
S565において、印刷制御部545は、OS固有の描画用APIであるGDIAPIを用いて、プリンタドライバ480に対してバンド単位のビットマップ画像データに基づく印刷処理を実行するよう指示する。本ステップの指示により、印刷情報設定部421で設定された印刷設定で等倍印刷が行われる。これは、仮想プリンタドライバが、PTに記述されているサイズ情報に基づいてビットマップ画像データを生成しているためである。尚、印刷処理が完了したビットマップ画像データは、HDD空き容量を増やすため削除して良い。
S566において、印刷制御部545は、1ページ分のビットマップ画像データをプリンタドライバ480に渡したか判定する。具体的には、S564で積算された縦ピクセル数と、S540でPTに書き込まれた描画領域の縦幅(図6中の描画領域の縦幅640に対応)とを比較する。そして、これらの値が一致したとき、1ページ分のビットマップ画像データをプリンタドライバ480に渡したとみなす。本ステップの判定結果が真の場合、S567に進む一方、該判定結果が偽の場合、S561に戻る。
S567において、印刷制御部545は、何ページ分のビットマップ画像データがプリンタドライバ480に渡されたか示すパラメータを、カウントアップする(ページのカウント値をインクリメントする)。
このようなフローにする理由は、S830のデータ変換におけるバンド単位が変更された場合であっても、アプリケーション420側で1ページ分のビットマップ画像データをプリンタドライバ480に渡したか判定することを可能にするためである。
S568において、印刷制御部545は、全ページのビットマップ画像データをプリンタドライバ480に渡したか判定する。具体的には、S567でカウントアップした数と、仮想プリンタドライバ460に印刷実行を指示する際に渡した印刷データのページ数とを比較する。そして、これらの数が一致したとき、全ページのビットマップ画像データをプリンタドライバ480に渡したとみなす。本ステップの判定結果が真の場合、一連の処理は終了する一方、該判定結果が偽の場合、S561に戻る。以上が、本実施形態における仮想プリンタドライバ動作後のアプリケーションの動作の内容である。
ここでPTに含まれるサイズ情報に基づいて仮想プリンタドライバ460が、ビットマップ画像データを生成する理由について説明する。例えば、プリンタドライバ480は、ユーザによりA4サイズが設定された場合に図6に示す描画領域に対応するサイズに基づいてPDLデータを生成する。ここで図6に示す描画領域のアスペクト比を第1アスペクト比と呼ぶ。一方、本実施形態のようにアプリケーション420がPTにサイズ情報を書き込まない場合、仮想プリンタドライバ460が、PTからサイズ情報を取得することができない。そのため、仮想プリンタドライバ460は、第1アスペクト比とは異なる第2アスペクト比のビットマップ画像データを生成する虞がある。その結果、仮想プリンタドライバ460により生成された第2アスペクト比のビットマップ画像データが、アプリケーション420を介してプリンタドライバ480に渡されることになる。そして、プリンタドライバ480は、A4サイズの指定に基づいて、第2アスペクト比のビットマップ画像データを第1アスペクト比に変換してからページ記述言語(PDL)データを生成する。そのため、アプリケーション420が生成した描画データが劣化する虞があった。一方、本実施形態では、仮想プリンタドライバ460は、PTに含まれるサイズ情報に基づいてビットマップ画像データを生成するため第1アスペクト比のビットマップ画像データを生成できる。また、ビットマップ画像データのサイズは、等倍印刷が可能なサイズである。そして、プリンタドライバ480は、このようなビットマップ画像データに基づいてページ記述言語データ(PDLデータ)を生成するため、上述したような劣化を軽減することが可能となる。
<本実施形態の変形例、効果について>
尚、前述の形態では、アプリケーション420の印刷制御部425が、バンド単位のビットマップ画像データに基づく印刷処理を実行するようプリンタドライバ480に指示している。しかし、アプリケーション420のモジュールではなく仮想プリンタドライバ460のモジュールが、ビットマップ画像データに基づく印刷処理の実行を、プリンタドライバ480に指示しても良い。この形態は、アプリケーション420から仮想プリンタドライバ460に印刷処理の実行を指示する際に渡すPTに、プリンタドライバ480の識別名と、プリンタドライバ480が印刷処理を実行するときに用いる印刷設定の情報とを記述することで実現できる。
また、前述の形態では、XPS形式描画データからビットマップ画像データへの変換を、仮想プリンタドライバ460を用いて行ったが、本実施形態はこのような形態に限定されない。他の形態として例えば、アプリケーション420にデータ変換部を設け、このデータ変換部でXPS形式描画データをビットマップ画像データに変換しても良い。
また、アプリケーション420は、PC400が有する他のアプリケーションのプラグインとして動作しても良い。
以上説明したように、本実施形態では、アプリケーションで生成されたXPS形式描画データについて、仮想プリンタドライバでラスタライズを行った上で、プリンタドライバによる印刷処理を行う。この際、仮想プリンタドライバは、ユーザにより設定された印刷情報に基づいてプリンタドライバ480から取得したサイズ情報に基づいてビットマップ画像データを生成する。その結果、アプリケーション420は、プリンタドライバ480においてサイズの変更が不要なビットマップ画像データを、プリンタドライバ480に渡すことができる。これにより、異なる形式の印刷データが共存する環境において、プリンタ毎に複数の印刷データ形式の夫々に対応するプリンタドライバをインストールすることなく、また画質の劣化を軽減した印刷が可能となる。
<第2の実施形態>
第1の実施形態では、仮想ドライバを、XPS形式描画データをビットマップ画像データに変換し出力するモジュールとして扱った。しかし、仮想プリンタドライバに他の機能を持たせることも可能である。また、1つの仮想プリンタドライバが複数の機能を有する場合に、PTを利用することで、使う機能を切り替えることも可能である。
本実施形態では、印刷データの編集と編集結果の印刷とが可能なアプリケーションを有するシステムにおいて、1つの仮想プリンタドライバを用いて、該アプリケーションに入力する印刷データ(XPSファイル)の出力と、仮想ドライバ経由の印刷とを行う。
尚、以下では既述の実施形態との差分について主に説明し、既述の実施形態と同様の内容については説明を適宜省略する。
<情報処理装置のソフトウェア構成について>
以下、本実施形態における情報処理装置(PC)のソフトウェア構成について、図10を用いて説明する。尚、本実施形態も第1の実施形態と同様、第1アプリケーション1020をWPFアプリケーション、印刷設定情報をPT、仮想プリンタドライバ1060をXPSプリンタドライバとして説明する。
図示するように、第1アプリケーション1020は、第1の実施形態と同様の機能を持つモジュール(図4参照)として、印刷情報設定部1021と、描画データ生成部1023と、ドライバ種類判定部1024と、印刷制御部1025とを有する。また、第1アプリケーション1020は、これらのモジュールの他、第1の実施形態におけるアプリケーション420の印刷設定情報生成部422とは機能が一部異なる印刷設定情報生成部1022を有する。さらに、第1アプリケーション1020は、アプリケーション420が有さないXPS取得部1026も有する。
第2アプリケーション1030は、印刷データを生成する生成機能と、出力先のプリンタドライバ(プリンタドライバ1080や仮想プリンタドライバ1060等)を指定して該生成した印刷データを印刷する機能とを有する。
以下、仮想プリンタドライバ1060について説明する。仮想プリンタドライバ1060は、受け取った印刷データをビットマップ画像データに変換するためのビットマップ変換フィルタ1061と、XPSファイルを出力するためのXPS出力フィルタ1065とを有する。
ビットマップ変換フィルタ1061は、処理切り替え情報判定部1062と、情報取得部1063と、データ変換部1064とを有する。
処理切り替え情報判定部1062は、受け取った印刷データ内のPTに書き込まれている処理切り替え情報を取得する。ここで取得する処理切り替え情報の値に依って、後に仮想プリンタドライバ1060で実行する処理内容が変わってくる。
情報取得部1063は、第1の実施形態における情報取得部462と同様の機能を有し、印刷データに含まれるPTに書き込まれているサイズ情報を取得する。
データ変換部1064は、第1の実施形態におけるデータ変換部463と同様の機能を有する。つまり、データ変換部1064は、情報取得部1063で取得したサイズ情報に基づく印刷データの変換、具体的には、XPS形式描画データからビットマップ画像データへの変換を行う。
XPS出力フィルタ1065は、仮想プリンタドライバ1060が受け取った印刷データをXPSファイルとして出力する機能を有する。
<仮想プリンタドライバの動作について>
ここでは、第1アプリケーション1020、又は、第2アプリケーション1030から、仮想プリンタドライバ1060に印刷処理の実行が指示されたときの、仮想プリンタドライバ1060の動作について説明する。
本実施形態では、第2アプリケーション1030から仮想プリンタドライバ1060に対して印刷処理の実行が指示された場合、第1の実施形態で説明したような特殊なPTの作成を伴わない印刷処理が実行される。
これに対し、第1アプリケーション1020から仮想プリンタドライバ1060に対して印刷処理の実行が指示された場合、第1の実施形態で説明したようなサイズ情報のPTへの書き込みを伴う印刷処理が実行される。但し、本実施形態でPTに書き込む内容は、第1の実施形態で説明したサイズ情報だけでなく、図11に示すような処理切り替え情報1110を含む。「処理切り替え情報」とは、実行する処理内容を指定するための情報である。図11に示す例では、処理切り替え情報として“Mode1”という値がPTに書き込まれている。尚、処理切り替え情報1110の値は、仮想プリンタドライバの処理切り替え情報判定部1062が認識可能な値であればこれに限られない。つまり、第1アプリケーションは、第1の実施形態において説明したサイズ情報と、処理切り替え情報をPTに書き込むことが可能である。
第1アプリケーション1020、又は、第2アプリケーション1030において、仮想プリンタドライバ1060に対して印刷処理が実行された場合、OS1040を経由して仮想プリンタドライバ1060のフィルターパイプラインへ印刷データが渡される。この印刷データは初めに、ビットマップ変換フィルタ1061へ渡され、印刷データをビットマップ画像データへ変更する処理が行われる。そして、ビットマップ変換フィルタ1061における処理が完了すると、処理後の印刷データが、XPS出力フィルタ1065へ渡される。
以下、仮想プリンタドライバ1060の動作について、図12を用いて説明する。
S1210において、処理切り替え情報判定部1062は、仮想プリンタドライバ1060が受け取ったXPSファイルからPTを取り出し、該取り出したPTに書き込まれている処理切り替え情報(図11参照)を取得する。
S1220において、処理切り替え情報判定部1062は、S1210で取得した処理切り替え情報の値が“Mode1”であるか判定する。本ステップの判定結果が真の場合、S1230に進む一方、該判定結果が偽の場合、S1260に進む。
S1220でYESの場合に実行されるS1230~S1250の各処理については、第1の実施形態におけるS820~S840の各処理と同様である(図8参照)。つまり、情報取得部1063が、PTに書き込まれているサイズ情報(図11参照)を取得し(S1230)、データ変換部1064が、該取得したサイズ情報を用いて、XPS形式描画データをビットマップ画像データに変換する(S1240)。これによって得られたビットマップ画像データは、第1の実施形態と同様、所定のローカルフォルダに出力される(S1250)。
一方、S1220でNOの場合、S1260において、XPS出力フィルタ1065は、XPSファイルを所定のディレクトリに出力する。第1アプリケーション1020のXPS取得部1026は、XPS出力フィルタ1065によって出力されたXPSファイルを所定のディレクトリから取得する。
ここで、第2アプリケーション1030から仮想プリンタドライバ1060に対して印刷処理の実行が指示された場合の、仮想プリンタドライバ1060について説明する。この場合、前述したようにPTに処理切り替え情報が書き込まれていない。従って、ビットマップ画像への変換処理は行われず、XPS出力フィルタ1065によるXPSファイル出力が行われることになる(S1220でNO→S1260)。
これに対し、第1アプリケーション1020から仮想プリンタドライバ1060に対して印刷処理の実行が指示された場合、PTに処理切り替え情報が書き込まれており、サイズ情報も取得できる。従って、XPS出力フィルタ1065によるXPSファイル出力処理は行われず、サイズ情報を用いるラスタライズにより生成されたビットマップ画像データが出力されることになる(S1220でYES→・・・→S1250)。以上が、本実施形態における仮想プリンタドライバ1060の動作の内容である。
<仮想プリンタドライバ動作後のアプリケーションの動作について>
以下、仮想プリンタドライバ1060動作後の第1アプリケーション1020の動作について説明する。ビットマップ変換フィルタ1061によって生成されたビットマップ画像データが出力されたときの第1アプリケーション1020の動作は、第1の実施形態におけるアプリケーション420の動作と同様である。
また、XPS出力フィルタ1065がXPSファイルを出力する場合、第1アプリケーション1020のXPS取得部1026が、該出力されたXPSファイルを取得する。以上が、本実施形態における仮想プリンタドライバ動作後のアプリケーションの動作の内容である。
<本実施形態の効果について>
本実施形態により、1つの仮想プリンタドライバを用いて、第1アプリケーションに入力する印刷データ(XPSファイル)の出力と、仮想プリンタドライバ経由の印刷とを切り替えながら行うことが可能になる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
420・・・アプリケーション
422・・・印刷設定情報生成部
424・・・ドライバ種類判定部
460・・・仮想プリンタドライバ
463・・・データ変換部
480・・・プリンタドライバ

Claims (9)

  1. 第1の形式の描画データに基づいてページ記述言語データを生成するプリンタドライバと、前記第1の形式とは異なる第2の形式の描画データを生成するアプリケーションと、前記第2の形式の描画データに基づいてビットマップ画像データを生成する仮想プリンタドライバと、を有する情報処理装置であって、
    前記アプリケーションは、ユーザにより出力先に指定されたプリンタに対応するプリンタドライバが前記第2の形式の描画データをサポートしない場合、前記指定されたプリンタドライバから取得されたサイズ情報を特定し、前記特定したサイズ情報を、プリントチケットに書き込む手段を有し、
    前記仮想プリンタドライバは、前記アプリケーションから受け取った前記プリントチケットに書き込まれている前記サイズ情報と前記アプリケーションが生成した第2の形式の描画データに基づき、ビットマップ画像データを生成する生成手段を有し、
    前記アプリケーションは、前記生成手段で生成されたビットマップ画像データを前記指定されたプリンタドライバに出力する出力手段を有し、
    前記指定されたプリンタドライバは、前記アプリケーションから受け取ったビットマップ画像データに基づいて、ページ記述言語データを生成する生成手段を有することを特徴とする情報処理装置。
  2. 前記アプリケーションは、前記指定されたプリンタに対応するプリンタドライバが前記第1の形式の描画データをサポートするか判定する判定手段と、該判定手段による判定結果が真の場合、該プリンタドライバの能力情報を取得する取得手段と、を更に有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記出力手段は、前記判定手段による判定結果が偽の場合、前記指定されたプリンタドライバに対し、前記第2の形式の描画データを出力することを特徴とする請求項2に記載の情報処理装置。
  4. 前記第1の形式の描画データをサポートするプリンタドライバは、EMFファイルをサポートするGDIプリンタドライバであり、
    前記仮想プリンタドライバは、XPSファイルをサポートするXPSプリンタドライバであることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記仮想プリンタドライバは、受け取ったXPSファイルを出力する出力手段を更に有し、
    アプリケーションから受け取ったプリントチケットに書き込まれている情報に基づき、前記生成手段による生成と、当該出力手段による出力との何れかを実行することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記仮想プリンタドライバは、
    印刷データの妥当性の検証処理を実行する前に、前記プリントチケットに書き込まれているサイズ情報を退避させる手段と、
    前記検証処理を実行した後、前記検証処理により生成されたプリントチケットに前記退避させたサイズ情報を書き戻す手段と、
    を更に有することを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記サイズ情報は、用紙サイズと、描画領域サイズと、解像度と、オフセットとの各情報を含み、
    前記描画領域サイズの情報は、描画領域の縦幅と横幅との各値から成ることを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 第1の形式の描画データに基づいてページ記述言語データを生成するプリンタドライバと、前記第1の形式とは異なる第2の形式の描画データを生成するアプリケーションと、前記第2の形式の描画データに基づいてビットマップ画像データを生成する仮想プリンタドライバと、を有する情報処理装置の制御方法であって、
    前記アプリケーションによる、ユーザにより出力先に指定されたプリンタに対応するプリンタドライバが前記第2の形式の描画データをサポートしない場合、前記指定されたプリンタドライバから取得されたサイズ情報を特定し、前記特定したサイズ情報を、プリントチケットに書き込むステップと、
    前記仮想プリンタドライバによる、前記アプリケーションから受け取った前記プリントチケットに書き込まれている前記サイズ情報と前記アプリケーションが生成した第2の形式の描画データに基づき、ビットマップ画像データを生成する第1生成ステップと、
    前記アプリケーションは、前記第1生成ステップで生成されたビットマップ画像データを前記指定されたプリンタドライバに出力するステップと、
    前記指定されたプリンタドライバによる、前記アプリケーションから受け取ったビットマップ画像データに基づいて、ページ記述言語データを生成する第2生成ステップと、
    を有することを特徴とする制御方法。
  9. コンピュータに、請求項8に記載の方法を実行させるための、プログラム。
JP2018101393A 2018-05-28 2018-05-28 情報処理装置、その制御方法、及びプログラム Active JP7158895B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018101393A JP7158895B2 (ja) 2018-05-28 2018-05-28 情報処理装置、その制御方法、及びプログラム
US16/409,647 US10942693B2 (en) 2018-05-28 2019-05-10 Information processing apparatus, method of controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018101393A JP7158895B2 (ja) 2018-05-28 2018-05-28 情報処理装置、その制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019207461A JP2019207461A (ja) 2019-12-05
JP7158895B2 true JP7158895B2 (ja) 2022-10-24

Family

ID=68614617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018101393A Active JP7158895B2 (ja) 2018-05-28 2018-05-28 情報処理装置、その制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US10942693B2 (ja)
JP (1) JP7158895B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023034953A (ja) 2021-08-31 2023-03-13 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328486A (ja) 2003-04-25 2004-11-18 Brother Ind Ltd 特殊画像付加方法、描画処理システム、及びプログラム
JP2007133756A (ja) 2005-11-11 2007-05-31 Riso Kagaku Corp 画像形成装置及び画像形成用プログラム
JP2007249856A (ja) 2006-03-17 2007-09-27 Canon Inc 情報処理装置および情報処理装置における印刷設定反映方法とプログラム
US20070260978A1 (en) 2006-05-04 2007-11-08 Samsung Electronics Co., Ltd. Embedded display system and method used by the system
JP2008129636A (ja) 2006-11-16 2008-06-05 Murata Mach Ltd データ処理装置、プリンタ装置、データ印刷システム、コンピュータプログラム
JP2009223834A (ja) 2008-03-18 2009-10-01 Canon Inc 印刷設定処理装置及び印刷設定処理方法
JP2013127729A (ja) 2011-12-19 2013-06-27 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム、及び画像形成システム。
JP2017130080A (ja) 2016-01-21 2017-07-27 セイコーエプソン株式会社 印刷制御プログラムおよび印刷制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5983094B2 (ja) 2012-06-27 2016-08-31 ブラザー工業株式会社 ドライバ管理プログラム、及び、情報処理装置
US9501257B1 (en) * 2015-06-22 2016-11-22 Lexmark International, Inc. Pass-through printing with XPS printer driver

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328486A (ja) 2003-04-25 2004-11-18 Brother Ind Ltd 特殊画像付加方法、描画処理システム、及びプログラム
JP2007133756A (ja) 2005-11-11 2007-05-31 Riso Kagaku Corp 画像形成装置及び画像形成用プログラム
JP2007249856A (ja) 2006-03-17 2007-09-27 Canon Inc 情報処理装置および情報処理装置における印刷設定反映方法とプログラム
US20070260978A1 (en) 2006-05-04 2007-11-08 Samsung Electronics Co., Ltd. Embedded display system and method used by the system
JP2008129636A (ja) 2006-11-16 2008-06-05 Murata Mach Ltd データ処理装置、プリンタ装置、データ印刷システム、コンピュータプログラム
JP2009223834A (ja) 2008-03-18 2009-10-01 Canon Inc 印刷設定処理装置及び印刷設定処理方法
JP2013127729A (ja) 2011-12-19 2013-06-27 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム、及び画像形成システム。
JP2017130080A (ja) 2016-01-21 2017-07-27 セイコーエプソン株式会社 印刷制御プログラムおよび印刷制御装置

Also Published As

Publication number Publication date
US10942693B2 (en) 2021-03-09
US20190361648A1 (en) 2019-11-28
JP2019207461A (ja) 2019-12-05

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
US9442678B2 (en) Information processing apparatus, information processing system and non-transitory computer-readable information recording medium
US8502995B2 (en) Printing method to load filter dynamically and recordable medium with program to execute the printing method and host apparatus
EP2388685B1 (en) Information processing apparatus and control method thereof, and storage medium
JP2007249860A (ja) 情報処理装置におけるプリンタドライバ変更方法とプログラム
JP5235695B2 (ja) 印刷制御装置とその制御方法
JP2016200934A (ja) 画像出力システム、画像処理装置、画像出力装置、これらにおける方法及びプログラム
US9507544B2 (en) Information processing apparatus, recording medium, and control method to process print data using filters
JP7158895B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP7342577B2 (ja) サポートプログラム、情報処理装置、および印刷方法
US10310788B2 (en) Control method for generating data used for printing and information processing apparatus
US8045205B2 (en) Image forming device, and method and computer readable medium therefor
JP2023018114A (ja) プログラム、情報処理装置、及び情報処理装置の制御方法
US9552332B2 (en) Information processing apparatus having improved preview function
US10140558B2 (en) Print control system, print control apparatus, and program
US9165225B2 (en) Program and information processing apparatus
US20110038001A1 (en) Printing control method, a computer readable storage medium storing instructions of a computer program thereof, and an image formation device
JP7350525B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
WO2022163428A1 (ja) サポートプログラム
JP2019022948A (ja) 色補正処理決定方法及びプログラム
JP2011048489A (ja) 印刷システム、情報処理装置、印刷装置、印刷ジョブ生成方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221012

R151 Written notification of patent or utility model registration

Ref document number: 7158895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151