JP4367561B2 - 印刷制御装置及び印刷文書の印刷方法 - Google Patents

印刷制御装置及び印刷文書の印刷方法 Download PDF

Info

Publication number
JP4367561B2
JP4367561B2 JP2008055837A JP2008055837A JP4367561B2 JP 4367561 B2 JP4367561 B2 JP 4367561B2 JP 2008055837 A JP2008055837 A JP 2008055837A JP 2008055837 A JP2008055837 A JP 2008055837A JP 4367561 B2 JP4367561 B2 JP 4367561B2
Authority
JP
Japan
Prior art keywords
xps
print
xps document
document
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008055837A
Other languages
English (en)
Other versions
JP2008276745A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008055837A priority Critical patent/JP4367561B2/ja
Priority to US12/080,282 priority patent/US8233162B2/en
Publication of JP2008276745A publication Critical patent/JP2008276745A/ja
Application granted granted Critical
Publication of JP4367561B2 publication Critical patent/JP4367561B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

本発明は、XPSドライバを用いた印刷技術に関し、特にGDIアプリからの印刷要求を適切に印刷する技術に関する。
マイクロソフト社のWindowsXP(商標または登録商標)では、プリンタやディスプレイを制御するためのGDI(Graphic Device Interface)という仕様がある。
一方、マイクロソフト社のWindows Vista(商標または登録商標)では、XPS(XML Paper Specification)という仕様が採用されている。
ところで、特許文献1には、(1)Win32アプリケーションからGDIドライバへの印刷処理フロー、(2)WinFxアプリケーションからXPSプリンタドライバへの印刷処理フロー、(3)Win32アプリケーションからXPSプリンタドライバへの印刷処理フロー、(4)WinFxアプリケーションからGDIドライバへの印刷処理フローの4つの印刷処理フローが記載されている。なお、この特許文献1は、本願の基礎出願の出願日(2007年4月2日)時点では未公開である。
特開2007−249854号公報
ところで、GDIによる出力処理を行うGDIアプリケーションは、印刷用紙の印刷可能領域R2(図2参照)を把握するために、GDIに対応したプリンタドライバ(以下、GDIドライバ)に対してGetDeviceCaps()関数を発行し、印刷可能領域R2のサイズを取得する。
これに対して、XPS仕様のプリンタドライバであるXPSドライバは、GetDeviceCaps()関数に対しては、印刷用紙領域R1のサイズを返す仕様になっている。つまり、このことを分かっていない従来のGDIアプリケーションはGetDeviceCaps()関数を発行し、XPSドライバからサイズを受け取ると、図2の印刷用紙全体の領域R1に印刷が可能であると理解する(現実の印刷可能領域はR2)。
このため、GDIアプリケーションはXPSドライバに対して、現実の印刷可能領域R2からはみ出した領域に印刷画像を割り当てた印刷要求を発行することになる。これをXPSドライバがそのままプリンタに印刷させれば、マージンMの領域(印刷用紙領域R1と印刷可能領域R2との差の領域)に割り当てられた画像が印刷されない。
そこで、本発明の目的は、XPSドライバを用いてGDIアプリケーションが発行する印刷要求に基づく印刷を行うときに、印刷すべき情報が印刷可能領域からはみ出すことなく、印刷可能領域内に印刷されるようにすることである。
本発明の一実施態様に従う印刷制御装置は、XPS(XML Paper Specification)規格に基づいてプリンタに印刷を実行させるXPSドライバを備えた印刷制御装置である。前記XPSドライバは、印刷文書を受け付ける手段と、前記受け付けた印刷文書を解析する手段と、前記解析の結果に基づいて、前記印刷文書に印刷用紙の印刷可能領域外への印刷指示が含まれているか否かを判定する手段と、前記判定の結果、前記印刷文書に前記印刷可能領域外への印刷指示が含まれているときは、前記印刷文書に従って合成される印刷イメージを、前記印刷用紙の全領域が前記印刷可能領域内に収まるような倍率で縮小した縮小印刷イメージを合成する手段と、前記合成された縮小印刷イメージのデータを出力し、前記プリンタに印刷を実行させる手段と、を備える印刷制御装置。
好適な実施形態では、GDI(Graphic Device Interface)を用いて印刷要求を発行するGDIアプリケーションと、前記GDIアプリケーションが発行した印刷要求を前記印刷文書に変換する手段と、をさらに備えてもよい。
好適な実施形態では、前記印刷文書の発行元が前記XPS規格に基づいているか否かを判断する手段をさらに備え、前記発行元が前記XPS規格に基づいていると判断した場合には、前記判定と縮小印刷イメージの合成を行わずに印刷を行うようにしてもよい。
以下、本発明の一実施形態に係る印刷システムについて、図面を参照して説明する。
図1は、本発明の一実施形態に係る印刷システムの構成図を示す。本システムは、同図に示すように、印刷制御装置1と、プリンタ3とを備える。
印刷制御装置1は、例えば汎用的なコンピュータシステムにより構成され、以下に説明する印刷制御装置1内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
印刷制御装置1は、XPSドライバ10と、XPSアプリケーション(以下、XPSアプリ)50と、GDIアプリケーション(以下、GDIアプリ)60と、XPSコンバータ70とを備える。
XPSアプリ50は、XMLで記述されたXPS文書を生成して出力するアプリケーションである。例えば、XPSドライバ10に対して印刷要求を送るときは、印刷すべき内容をXPS文書にして出力する。
GDIアプリ60は、従来のGDIによる印刷要求を出力する。すなわち、GDIアプリ60は、GetDeviceCaps()関数で取得したエリア内に印刷する画像を割り当てて印刷要求を生成する。
XPSコンバータ70は、GDIアプリケーション60がGDIを用いて出力した印刷要求を、XPS文書に変換する。
XPSドライバ10は、XPSアプリ50またはGDIアプリ60からGetDeviceCaps()関数の呼出を受けると、印刷用紙のサイズを返す。また、XPSドライバ10は、XPS文書を受け付け、これに含まれているXML文を解析するXML解析部11と、XPS文書に従って印刷イメージに展開する印刷イメージ合成部13と、印刷可能領域判定部15とを備える。
XML解析部11は、XPSアプリ50が作成したXPS文書またはGDIアプリ60の出力をXPSコンバータ70が変換したXPS文書を受け付ける。そして、XML解析部11は、受け付けたXPS文書からXML文を読み出して、XMLの解析を行う。例えば、XPS文書には、XML文によって印刷用紙サイズ、複数の描画エレメントの内容及びその位置座標などが指定されている。XML解析部11は、各描画エレメントについて、XML文を解釈する。なお、描画エレメントとは、例えば、文字、画像あるいは線画などの印刷すべきオブジェクトを指す。
印刷可能領域判定部15は、XPS文書に記述されている各描画エレメントが、プリンタが印刷可能な領域に収まっているか否かを判定する。
図2は、印刷用紙領域及び印刷可能領域について示す。
印刷用紙のサイズに応じて、印刷用紙全体を示す印刷用紙領域R1が定まる。また、それぞれの印刷用紙サイズごとに、プリンタが印刷できないマージンMが存在し、マージンMの内側の領域が印刷可能領域R2である。例えば、図中のOを原点としたとき、印刷可能領域R2はA,BのX−Y座標で特定される。
印刷可能領域判定部15は、XML解析部11の解析結果に従って、印刷可能領域R2からはみ出している描画エレメントの有無を判定する。例えば、この判定は、描画エレメントが割り当てられている位置の座標が、印刷可能領域R2の範囲であるA,BのX−Y座標の範囲内であるか否かにより行う。
印刷イメージ合成部13は、XML解析部11の解析結果に従って描画エレメントを展開して、印刷すべき印刷イメージを合成する。例えば、印刷イメージ合成部13は、XML解析部11によって解析された各描画エレメントの描画位置に、文字、画像あるいは線画などのそれぞれの描画エレメントを割り当てて、印刷イメージを合成する。
また、印刷可能領域判定部15によって、印刷可能領域R2からはみ出す描画エレメントが存在すると判定されたときは、印刷イメージ合成部13は縮小された印刷イメージを合成する。例えば、印刷イメージ合成部13は、XPS文書のXML文をそのまま展開した印刷イメージを合成した後、所定の縮小倍率でこの印刷イメージ全体を縮小してもよいし、XPS文書のXML文を展開するときに、縮小倍率考慮して縮小印刷イメージを合成してもよい。なお、この縮小倍率は、たとえば、印刷用紙領域R1の範囲がすべて印刷可能領域R2に入るように縮小する倍率である。この縮小倍率は、用紙サイズごとに定まり、印刷可能領域判定部15が予め保持している。
図3は、上述したような構成を備える印刷システムで、印刷を実行するときの処理手順を示すフローチャートである。
まず、XML解析部11がXPS文書を受け付ける(S11)。そして、XML解析部11は、受け付けたXPS文書から一つの描画エレメントについてのXML文を取得して、そのXML文におけるこの描画エレメントの描画位置を解析する(S12)。印刷可能領域判定部15は、XML解析部11の解析結果に基づいて、この描画エレメントの描画開始位置及び終了位置の座標が、いずれも印刷可能領域R2内であるか否かを判定する(S13)。
この描画エレメントが印刷可能領域R2外に出ていれば(S13:No)、印刷イメージ合成部13は、XPS文書の全描画エレメントのXML文を解釈して、これに従う印刷イメージを縮小した縮小印刷イメージを合成する(S16)。
一方、この描画エレメントが印刷可能領域R2内であれば(S13:Yes)、この描画エレメントがXPS文書に記述された描画エレメントのなかの、最後の描画エレメントであるか否かを判定する(S14)。そして、最後の描画エレメントでない間は(S14:No)、すべての描画エレメントについてステップS12以降の処理を繰り返す。
すべての描画エレメントが印刷可能領域R2内であれば(S14:Yes)、印刷イメージ合成部13は、XPS文書の全描画エレメントのXML文を解釈して、これにそのまま従う印刷イメージを合成する(S15)。
そして、印刷イメージ合成部13が合成した印刷イメージをプリンタ3へ出力して印刷を実行する(S17)。
なお、XPSドライバ10は、受け付けたXPS文書がXPSアプリ50から送られてきたものか、XPSコンバータ70から送られてきたものかを判別するようにしてもよい。これは、例えば、DrvDocumentEvent()関数の“hdc”パラメータによって判断することができる。すなわち、“hdc”パラメータが“INVALID_HANDLE_VALUE”であるか否かによって、XPS文書がXPSアプリ50から直接送信されたものであるか、あるいは、XPSコンバータ70を介して送信されたものであるかを判定することができる。従って、XPSドライバ10が印刷文書の発行元がXPSアプリ50であると判定したときは、XPSドライバ10は、受け付けたXPS文書を処理するときに、ステップS12〜S14の判定を行うことなく、受信したXPS文書のXML文を解釈して、縮小を行わずに、そのままのサイズの印刷イメージを合成するようにしてもよい。
次に、図4に示す本実施形態での印刷例について説明する。
GDIアプリ60からの出力によってXPSコンバータ70が生成したXPS文書には、例えば、図4A左に示すように、印刷可能領域R2の外側に印刷すべき文字などの情報がはみ出している場合がある。このとき、上述した実施形態によれば、印刷用紙領域R1を印刷可能領域R2に縮小した縮小印刷イメージ(図4A右)が合成される。その結果、すべての描画エレメントが印刷可能領域R2内に収まって印刷される。
一方で、図4B左に示すXPSアプリ50が生成したXPS文書、及びGDIアプリ60で適切なマージン設定がされた印刷要求に基づいてXPSコンバータ70が生成したXPS文書のように、印刷可能領域R2の外側に印刷すべき文字などの情報がはみ出していない場合には、図4B右に示すように、そのまま縮小せずに印刷が行われる。
この結果、本実施形態に係る印刷システムでは、従来のGDIアプリからの印刷要求であっても、適切に印刷を行うことができる。
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
本発明の一実施形態に係る印刷システムの構成図を示す。 印刷用紙領域及び印刷可能領域について示す。 印刷を実行するときの処理手順を示すフローチャートである。 本実施形態での印刷例を示す。
符号の説明
1 印刷制御装置
3 プリンタ
10 XPSドライバ
11 XML解析部
13 印刷イメージ合成部
15 印刷可能領域判定部
50 XPSアプリ
60 GDIアプリ
70 XPSコンバータ
M マージン
R1 印刷用紙領域
R2 印刷可能領域

Claims (3)

  1. XPS(XML Paper Specification)規格に基づいてプリンタに印刷を実行させるXPSドライバと、
    XPS文書を生成して出力するXPSアプリケーションと、
    GDI(Graphic Device Interface)を用いて印刷要求を発行するGDIアプリケーションと、
    前記GDIアプリケーションが発行した印刷要求をXPS文書に変換する変換手段と、を備えた印刷制御装置であって、
    前記XPSドライバは、
    前記XPSアプリケーションが出力したXPS文書及び前記変換手段が変換したXPS文書を受け付ける受付手段と、
    前記受付手段が受け付けたXPS文書を解析する解析手段と、
    DrvDocumentEvent()関数の“hdc”パラメータによって、前記受付手段が受け付けたXPS文書が前記XPSアプリケーションにより発行されたものであるか、または前記変換手段により変換されたものであるかを判定する第1の判定手段と、
    前記第1の判定手段により、前記XPS文書が前記変換手段により変換されたものであると判定された場合に、前記解析手段による解析の結果に基づいて、前記XPS文書に印刷用紙の印刷可能領域外への印刷指示が含まれているか否かを判定する第2の判定手段と、
    前記第2の判定手段により、前記XPS文書に前記印刷可能領域外への印刷指示が含まれていると判定されたときは、前記XPS文書に従って合成される印刷イメージを、前記印刷用紙の全領域が前記印刷可能領域内に収まるような倍率で縮小した縮小印刷イメージを合成する縮小合成手段と、
    前記第1の判定手段により前記XPS文書が前記XPSアプリケーションにより発行されたものであると判断された場合に、前記XPS文書に従って合成される印刷イメージのデータを出力し、前記第1の判定手段により前記XPS文書が前記変換手段により変換されたものであると判定され、且つ、前記第2の判定手段により前記XPS文書に前記印刷可能領域外への印刷指示が含まれていると判定された場合に、前記縮小合成手段で合成された縮小印刷イメージのデータを出力して、前記プリンタに印刷を実行させる手段と、を備える印刷制御装置。
  2. XPS(XML Paper Specification)規格に基づいてプリンタに印刷を実行させるXPSドライバと、XPS文書を生成して出力するXPSアプリケーションと、GDI(Graphic Device Interface)を用いて印刷要求を発行するGDIアプリケーションと、前記GDIアプリケーションが発行した印刷要求をXPS文書に変換する変換手段と、を備えた印刷制御装置において、前記XPSドライバが行う方法であって、
    前記XPSアプリケーションが出力したXPS文書及び前記変換手段が変換したXPS文書を受け付けるステップと、
    前記受け付けたXPS文書を解析するステップと、
    DrvDocumentEvent()関数の“hdc”パラメータによって、前記受け付けたXPS文書が前記XPSアプリケーションにより発行されたものであるか、または前記変換手段により変換されたものであるかを判定する第1の判定ステップと、
    前記第1の判定ステップにより、前記XPS文書が前記変換手段により変換されたものであると判定された場合に、前記解析の結果に基づいて、前記XPS文書に印刷用紙の印刷可能領域外への印刷指示が含まれているか否かを判定する第2のステップと、
    前記第2の判定ステップにより、前記XPS文書に前記印刷可能領域外への印刷指示が含まれていると判定されたときは、前記XPS文書に従って合成される印刷イメージを、前記印刷用紙の全領域が前記印刷可能領域内に収まるような倍率で縮小した縮小印刷イメージを合成するステップと、
    前記第1の判定ステップにより、前記XPS文書が前記XPSアプリケーションにより発行されたものであると判断された場合に、前記XPS文書に従って合成される印刷イメージのデータを出力し、前記第1の判定ステップにより前記XPS文書が前記変換手段で変換されたものであると判定され、且つ、前記第2の判定ステップにより前記XPS文書に前記印刷可能領域外への印刷指示が含まれていると判定された場合に、前記合成された縮小印刷イメージのデータを出力して、前記プリンタに印刷を実行させるステップと、を有する印刷文書の印刷方法。
  3. XPS(XML Paper Specification)規格に基づいてプリンタに印刷を実行させるXPSドライバと、XPS文書を生成して出力するXPSアプリケーションと、GDI(Graphic Device Interface)を用いて印刷要求を発行するGDIアプリケーションと、前記GDIアプリケーションが発行した印刷要求をXPS文書に変換する変換手段と、を備えた印刷制御装置において、前記XPSドライバがプリンタに印刷を実行させるためのコンピュータプログラムであって、
    前記XPSアプリケーションが出力したXPS文書及び前記変換手段が変換したXPS文書を受け付けるステップと、
    前記受け付けたXPS文書を解析するステップと、
    DrvDocumentEvent()関数の“hdc”パラメータによって、前記受け付けたXPS文書が前記XPSアプリケーションにより発行されたものであるか、または前記変換手段により変換されたものであるかを判定する第1の判定ステップと、
    前記第1の判定ステップにより、前記XPS文書が前記変換手段により変換されたものであると判定された場合に、前記解析の結果に基づいて、前記XPS文書に印刷用紙の印刷可能領域外への印刷指示が含まれているか否かを判定する第2のステップと、
    前記第2の判定ステップにより、前記XPS文書に前記印刷可能領域外への印刷指示が含まれていると判定されたときは、前記XPS文書に従って合成される印刷イメージを、前記印刷用紙の全領域が前記印刷可能領域内に収まるような倍率で縮小した縮小印刷イメージを合成するステップと、
    前記第1の判定ステップにより、前記XPS文書が前記XPSアプリケーションにより発行されたものであると判断された場合に、前記XPS文書に従って合成される印刷イメージのデータを出力し、前記第1の判定ステップにより前記XPS文書が前記変換手段で変換されたものであると判定され、且つ、前記第2の判定ステップにより前記XPS文書に前記印刷可能領域外への印刷指示が含まれていると判定された場合に、前記合成された縮小印刷イメージのデータを出力して、前記プリンタに印刷を実行させるステップと、を前記印刷制御装置に実行させるためのコンピュータプログラム。

JP2008055837A 2007-04-02 2008-03-06 印刷制御装置及び印刷文書の印刷方法 Expired - Fee Related JP4367561B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008055837A JP4367561B2 (ja) 2007-04-02 2008-03-06 印刷制御装置及び印刷文書の印刷方法
US12/080,282 US8233162B2 (en) 2007-04-02 2008-04-02 Printer controller and method of printing print document which scale down a print image so that an entire area of a print sheet fits into a printable area

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007096178 2007-04-02
JP2008055837A JP4367561B2 (ja) 2007-04-02 2008-03-06 印刷制御装置及び印刷文書の印刷方法

Publications (2)

Publication Number Publication Date
JP2008276745A JP2008276745A (ja) 2008-11-13
JP4367561B2 true JP4367561B2 (ja) 2009-11-18

Family

ID=40070696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008055837A Expired - Fee Related JP4367561B2 (ja) 2007-04-02 2008-03-06 印刷制御装置及び印刷文書の印刷方法

Country Status (1)

Country Link
JP (1) JP4367561B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5678559B2 (ja) * 2010-10-06 2015-03-04 セイコーエプソン株式会社 情報処理装置および情報処理プログラム
JP6234417B2 (ja) 2015-10-26 2017-11-22 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP6576224B2 (ja) * 2015-11-26 2019-09-18 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP2017102670A (ja) 2015-12-01 2017-06-08 キヤノン株式会社 印刷制御装置、印刷制御方法、およびプログラム
JP6437076B2 (ja) * 2017-10-26 2018-12-12 キヤノン株式会社 情報処理装置及びその制御方法とプログラム

Also Published As

Publication number Publication date
JP2008276745A (ja) 2008-11-13

Similar Documents

Publication Publication Date Title
JP2007249855A (ja) 情報処理装置およびその方法
JP4960900B2 (ja) 情報処理装置および画像形成装置
JP4367561B2 (ja) 印刷制御装置及び印刷文書の印刷方法
US8810820B2 (en) Active printing system and method for printing based on image size
JP2000259380A (ja) 合成印刷方法
US7973956B2 (en) High speed printing method and apparatus
KR101345342B1 (ko) 에뮬레이션 추가기능을 설정하는 화상형성장치 및 그화상처리방법
JP2001088405A (ja) 印刷制御方法とそのプログラムを格納した記憶媒体並びにプリンタ制御装置及びプリンタシステム
US8045205B2 (en) Image forming device, and method and computer readable medium therefor
JP6234417B2 (ja) 情報処理装置及びその制御方法とプログラム
JP6330790B2 (ja) 印刷制御システム、印刷制御装置およびプログラム
JP2008040928A (ja) 印刷文書加工装置
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
JP7158895B2 (ja) 情報処理装置、その制御方法、及びプログラム
KR100396261B1 (ko) 프린터 드라이버의 미리 보기 기능 수행 방법
JP2009289043A (ja) 画像処理システム,画像処理プログラムおよびプリンタドライバ
JP5042926B2 (ja) 印刷設定装置,プログラム,および記録媒体
JP2007261172A (ja) 画像形成装置及び画像形成方法
JP2009151468A (ja) 印刷プレビュー装置及び方法
JP2007004568A (ja) 画像形成システム、画像形成装置、及び画像形成方法
JP2008219418A (ja) 画像形成装置、画像処理方法、及び画像処理プログラム
JP2006154912A (ja) ドキュメント表示および印刷システム、方法および記憶媒体
KR100597249B1 (ko) 인쇄시스템 및 그 인쇄방법
JP2006137016A (ja) ダイレクトプリンティングシステム
JP2004351856A (ja) 画像形成装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090709

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090817

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees