JP2010140281A - アプリケーションプログラムとプリンタドライバとの間のデータ通信方法およびプログラム - Google Patents
アプリケーションプログラムとプリンタドライバとの間のデータ通信方法およびプログラム Download PDFInfo
- Publication number
- JP2010140281A JP2010140281A JP2008316274A JP2008316274A JP2010140281A JP 2010140281 A JP2010140281 A JP 2010140281A JP 2008316274 A JP2008316274 A JP 2008316274A JP 2008316274 A JP2008316274 A JP 2008316274A JP 2010140281 A JP2010140281 A JP 2010140281A
- Authority
- JP
- Japan
- Prior art keywords
- application program
- vendor
- printer driver
- function
- named object
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】オペレーティングシステム上で動作するアプリケーションプログラム手段201とプリンタドライバ手段との間のデータ通信方法であって、アプリケーションプログラム201が名前付き共有メモリを作成しExtEscape関数301を呼び出すことで、XPSプリンタドライバのユーザインタフェースモジュール411が名前付き共有メモリに返却データを格納する。
【選択図】図7
Description
まず、本実施形態におけるXPSプリンタドライバの構成と、印刷動作について図5を用いて説明する。また、本実施形態を適用可能なハードウェア構成に関しては図1にて後述する。
図5はオペレーティングシステム上のアプリケーションプログラムが印刷処理をする際にXPSプリンタドライバが動作した場合におけるデータの流れを説明する為のブロック図の一例である。図5において、XPSプリンタドライバを構成するモジュールはユーザインタフェースモジュール411、MXDC421、レイアウトフィルタ523、レンダーフィルタ525である。
次に、ユーザインタフェースモジュール411がユーザに提供する印刷設定ダイアログについて説明する。図6は本実施形態における印刷設定をユーザが操作する際に表示される印刷設定ダイアログの一例を示す図である。印刷設定ダイアログは設定に関する内容を表示するとともに、ユーザによる上記設定内容の変更指示や入力を受け付ける。図6では、OSが提供するAPIでは取得出来ない、縁無し印刷のはみ出し量の情報に関する設定を例として示す。ここでは、前述したDeviceCapabilities関数で得られるプリンタが取り扱うことができる一般的な情報に関する設定項目は図示しない。
次に、アプリケーションプログラム201がExtEscape関数を用いて、XPSプリンタドライバからベンダー独自情報を取得する処理の流れについて説明する。まず名前付き共有メモリについて説明する。名前付き共有メモリは、ファイルマッピングオブジェクトの一種であり、OSにより提供される名前付きオブジェクトの一つである。名前付き共有メモリの特徴として、複数のプロセスからアクセス可能である事が挙げられる。ここでの複数のプロセスというのは32bitプロセスや64bitプロセスを含み、32bitプロセスと64bitプロセスの両方からアクセスが可能であることを意味する。例えば、ExtEscape関数を呼び出すアプリケーションプログラムのプロセスと、OSの印刷サポート機能から呼び出されるプリンタドライバが動作するプロセスとがbit数において一致しない場合でも、名前付き共有メモリを使用することにより各プロセスよりアクセスが可能になる。
次に名前付き共有メモリに格納されるデータの構造について説明する。図8は本実施形態における名前付き共有メモリに格納されるデータの構造の一例を示す図である。名前付き共有メモリ801はメンバ811から851までの領域で構成される。
次に、アプリケーションプログラムがベンダー独自情報を取得する処理について説明する。図9はアプリケーションプログラムがベンダー独自情報を取得する処理のフローチャートの一例である。まずS901で処理を開始する。続いて、名前付き共有メモリの名称を決定し、名前付き共有メモリを作成する(S903)。次にS905で取得するベンダー独自情報の種類を名前付き共有メモリに格納する。そして名前付き共有メモリの名称情報を引数に指定し、ベンダー独自EscapeコードでExtEscape関数301を呼び出す。続いてS907において、アプリケーションプログラムはExtEscape関数301の返却データを無視し、名前付き共有メモリに格納された生成成否情報823を参照する。続くS909で生成成否情報801からベンダー独自情報の生成に成功したかどうかを判定し、成功していればS911に移り、失敗していればS913に移る。S911では名前付き共有メモリ801に格納されたベンダー独自情報を取得する。S913では、アプリケーションプログラムが取得したいベンダー独自情報を全て取得したかどうかを判定し、取得済みであればS915に移り、取得済みでなければS905に移る。S915では、S903で作成した名前付き共有メモリを削除し、最後にS916で処理を終了する。
次に、ユーザインタフェースモジュールのDrvDocumentEvent関数の処理について説明する。図10はDrvDocumentEvent関数における処理のフローチャートの一例である。
次に図1を用いて本実施形態を適用可能な印刷システムについて説明する。図1は本実施形態における印刷システムの構成を示すブロック図の一例である。本実施形態における印刷システムは大きく印刷装置120とデータ処理装置100により構成され、データ処理装置100はブロック101〜114により構成される。データ処理装置はパーソナルコンピュータなどが想定されるが、本実施形態が実現できれば、どのようなものでも構わない。アプリケーションプログラム及びプリンタドライバが動作可能なOSの環境を有していればよい。
なお、本実施形態では、単一の名前付き共有メモリで入力データと出力データの両方を格納する例を示したが、複数の名前付き共有メモリに分割して格納するようにしても良いことは言うまでもない。
以上の様にすることで、プリンタドライバはベンダー独自情報を名前付きオブジェクトに格納し、アプリケーションプログラムはプリンタドライバによって名前付きオブジェクトに格納された情報を参照することにより、OSが提供するAPIの仕様に制限されず処理を実行できる。また、アプリケーションプログラムがAPIを呼び出した時にのみプリンタドライバが動作する為、ベンダー独自情報を提供する為の別プログラムをサービスや別プロセスとして待機させておく必要が無い。
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
201 アプリケーションプログラム
301 OSの印刷サポート機能
411 ユーザインタフェースモジュール
421 MXDC
501 スプールファイル
511 OSの印刷パイプラインサービス
521 フィルタパイプライン
523 レイアウトフィルタ
525 レンダーフィルタ
Claims (10)
- オペレーティングシステム上で動作するアプリケーションプログラム手段とプリンタドライバ手段との間のデータ通信方法であって、
前記アプリケーションプログラム手段が、名前付きオブジェクトを生成し、少なくとも前記名前付きオブジェクトにアクセスするための名称情報を前記オペレーティングシステムが提供するAPIを介して前記プリンタドライバ手段に通知する工程と、
前記プリンタドライバ手段が、前記名称情報に基づき前記名前付きオブジェクトを参照し、得られた情報から返却データ及び、該返却データの生成の成否を示す生成成否情報を生成する工程と、
前記プリンタドライバ手段が、前記名前付きオブジェクトに前記返却データ及び、前記生成成否情報を格納する工程と、
前記アプリケーションプログラム手段が、前記生成成否情報を参照する工程と、
前記アプリケーションプログラム手段が、前記生成成否情報に基づき、前記名前付きオブジェクトに格納された前記返却データを参照する工程と、
を有することを特徴とするデータ通信方法。 - 前記アプリケーションプログラム手段と前記プリンタドライバ手段が、同一プロセスあるいは別個のプロセスにおいてもそれぞれ動作が可能であることを特徴とする請求項1に記載のデータ通信方法。
- 前記アプリケーションプログラム手段が32bitプロセスで動作し、前記プリンタドライバ手段が64bitプロセスで動作することを特徴とする請求項1または2に記載のデータ通信方法。
- 前記名前付きオブジェクトは名前付き共有メモリであり、前記APIはExtEscape関数であることを特徴とする請求項1乃至3のいずれか一項に記載のデータ通信方法。
- オペレーティングシステム上で動作するアプリケーションプログラム手段とプリンタドライバ手段を有するデータ処理装置であって、
前記アプリケーションプログラム手段が名前付きオブジェクトを生成し、少なくとも前記名前付きオブジェクトにアクセスするための名称情報を前記オペレーティングシステムが提供するAPIを介して前記プリンタドライバ手段に通知し、
前記プリンタドライバ手段は前記名称情報に基づき前記名前付きオブジェクトに返却データを格納し、
前記アプリケーションプログラム手段は前記名前付きオブジェクトに格納された前記返却データを参照することを特徴とするデータ処理装置。 - コンピュータを、
名前付きオブジェクトを生成し、少なくとも前記名前付きオブジェクトにアクセスするための名称情報をオペレーティングシステムが提供するAPIを介してプリンタドライバに通知する手段と、
前記APIからの処理結果を判定の上、プリンタドライバ手段が生成し名前付きオブジェクトに格納した生成成否情報を参照する手段と、
前記生成成否情報に基づき、前記名前付きオブジェクトに格納された返却データを参照する手段として機能させるためのアプリケーションプログラム。 - コンピュータを、
名称情報に基づき名前付きオブジェクトを参照し、得られた情報から返却データ及び、該返却データの生成の成否を示す生成成否情報を生成する手段と、
前記名前付きオブジェクトに前記返却データ及び、前記生成成否情報を格納する手段として機能させるためのプリンタドライバプログラム。 - コンピュータを、
名前付きオブジェクトを生成する作成手段と、
ベンダー独自情報を取得するためのベンダー独自のコードと前記名前付きオブジェクトの名称とを指定して関数を呼び出す手段と、
前記関数の処理結果を無視して、前記名前付きオブジェクトから前記ベンダー独自情報を取得する取得手段と
して機能させるためのアプリケーションプログラム。 - コンピュータを、
アプリケーションプログラムからのベンダー独自情報を取得するためのベンダー独自のコードと名前付きオブジェクトの名称が指定された関数の呼び出しに応じて、前記ベンダー独自のコードを判定し、前記関数のイベントであれば、前記ベンダー独自情報を生成する生成手段と、
前記名前付きオブジェクトの名称を元に前記生成手段により生成された前記ベンダー独自情報を名前付きオブジェクトに格納する手段と
して機能させるためのプリンタドライバプログラム。 - コンピュータを、
名前付きオブジェクトを生成する作成手段と、
ベンダー独自情報を取得するためのベンダー独自のコードと前記名前付きオブジェクトの名称を指定して関数を呼び出す手段と、
アプリケーションプログラムからの前記ベンダー独自情報を取得するためのベンダー独自のコードと前記名前付きオブジェクトの名称が指定された関数の呼び出しに応じて、前記ベンダー独自のコードを判定し、前記関数のイベントであれば、前記ベンダー独自情報を生成する生成手段と、
前記名前付きオブジェクトの名称を元に前記生成手段により生成された前記ベンダー独自情報を前記名前付きオブジェクトに格納する手段と、
前記関数の処理結果を無視して、前記名前付きオブジェクトから前記ベンダー独自情報を取得する取得手段と
して機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008316274A JP5361358B2 (ja) | 2008-12-11 | 2008-12-11 | 情報処理装置およびその制御方法、並びにプログラム |
US12/620,937 US9298522B2 (en) | 2008-12-11 | 2009-11-18 | Method of data communication between application program and printer driver, and program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008316274A JP5361358B2 (ja) | 2008-12-11 | 2008-12-11 | 情報処理装置およびその制御方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010140281A true JP2010140281A (ja) | 2010-06-24 |
JP5361358B2 JP5361358B2 (ja) | 2013-12-04 |
Family
ID=42240163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008316274A Active JP5361358B2 (ja) | 2008-12-11 | 2008-12-11 | 情報処理装置およびその制御方法、並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9298522B2 (ja) |
JP (1) | JP5361358B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014219730A (ja) * | 2013-05-01 | 2014-11-20 | 株式会社リコー | 印刷処理装置及びプログラム |
JP2017151820A (ja) * | 2016-02-25 | 2017-08-31 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法 |
CN107728960A (zh) * | 2016-08-12 | 2018-02-23 | 佳能株式会社 | 信息处理装置、信息处理方法和存储介质 |
US10481844B2 (en) | 2017-10-13 | 2019-11-19 | Canon Kabushiki Kaisha | Data communication method and information processing apparatus having multiple print settings |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016010546A1 (en) | 2014-07-18 | 2016-01-21 | Hewlett-Packard Development Company, L.P. | Creation of uniform resource identifiers including a scheme name associated with a print application |
JP7263837B2 (ja) | 2019-02-27 | 2023-04-25 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
JP7234688B2 (ja) * | 2019-02-27 | 2023-03-08 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
JP7234687B2 (ja) | 2019-02-27 | 2023-03-08 | ブラザー工業株式会社 | モジュール及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10248014A (ja) * | 1996-12-09 | 1998-09-14 | Hewlett Packard Co <Hp> | 画像処理方法 |
JP2004288013A (ja) * | 2003-03-24 | 2004-10-14 | Canon Inc | 印刷制御方法 |
JP2005050307A (ja) * | 2003-07-16 | 2005-02-24 | Canon Inc | プログラム間通信装置、プログラム間通信方法、コンピュータ読み取り可能な記録媒体およびプログラム |
JP2005258712A (ja) * | 2004-03-10 | 2005-09-22 | Canon Inc | オブジェクト管理システム |
JP2007013389A (ja) * | 2005-06-29 | 2007-01-18 | Brother Ind Ltd | 色変換装置および色変換プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5964843A (en) * | 1996-04-25 | 1999-10-12 | Microsoft Corporation | System for enhancing device drivers |
US5898422A (en) * | 1996-05-31 | 1999-04-27 | International Business Machines Corporation | Method and system for recognition of pointers |
GB2345557A (en) * | 1999-01-07 | 2000-07-12 | Ibm | Fast trace log for a multi-processing environment |
US20060197968A1 (en) * | 2005-03-01 | 2006-09-07 | Vannostrand S L | Dicom print driver |
JP4551835B2 (ja) * | 2005-07-28 | 2010-09-29 | キヤノン株式会社 | 情報処理装置及び情報処理方法及び印刷制御プログラム |
-
2008
- 2008-12-11 JP JP2008316274A patent/JP5361358B2/ja active Active
-
2009
- 2009-11-18 US US12/620,937 patent/US9298522B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10248014A (ja) * | 1996-12-09 | 1998-09-14 | Hewlett Packard Co <Hp> | 画像処理方法 |
JP2004288013A (ja) * | 2003-03-24 | 2004-10-14 | Canon Inc | 印刷制御方法 |
JP2005050307A (ja) * | 2003-07-16 | 2005-02-24 | Canon Inc | プログラム間通信装置、プログラム間通信方法、コンピュータ読み取り可能な記録媒体およびプログラム |
JP2005258712A (ja) * | 2004-03-10 | 2005-09-22 | Canon Inc | オブジェクト管理システム |
JP2007013389A (ja) * | 2005-06-29 | 2007-01-18 | Brother Ind Ltd | 色変換装置および色変換プログラム |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014219730A (ja) * | 2013-05-01 | 2014-11-20 | 株式会社リコー | 印刷処理装置及びプログラム |
JP2017151820A (ja) * | 2016-02-25 | 2017-08-31 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法 |
CN107728960A (zh) * | 2016-08-12 | 2018-02-23 | 佳能株式会社 | 信息处理装置、信息处理方法和存储介质 |
US10423366B2 (en) | 2016-08-12 | 2019-09-24 | Canon Kabushiki Kaisha | Information processing apparatus having active status management, information processing method, and storage medium |
CN107728960B (zh) * | 2016-08-12 | 2021-05-18 | 佳能株式会社 | 信息处理装置、信息处理方法和存储介质 |
US10481844B2 (en) | 2017-10-13 | 2019-11-19 | Canon Kabushiki Kaisha | Data communication method and information processing apparatus having multiple print settings |
Also Published As
Publication number | Publication date |
---|---|
JP5361358B2 (ja) | 2013-12-04 |
US20100149586A1 (en) | 2010-06-17 |
US9298522B2 (en) | 2016-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949148B2 (en) | Print processing system and control method | |
JP5361358B2 (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
US9442678B2 (en) | Information processing apparatus, information processing system and non-transitory computer-readable information recording medium | |
US20120281245A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP5072676B2 (ja) | 情報処理装置、情報処理方法及び印刷システム | |
KR20210021078A (ko) | 정보 처리 장치, 제어 방법 및 프로그램 | |
US8605316B2 (en) | Information processing apparatus and control method thereof, and storage medium | |
JP5518904B2 (ja) | 印刷装置へランタイムプログラミングコードを導入するためのシステム及び方法 | |
JP2013149085A (ja) | 印刷システム、印刷制御装置、および印刷制御プログラム | |
JP2006309724A (ja) | 情報処理装置及び情報処理方法、プログラム、記憶媒体 | |
JP2024097847A (ja) | プログラム、情報処理装置、及び情報処理装置の制御方法 | |
JP6575270B2 (ja) | 印刷設定支援装置及びプログラム | |
JP5834526B2 (ja) | 印刷制御プログラム、情報処理装置及び印刷装置 | |
JP4702948B2 (ja) | デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体 | |
US8922823B2 (en) | Information processing apparatus and storage medium with the function of adding a cover letter to a print job | |
JP6111728B2 (ja) | 画像形成出力制御システム、画像形成出力制御プログラム及び情報処理装置 | |
JP2012252635A (ja) | 印刷制御装置、印刷制御プログラム及び記録媒体 | |
JP7171227B2 (ja) | 情報処理装置、その制御方法およびアプリケーション | |
JP5173354B2 (ja) | 印刷システムおよび印刷用プログラム | |
JP5727067B2 (ja) | 印刷装置へランタイムプログラミングコードを導入するためのシステム及び方法 | |
JP4143598B2 (ja) | 情報処理装置における管理方法、情報処理装置、プログラム及び記憶媒体 | |
JP2020201829A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2006072526A (ja) | 情報処理装置およびセットアッププログラム | |
JP2008102704A (ja) | デバイス装置及びその制御方法、コンピュータプログラム、記憶媒体 | |
JP2013120507A (ja) | 文書処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130614 |
|
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: 20130809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130903 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5361358 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |