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

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

Info

Publication number
JP7118822B2
JP7118822B2 JP2018167037A JP2018167037A JP7118822B2 JP 7118822 B2 JP7118822 B2 JP 7118822B2 JP 2018167037 A JP2018167037 A JP 2018167037A JP 2018167037 A JP2018167037 A JP 2018167037A JP 7118822 B2 JP7118822 B2 JP 7118822B2
Authority
JP
Japan
Prior art keywords
data
predetermined
information processing
instruction
print
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
JP2018167037A
Other languages
English (en)
Other versions
JP2020042348A (ja
JP2020042348A5 (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 JP2018167037A priority Critical patent/JP7118822B2/ja
Priority to US16/528,994 priority patent/US10915278B2/en
Publication of JP2020042348A publication Critical patent/JP2020042348A/ja
Publication of JP2020042348A5 publication Critical patent/JP2020042348A5/ja
Application granted granted Critical
Publication of JP7118822B2 publication Critical patent/JP7118822B2/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/125Page layout or assigning input pages onto output media, e.g. imposition
    • G06F3/1252Page layout or assigning input pages onto output media, e.g. imposition for sheet based media
    • 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、情報処理装置及びその制御方法、並びにプログラムに関する。
印刷を実行するための印刷データをプリンタに提供する情報処理装置が知られている。情報処理装置は、プリンタドライバ及び当該プリンタドライバのプリプロセスモジュールであるプリントプロセッサを備える(例えば、特許文献1参照)。情報処理装置では、プリントプロセッサがユーザに設定された印刷設定及び文書データに基づいて描画指示を生成し、プリンタドライバが当該描画指示をプリンタで印刷可能な印刷データに変換する。印刷設定として、例えば、グラフィックスオブジェクトであるブラシに関する情報や、複数の論理ページを1枚の用紙に集約して印刷するNin1印刷に関する情報が設定される。ブラシは、印刷用紙においてユーザに指定された領域(以下、「ユーザ指定領域」という。)を斜線等の所定の描画パターンで塗りつぶした描画オブジェクトである。
例えば、印刷設定として2in1印刷に関する情報が設定された場合、プリントプロセッサは、2つの論理ページが隣り合って1つの描画データとして描画される描画指示を生成する。また、横向きや縦向きといった各論理ページの向きの構成が異なる場合、プリントプロセッサは、一方の論理ページの隣に、当該一方の論理ページの向きに合わせて回転させた他方の論理ページが描画されるような描画指示を生成する。このようにして、情報処理装置は、ユーザが意図する適切な印刷物が出力される印刷データを生成することができる。
特開2005‐182694号公報
しかしながら、従来では、プリントプロセッサは、描画オブジェクト単位の詳細な指示を描画指示に盛り込むことができないため、ユーザが意図する適切な印刷物が出力される印刷データを生成することができないことがある。例えば、ブラシの描画を含み且つ向きの構成が異なる2つの論理ページの2in1印刷の描画指示の生成において、プリントプロセッサは、描画オブジェクト単位の詳細な指示、具体的に、ブラシの描画パターンの向きを変換する情報を描画指示に盛り込むことができない。その結果、ユーザが意図する適切な印刷物が出力される印刷データを生成することができない。
本発明の目的は、ユーザが意図する適切な印刷物が出力される印刷データを生成することができる情報処理装置及びその制御方法、並びにプログラムを提供することにある。
上記目的を達成するために、本発明の情報処理装置は、描画データにおけるユーザ操作を介して指定された領域をユーザ操作を介して指定された描画パターンで塗りつぶした所定の描画オブジェクトを描画する描画指示を発行する描画指示発行手段と、前記描画指示を印刷装置が印刷可能な印刷データに変換するデータ変換手段とを備える情報処理装置であって、前記描画指示発行手段は、前記所定の描画オブジェクトを少なくとも含む描画データに対し当該描画データの向き又は大きさを変換する所定の画像変換処理を行う指示が含まれる場合、前記所定の描画オブジェクトに対して前記所定の画像変換処理を行うためのパラメータを前記データ変換手段に通知し、前記データ変換手段は、前記パラメータに基づいて前記印刷データにおける前記所定の描画オブジェクトに対して前記所定の画像変換処理を施すことを特徴とする。
本発明によれば、ユーザが意図する適切な印刷物が出力される印刷データを生成することができる。
本発明の実施の形態に係る情報処理装置としてのコンピュータを含む印刷システムの構成を概略的に示すブロック図である。 図1のコンピュータのハードウェア構成を概略的に示すブロック図である。 図1のコンピュータのソフトウェア構成を概略的に示すブロック図である。 図1のコンピュータによる印刷データの生成を説明するための図である。 図1のコンピュータによる描画を説明するための図である。 図3のプリントプロセッサによって実行される描画指示発行処理の手順を示すフローチャートである。 図3のGR処理部によって実行される印刷データ生成処理の手順を示すフローチャートである。 図1のコンピュータによって描画されるビットマップブラシを説明するための図である。 図7の印刷データ生成処理の変形例の手順を示すフローチャートである。
以下、本発明の実施の形態について図面を参照しながら詳述する。
図1は、本発明の実施の形態に係る情報処理装置としてのコンピュータ101を含む印刷システム100の構成を概略的に示すブロック図である。図1において、印刷システム100は、コンピュータ101及びプリンタ102を備える。コンピュータ101は、プリンタ102と有線LANケーブル(不図示)を介した有線LAN通信、又は無線通信を実施可能である。コンピュータ101は、ユーザによる指示に基づいて、例えば、プリンタ102に印刷を実行させるための印刷データを生成し、生成した印刷データをプリンタ102に送信する。プリンタ102は、受信した印刷データに基づいて用紙に印刷を行う。
図2は、図1のコンピュータ101のハードウェア構成を概略的に示すブロック図である。図2において、コンピュータ101は、制御部200、キーボード205、ディスプレイ207、及び外部メモリ209を備える。制御部200は、キーボード205、ディスプレイ207、及び外部メモリ209と接続されている。また、制御部200は、CPU201、RAM202、ROM203、キーボードI/F204、ディスプレイI/F206、外部メモリI/F208、及び外部機器I/F210を備える。CPU201、RAM202、ROM203、キーボードI/F204、ディスプレイI/F206、外部メモリI/F208、及び外部機器I/F210は、システムバス211を介して互いに接続されている。なお、CPUは、Central Processing Unitの略称である。RAMは、Random Access Memoryの略称である。ROMは、Read-Only Memoryの略称である。
制御部200は、コンピュータ101全体を統括的に制御する。CPU201は、ROM203や外部メモリ209に記憶されたプログラムをRAM202にロードし、RAM202にロードしたプログラムを実行することで、後述する図3の各モジュールの機能を実現する。キーボードI/F204は、キーボード205を制御部200に接続するためのI/Fである。キーボード205は、ユーザ操作を受け付ける受付部として機能する。ディスプレイI/F206は、ディスプレイ207を制御部200に接続するためのI/Fである。ディスプレイ207は、ユーザに提供する各種情報を表示する表示部として機能する。外部メモリI/F208は、コンピュータ101に接続されたUSBメモリやメモリーカードといった外部メモリ209と通信を行う。外部機器I/F210は、プリンタ102等の外部機器とのデータ通信を制御する。
図3は、図1のコンピュータ101のソフトウェア構成を概略的に示すブロック図である。図3において、コンピュータ101は、モジュールとして、アプリケーション301、OS302、プリントプロセッサ305(描画指示発行手段)、及びプリンタドライバ306(データ変換手段)を備える。図3の各モジュールの処理は、CPU201がROM203や外部メモリ209に記憶されたプログラムを実行することによって行われる。
アプリケーション301は、印刷データを生成する印刷データ生成ジョブの開始命令を発行する。OS302は、GDI303及びWindowsSpooler304で構成され、コンピュータ101の基本制御を行う。GDI303は、アプリケーション層に対して印刷を含めた描画フェイスを提供する。WindowsSpooler304は、後述する図4のスプールファイル401の格納に関する処理を行う。また、WindowsSpooler304は、印刷データの送信に関する処理を行う。
プリントプロセッサ305は、GDI303のAPIを呼び出し、ユーザが設定した印刷設定に基づいて描画指示を発行する。また、プリントプロセッサ305は、GDI303のAPIを呼び出し、当該描画指示をプリンタドライバ306に出力する。プリンタドライバ306は、UI処理部307及びGR処理部308で構成される。UI処理部307は、ユーザが設定した印刷設定に基づいて印刷設定情報を生成する。印刷設定情報は、例えば、各ページの印刷の向き、Nin1印刷に関する情報、ブラシに関する情報、及び印刷画像の拡大・縮小に関する情報を含む。GR処理部308は、取得した描画指示をプリンタ102が印刷可能な印刷データに変換する。
図4は、図1のコンピュータ101による印刷データの生成を説明するための図である。コンピュータ101は、キーボード205でユーザから印刷データの生成指示を受け付けると、アプリケーションプロセス上にアプリケーション301をロードする。
図4において、アプリケーションプロセス上にロードされたアプリケーション301は、印刷データ生成ジョブの開始命令を発行する。これにより、スプーラーサービス上にプリントプロセッサ305がロードされる。また、アプリケーション301は、プリンタドライバ306のUI処理部307により、キーボード205でユーザが入力した情報に基づいて印刷設定情報を生成する。その後、アプリケーション301は、GDI303のAPIを呼び出すことで、印刷設定情報及び印刷データの生成に必要となる描画データをGDI303に出力する。GDI303は、アプリケーション301から取得した印刷設定情報及び描画データを、WindowsSpooler304によりスプールファイル401として格納する。スプールファイル401のファイル形式は、EMF(EnhancedMetafile)形式である。EMF形式は、Windowsで印刷を行う際に高速に印刷を行うために作成される中間ファイルのファイル形式である。
一方、スプーラーサービス上にロードされたプリントプロセッサ305は、スプールファイル401の格納が終了すると、GDI303のAPIを呼び出すことで、スプールファイル401に関する描画指示を生成する。プリントプロセッサ305は、例えば、図5(a)の描画データ501、502が描画される描画指示を生成する。描画データ501は、データの向きの構成が縦向きの描画データである。描画データ502は、データの向きの構成が横向きの描画データである。描画データ501、502の各々には、ハッチブラシ503やビットマップブラシ504が含まれる。なお、ブラシは、ユーザ指定領域をユーザが指定した所定のパターンで塗りつぶした描画オブジェクトである。ハッチブラシ503では、水平線、斜め線、及び垂直線等の予め決められた複数の描画パターンの中からユーザに指定された描画パターンでユーザ指定領域が塗りつぶされる。ビットマップブラシ504では、ユーザに指定されたキャラクター画像等の所定のビットマップを敷き詰めることでユーザ指定領域が塗りつぶされる。生成された描画指示は、GDI303を介してプリンタドライバ306のGR処理部308に出力される。GR処理部308は、取得した描画指示をプリンタ102が印刷可能なデータ形式の印刷データに変換する。また、GR処理部308は、変換された印刷データをWindowsSpooler304に出力する。Windows Spooler304は、取得した印刷データをプリンタ102に送信する。プリンタ102は、コンピュータ101から受信した印刷データに基づいて用紙に印刷を行う。
例えば、描画データ501、502のようにデータの向きの構成が異なる2つの描画データを論理ページとする2in1印刷において、プリントプロセッサ305は、図5(b)に示すように、論理ページ505の隣に、論理ページ505の向きに合わせて90度回転させた論理ページ506が描画されるような描画指示を生成する。ところが、プリントプロセッサ305は、描画オブジェクト単位の詳細な指示、具体的に、ブラシの描画パターンの向きを変換する情報を描画指示に盛り込むことができない。このため、論理ページ505の向きに合わせて90度回転させた論理ページ506において、図5(b)に示すように、ハッチブラシ507やビットマップブラシ508の描画パターンの向きが変換されないような描画指示が生成され、当該描画指示がGDI303及びプリンタドライバ306に出力されてしまう。その結果、ユーザが意図する適切な印刷物が出力される印刷データを生成することができない。 これに対応して、本実施の形態では、描画指示に描画データの回転処理の指示が含まれる場合、プリントプロセッサ305が、描画データに含まれるブラシの回転処理を行うための座標変換パラメータをプリンタドライバ306に通知する。プリンタドライバ306は、上記座標変換パラメータに基づいて印刷データにおけるブラシの回転処理を行う。これにより、例えば、図5(c)に示すように、論理ページ506の向きの変換に合わせてハッチブラシ507やビットマップブラシ508の向きが変換された印刷データが生成される。
図6は、図3のプリントプロセッサ305によって実行される描画指示発行処理の手順を示すフローチャートである。図6の処理は、CPU201がROM203や外部メモリ209に記憶されたプログラムを実行することによって行われる。図6の処理は、アプリケーション301による印刷データ生成ジョブの開始命令に基づいてプリントプロセッサ305がスプーラーサービス上にロードされた際に実行される。
図6において、プリントプロセッサ305は、初期化処理を実行する(ステップS601)。次いで、プリントプロセッサ305は、GDI303における印刷データ生成ジョブの開始を示すAPIを呼び出して、GDI303からGR処理部308に印刷データ生成ジョブの開始を通知する(ステップS602)。その後、プリントプロセッサ305は、GDI303の別のAPIを呼び出し、格納されたスプールファイル401を取得する(ステップS603)。プリントプロセッサ305は、スプールファイル401の描画データが複数ページの描画データである場合、当該複数ページの中から一のページを特定する。
次いで、プリントプロセッサ305は、物理ページの開始処理の実行の要否を判別する(ステップS604)。なお、物理ページとは、2in1印刷における論理ページではなく、印刷物のページを示す。物理ページの開始処理は、一のページが当該一のページの前のページと異なる用紙に印刷するページである場合に実行される。例えば、2in1印刷において、上記一のページが、図5(b)の論理ページ505のように、1番目の論理ページである場合、一のページが当該一のページの前のページと異なる用紙に印刷するページに相当する。この場合、プリントプロセッサ305は、物理ページの開始処理の実行が必要であると判別する。一方、上記一のページが、図5(b)の論理ページ506のように、2番目の論理ページである場合、一のページが当該一のページの前のページである1番目の論理ページと同じ用紙に印刷するページに相当する。この場合、プリントプロセッサ305は、物理ページの開始処理の実行が不要であると判別する。
ステップS604の判別の結果、物理ページの開始処理の実行が不要であるとき、プリントプロセッサ305は、後述するステップS606の処理を行う。ステップS604の判別の結果、物理ページの開始処理の実行が必要であるとき、プリントプロセッサ305は、物理ページの開始処理を実行する(ステップS605)。これにより、一のページが当該一のページの前のページと異なる用紙に印刷するページであることがプリンタドライバ306に通知される。次いで、プリントプロセッサ305は、ステップS603で取得したスプールファイル401の印刷設定情報を参照し、拡大・縮小、回転、及び移動等のレイアウト設定が指定されているか否かを判別する(ステップS606)。
ステップS606の判別の結果、レイアウト設定が指定されているとき、プリントプロセッサ305は、当該レイアウト設定に基づいてGDI303に描画データの座標変換を指示する(ステップS607)。ステップS607では、プリントプロセッサ305は、GDI303に座標変換を指示するAPIとして、SetWorldTransform関数を利用する。GDI303が提供するSetWorldTransform関数では、座標(x,y)を座標 (x’,y’)に変換する際に下記式(1)、(2)で表される6つの座標変換パラメータeM11, eM12, eM21, eM22, eDx, eDyが必要となる。
x’ = x * eM11 + y * eM12 + eDx …(1)
y’ = x * eM21 + y * eM22 + eDy …(2)
式(1)、(2)は、描画オブジェクトに対して、並行移動を含む線形写像(拡大、縮小、移動、回転、スキュー等)を行うアフィン変換の式を示している。
プリントプロセッサ305は、指定されたレイアウト設定に含まれる拡縮やNin1等の設定値、対象となる論理ページのサイズ、印刷物のサイズ等に基づいて上記6つの座標変換パラメータを算出する。次いで、プリントプロセッサ305は、算出した変換パラメータをSetWorldTransform関数の引数に設定し、GDI303に対して座標変換を指示する。更に、プリントプロセッサ305は、算出した6つの座標変換パラメータをブラシの回転処理を行うためのパラメータとしてプリンタドライバ306に通知する(ステップS608)。具体的に、プリントプロセッサ305は、GDI303のAPIであるExtEscape()を呼び出し、算出した6つの座標変換パラメータをプリンタドライバ306のGR処理部308に通知する。
ExtEscape()は、プリントプロセッサ305や、汎用のアプリケーション等がGR処理部308とデータを送受信するためにGDI303が提供するAPIである。ExtEscape()は、データの送受信にExtEscape関数を利用する。プリントプロセッサ305等のExtEscape()を呼び出す側と、GR処理部308等の呼び出される側で、エスケープID値、入力データ、及び出力データ構造の取り決めが予め行われる。プリントプロセッサ305は、予め決定されたエスケープID値と共に、入力データや、出力データの格納領域情報をGR処理部308に出力する。一方、GR処理部308は、予め決定されたエスケープID値と共にExtEscape()が呼び出されると、プリントプロセッサ305から送信された入力データの内容を読み取る。また、GR処理部308は、プリントプロセッサ305から送信された出力データの格納領域情報が示す格納領域にデータを送信する。
次いで、プリントプロセッサ305は、GDI303のAPIを呼び出すことで、一のページに関する描画指示を生成する。次いで、プリントプロセッサ305は、GDI303を介してプリンタドライバ306のGR処理部308に一のページの描画指示を出力する(ステップS609)。なお、一のページの描画指示には、ステップS607で指示された座標変換が反映されているが、描画オブジェクト単位の詳細な指示、具体的に、ブラシの描画パターンの向きを変換する情報が盛り込まれていない。描画指示を取得したGR処理部308は、当該描画指示をプリンタ102で印刷可能な印刷データに変換する。次いで、プリントプロセッサ305は、物理ページの終了処理の実行の要否を判別する(ステップS610)。物理ページの終了処理は、一のページが当該一のページの次のページと異なる用紙に印刷するページである場合に実行される。例えば、2in1印刷において、上記一のページが、図5(b)の論理ページ505のように、1番目の論理ページである場合、一のページが当該一のページの次のページである2番目の論理ページと同じ用紙に印刷するページに相当する。この場合、プリントプロセッサ305は、物理ページの終了処理の実行が不要であると判別する。一方、上記一のページが、図5(b)の論理ページ506のように、2番目の論理ページである場合、一のページが当該一のページの次のページと異なる用紙に印刷するページに相当する。この場合、プリントプロセッサ305は、物理ページの終了処理の実行が必要であると判別する。
ステップS610の判別の結果、物理ページの終了処理の実行が不要であるとき、プリントプロセッサ305は、後述するステップS612の処理を行う。ステップS610の判別の結果、物理ページの終了処理の実行が必要であるとき、プリントプロセッサ305は、物理ページの終了処理を実行する(ステップS611)。これにより、一のページが当該一のページの次のページと異なる用紙に印刷するページであることがプリンタドライバ306に通知される。次いで、プリントプロセッサ305は、描画データに含まれる全てのページを処理したか否かを判別する(ステップS612)。
ステップ612の判別の結果、描画データに含まれる何れかのページを処理しないとき、プリントプロセッサ305は、ステップS603の処理に戻る。ステップ612の判別の結果、描画データに含まれる全てのページを処理したとき、プリントプロセッサ305は、印刷データ生成ジョブを終了する(ステップS613)。具体的に、プリントプロセッサ305は、GDI303における印刷データ生成ジョブの終了を示すAPIを呼び出す。次いで、プリントプロセッサ305は、終了処理を実行し(ステップS614)、本処理を終了する。
図7は、図3のGR処理部308によって実行される印刷データ生成処理の手順を示すフローチャートである。図7の処理は、CPU201がROM203や外部メモリ209に記憶されたプログラムを実行することによって行われる。図7の処理は、GDI303から印刷データ生成ジョブの開始が通知された際に実行される。
図7において、GR処理部308は、初期化処理を行う(ステップS701)。その後、GR処理部308は、ステップS608でプリントプロセッサ305から通知された6つの座標変換パラメータを取得する(ステップS702)。次いで、GR処理部308は、ステップS608でGDI303から一のページの描画指示を取得する(ステップS703)。次いで、GR処理部308は、取得した描画指示にハッチブラシやビットマップブラシといったブラシが含まれているか否かを判別する(ステップS704)。
ステップS704の判別の結果、取得した描画指示にブラシが含まれているとき、GR処理部308は、取得した座標変換パラメータに基づいて一のページの描画データに対して回転処理が行われたか否かを判別する(ステップS705)。例えば、取得した座標変換パラメータが一のページの描画データの90度回転を示す場合、x座標に関するパラメータであるeM11は「0」となり、eM12は「-1」となる。また、y座標に関するパラメータであるeM21が「1」となり、eM22が「0」となる。GR処理部308は、この様なパラメータ値の場合に、一のページの描画データに対して回転処理が行われたと判別する。なお、eM11~eM22が拡大縮小成分を含む場合、eM11~eM22内の最大値で各ペラメータを除算する等の正規化処理を行い、回転成分のみを抽出した後に回転処理が行われたか否かを判断すればよい。ページ単位での回転において、取り得る回転角は、90度、180度、270度の何れかであり、当該回転成分のパラメータとしては1、0、-1の何れかが採用される。更に、ページ単位での拡大において、X方向、Y方向の拡大縮小は等倍である。従って、最大値での除算で拡大縮小の影響を取り除いた回転成分を抽出することができる。
ステップS705の判別の結果、一のページの描画データに対して回転処理が行われないとき、又はステップS704の判別の結果、取得した描画指示にブラシが含まれていないとき、GR処理部308は、後述するステップS707の処理を行う。
ステップS705の判別の結果、一のページの描画データに対して回転処理が行われたとき、GR処理部308は、一のページの描画データにおけるブラシの回転処理を実行する(ステップS706)。具体的に、GR処理部308は、取得した座標変換パラメータに基づいて一のページの描画データにおけるブラシの向きを変える。次いで、GR処理部308は、上記描画指示を印刷データに変換する(ステップS707)。なお、ステップS707で変換された印刷データでは、ステップS706におけるブラシの向きの変更が反映されている。次いで、GR処理部308は、上記印刷データをWindowsSpooler304に出力する。Windows Spooler304は、上記印刷データをプリンタ102に送信する。次いで、GR処理部308は、ジョブの終了処理を行い(ステップS708)、本処理を終了する。
上述した実施の形態によれば、プリントプロセッサ305からの描画指示に描画データの回転処理の指示が含まれる場合、描画データに含まれるブラシの回転処理を行うための座標変換パラメータがプリントプロセッサ305からプリンタドライバ306に通知され、上記座標変換パラメータに基づいて印刷データにおけるブラシの回転処理が行われる。これにより、描画データの回転処理に合わせて描画データに含まれるブラシの向きを変換することができ、もって、ユーザが意図する適切な印刷物が出力される印刷データを生成することができる。
また、上述した実施の形態では、プリントプロセッサ305は、SetWorldTransform()関数を用いて上記座標変換パラメータを算出する。これにより、SetWorldTransform()関数を用いて描画データの画像変換処理を行うコンピュータ101において、描画データに含まれるブラシの回転処理を適切に行うことができる。
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、ブラシの位置が変わる処理が行われる場合、ブラシの起点座標の変換に用いる座標変換パラメータをプリンタドライバ306に通知しても良い。
例えば、ビットマップブラシの描画を行う場合、図8(a)に示すように、ユーザ指定領域801における起点Aを基準に配置された複数の描画パターンがユーザ指定領域801に描画される。このような描画データに対して拡大処理が施されると、描画データにおけるユーザ指定領域801の位置及び大きさの変更に合わせて当該ユーザ指定領域801の座標が変換される。ところが、ユーザ指定領域801における起点Aの座標は物理座標であるので、当該拡大処理では座標が変換されない。このため、コンピュータ101では、ブラシを含む描画データに対して当該ブラシの位置が変わる処理、具体的に、拡大処理又は縮小処理が行われると、処理前と比べて、図8(b)に示すように、ユーザ指定領域801における描画パターンの相対的な配置位置がずれるという問題が生じる。
これに対応して、本実施の形態では、描画データの座標変換が行われている場合、プリントプロセッサ305が、描画データに含まれるブラシの起点座標の変換を行うための座標変換パラメータをプリンタドライバ306に通知する。プリンタドライバ306は、上記座標変換パラメータに基づいて印刷データにおけるブラシの起点座標の変換を行う。これにより、例えば、ブラシの起点Aが、図8(c)の起点A’に変換された印刷データが生成される。
図9は、図7の印刷データ生成処理の変形例の手順を示すフローチャートである。図9の処理も、CPU201がROM203や外部メモリ209に記憶されたプログラムを実行することによって行われる。図9の処理も、GDI303から印刷データ生成ジョブの開始が通知された際に実行される。
図9において、GR処理部308は、ステップS701~S704の処理を行う。次いで、GR処理部308は、取得した座標変換パラメータに基づいて一のページの描画データの座標変換が行われたか否かを判別する(ステップS901)。
ステップS901の判別の結果、一のページの描画データの座標変換が行われないとき、GR処理部308は、ステップS707以降の処理を行う。ステップS901の判別の結果、一のページの描画データの座標変換が行われたとき、GR処理部308は、取得した座標変換パラメータに基づいて上記描画指示に含まれるブラシの起点座標を変換する(ステップS902)。次いで、GR処理部308は、ステップS707以降の処理を行う。
上述した実施の形態では、描画データの座標変換が行われている場合、描画データに含まれるブラシの起点座標を変換するための座標変換パラメータがプリンタドライバ306に通知され、上記座標変換パラメータに基づいて印刷データにおけるブラシの起点座標が変換される。これにより、描画データの拡大処理又は縮小処理に合わせて描画データに含まれるブラシの起点座標を適切な座標に変換することができ、もって、ユーザが意図する適切な印刷物が出力される印刷データを生成することができる。
(その他の実施形態)
上述した実施形態では、プリントプロセッサ305が座標変換パラメータをプリンタドライバ306に通知し、当該プリンタドライバ306が当該座標変換パラメータを解析し、ブラシに対する処理の要否と処理内容を決定する場合を例示したがこれに限定されない。プリントプロセッサ305が、プリンタドライバ306側でブラシに対して実行すべき画像処理の内容を特定し、当該画像処理を行うための必要なパラメータを通知するようにすることもできる。例えば、プリントプロセッサ305は、ブラシを回転するための回転成分を示すパラメータやブラシの起点座標を変換するための並行移動成分を示すパラメータを通知してもよい。この場合、プリンタドライバ306は、通知されたパラメータを用いてブラシオブジェクトの描画データを回転したり、ブラシオブジェクトの起点座標を補正したりすればよい。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 コンピュータ
102 プリンタ
305 プリントプロセッサ
306 プリンタドライバ

Claims (13)

  1. 描画データにおけるユーザ操作を介して指定された領域をユーザ操作を介して指定された描画パターンで塗りつぶした所定の描画オブジェクトを描画する描画指示を発行する描画指示発行手段と、前記描画指示を印刷装置が印刷可能な印刷データに変換するデータ変換手段とを備える情報処理装置であって、
    前記描画指示発行手段は、前記所定の描画オブジェクトを少なくとも含む描画データに対し当該描画データの向き又は大きさを変換する所定の画像変換処理を行う指示が含まれる場合、前記所定の描画オブジェクトに対して前記所定の画像変換処理を行うためのパラメータを前記データ変換手段に通知し、
    前記データ変換手段は、前記パラメータに基づいて前記印刷データにおける前記所定の描画オブジェクトに対して前記所定の画像変換処理を施すことを特徴とする情報処理装置。
  2. 前記所定の描画オブジェクトは、前記描画データにおいてユーザ操作を介して指定された領域をユーザ操作を介して指定された描画パターンで塗りつぶしたブラシであることを特徴とする請求項1記載の情報処理装置。
  3. 前記描画指示発行手段は、印刷設定に基づいて前記描画データに対してアフィン変換を行うためのパラメータを算出し、SetWorldTransform関数を用いて、前記描画データに対する所定の画像変換処理を行う指示を発行することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記描画指示発行手段が前記データ変換手段に通知する前記パラメータは、前記アフィン変換を行うためのパラメータであって、当該パラメータはExtEscape関数を用いて前記データ変換手段に通知され、
    前記データ変換手段は、当該アフィン変換を行うためのパラメータに基づき、前記所定の描画オブジェクトに対して実行すべき画像変換処理を決定し、該決定した画像変換処理を前記所定の描画オブジェクトに対して施すことを特徴とする請求項3に記載の情報処理装置。
  5. 前記所定の画像変換処理は、前記描画データの回転処理であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記所定の画像変換処理は、前記描画データの拡大処理又は前記描画データの縮小処理であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 描画データにおけるユーザ操作を介して指定された領域をユーザ操作を介して指定された描画パターンで塗りつぶした所定の描画オブジェクトを描画する描画指示を発行する描画指示発行手段と、前記描画指示を印刷装置が印刷可能な印刷データに変換するデータ変換手段とを備える情報処理装置の制御方法であって、
    前記所定の描画オブジェクトを少なくとも含む描画データに対し当該描画データの向き又は大きさを変換する所定の画像変換処理を行う指示が含まれる場合、前記所定の描画オブジェクトに対して前記所定の画像変換処理を行うためのパラメータを前記描画指示発行手段から前記データ変換手段に通知させ、
    前記データ変換手段に、前記パラメータに基づいて前記印刷データにおける前記所定の描画オブジェクトに対する前記所定の画像変換処理を実施させることを特徴とする情報処理装置の制御方法。
  8. 描画データにおけるユーザ操作を介して指定された領域をユーザ操作を介して指定された描画パターンで塗りつぶした所定の描画オブジェクトを描画する描画指示を発行する描画指示発行手段と、前記描画指示を印刷装置が印刷可能な印刷データに変換するデータ変換手段とを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
    前記情報処理装置の制御方法は、
    前記所定の描画オブジェクトを少なくとも含む描画データに対し当該描画データの向き又は大きさを変換する所定の画像変換処理を行う指示が含まれる場合、前記所定の描画オブジェクトに対して前記所定の画像変換処理を行うためのパラメータを前記描画指示発行手段から前記データ変換手段に通知させ、
    前記データ変換手段に、前記パラメータに基づいて前記印刷データにおける前記所定の描画オブジェクトに対する前記所定の画像変換処理を実施させることを特徴とするプログラム。
  9. プリントプロセッサを備える情報処理装置であって、
    前記プリントプロセッサは、
    所定のパターンで塗り潰された少なくとも1つの所定のオブジェクトを含む描画データを受信する受信手段と、
    前記受信した描画データに基づいて前記所定のオブジェクトの座標変換に使用される座標変換パラメータを生成する生成手段と、
    前記所定のオブジェクトの座標変換を行うGDI(Graphic Device Interface)に前記座標変換パラメータを提供する第1の提供手段と、
    前記GDIが前記所定のオブジェクトの座標変換を行った描画データを受信するプリンタドライバに、前記座標変換パラメータを提供する第2の提供手段とを備えることを特徴とする情報処理装置。
  10. 前記所定のオブジェクトは、ブラシオブジェクトであることを特徴とする請求項9記載の情報処理装置。
  11. 前記GDIに対して提供された座標変換パラメータと、前記プリンタドライバに対して提供された座標変換パラメータは同じであることを特徴とする請求項9又は10記載の情報処理装置。
  12. 前記描画データは、前記所定のオブジェクトを含む複数のオブジェクトを含み、
    前記GDIは、前記複数のオブジェクトのうち、前記所定のオブジェクトに対して座標変換を行い、前記所定のオブジェクトと異なる他のオブジェクトに対して座標変換を行わないことを特徴とする請求項9乃至11のいずれか1項に記載の情報処理装置。
  13. 前記GDIは、前記所定のオブジェクトに対して座標変換を行い、前記所定のパターンに対して座標変換を行わないことを特徴とする請求項9乃至12のいずれか1項に記載の情報処理装置。
JP2018167037A 2018-09-06 2018-09-06 情報処理装置及びその制御方法、並びにプログラム Active JP7118822B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018167037A JP7118822B2 (ja) 2018-09-06 2018-09-06 情報処理装置及びその制御方法、並びにプログラム
US16/528,994 US10915278B2 (en) 2018-09-06 2019-08-01 Information processing apparatus that provides print data to printer and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018167037A JP7118822B2 (ja) 2018-09-06 2018-09-06 情報処理装置及びその制御方法、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2020042348A JP2020042348A (ja) 2020-03-19
JP2020042348A5 JP2020042348A5 (ja) 2021-10-07
JP7118822B2 true JP7118822B2 (ja) 2022-08-16

Family

ID=69719149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018167037A Active JP7118822B2 (ja) 2018-09-06 2018-09-06 情報処理装置及びその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US10915278B2 (ja)
JP (1) JP7118822B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115049755A (zh) * 2021-03-09 2022-09-13 京东方科技集团股份有限公司 一种图片生成方法、装置、设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011143671A (ja) 2010-01-18 2011-07-28 Canon Inc 画像処理装置及び画像処理方法
JP2014029633A (ja) 2012-07-31 2014-02-13 Ricoh Co Ltd 情報処理装置および印刷システム
JP2016210077A (ja) 2015-05-07 2016-12-15 キヤノン株式会社 情報処理装置、描画処理方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182694A (ja) * 2003-12-24 2005-07-07 Canon Inc 割付印刷システム
US20110176154A1 (en) * 2010-01-18 2011-07-21 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
JP5630061B2 (ja) * 2010-04-05 2014-11-26 ブラザー工業株式会社 情報処理装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011143671A (ja) 2010-01-18 2011-07-28 Canon Inc 画像処理装置及び画像処理方法
JP2014029633A (ja) 2012-07-31 2014-02-13 Ricoh Co Ltd 情報処理装置および印刷システム
JP2016210077A (ja) 2015-05-07 2016-12-15 キヤノン株式会社 情報処理装置、描画処理方法、及びプログラム

Also Published As

Publication number Publication date
US10915278B2 (en) 2021-02-09
JP2020042348A (ja) 2020-03-19
US20200081670A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
KR930003419B1 (ko) 프린팅장치 및 방법
JP6202908B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP7118822B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2003211772A (ja) 情報処理装置、印刷レイアウト装置及び画像形成制御方法
KR100709364B1 (ko) 패턴 이미지 생성 방법 및 장치
CN111381782B (zh) 信息处理装置和用于生成打印数据的方法
JP2005056414A (ja) クライアント側で文書データをビューイングするための方法及び装置
JP6482432B2 (ja) 描画命令処理装置および描画命令処理方法
US10140558B2 (en) Print control system, print control apparatus, and program
JP6598546B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2010211439A (ja) 文字出力装置およびプログラム
JP6624918B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2005182694A (ja) 割付印刷システム
JP7316829B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20170300789A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable medium
US9858510B2 (en) Information processing apparatus, method for controlling the same, and storage medium for conversion processing using plural geometric transformations on image data
JPH10138555A (ja) 画像形成装置及び方法と印刷システム
JP2020029067A (ja) 描画処理装置、描画処理方法、及びプログラム
JP2878715B2 (ja) 文書作成装置
JP2019192087A (ja) 情報処理装置、プログラム、情報処理方法
JP6186926B2 (ja) プログラムおよび情報処理装置
JP2019197327A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2004284265A (ja) 印刷制御方法及び印刷制御装置
JP2004127299A (ja) コンピュータで作られた画像をプリントする方法とシステム
JP2019208164A (ja) 描画処理装置、描画処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210825

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220630

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220803

R151 Written notification of patent or utility model registration

Ref document number: 7118822

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151