JP5361358B2 - 情報処理装置およびその制御方法、並びにプログラム - Google Patents
情報処理装置およびその制御方法、並びにプログラム Download PDFInfo
- Publication number
- JP5361358B2 JP5361358B2 JP2008316274A JP2008316274A JP5361358B2 JP 5361358 B2 JP5361358 B2 JP 5361358B2 JP 2008316274 A JP2008316274 A JP 2008316274A JP 2008316274 A JP2008316274 A JP 2008316274A JP 5361358 B2 JP5361358 B2 JP 5361358B2
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- information
- named shared
- printer driver
- 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.)
- Active
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
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 (17)
- 第1のビット数で動作するアプリケーションと、前記第1のビット数とは異なる第2のビット数で動作するプリンタドライバの両方がアクセスできる名前付き共有メモリを作成する作成手段と、
前記作成手段が作成する前記名前付き共有メモリに情報を格納する格納手段と、
前記作成手段が作成する前記名前付き共有メモリから前記格納手段が格納する前記情報を取得する取得手段と、
を有し、
前記格納手段は、前記プリンタドライバによって実行され、
前記取得手段は、前記アプリケーションによって実行されることを特徴とする情報処理装置。 - 前記格納手段は、前記アプリケーションが関数を呼び出した場合に、前記作成手段が作成する前記名前付き共有メモリに情報を格納し、
前記取得手段は、前記アプリケーションが前記関数の返却を受け取った場合に、前記作成手段が作成する前記名前付き共有メモリから前記格納手段が格納する前記情報を取得することを特徴とする請求項1に記載の情報処理装置。 - 前記名前付き共有メモリを特定する特定情報を前記アプリケーションから取得する第2の取得手段を更に有し、
前記第2の取得手段は、前記プリンタドライバによって実行され、
前記格納手段は、前記第2の取得手段が取得する前記特定情報に基づいて前記名前付き共有メモリを特定して、前記作成手段が作成する前記名前付き共有メモリに情報を格納することを特徴とする請求項1または2に記載の情報処理装置。 - 前記格納手段は、オペレーティングシステムが用意するアプリケーションプログラミングインタフェースでは取得できない情報を、前記作成手段が作成する前記名前付き共有メモリに格納することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記格納手段は、前記作成手段が作成する前記名前付き共有メモリに前記情報と前記情報の生成に成功したか又は失敗したかを示す生成成否情報とを格納し、
前記取得手段は、前記格納手段が格納する前記生成成否情報が前記情報の生成に成功したことを示す場合に、前記作成手段が作成する前記名前付き共有メモリから前記格納手段が格納する前記情報を取得することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 - 前記オペレーティングシステムが用意する前記アプリケーションプログラミングインタフェースでは取得できない前記情報とは、縁無し印刷のはみ出し量であることを特徴とする請求項4に記載の情報処理装置。
- 第1のビット数で動作するアプリケーションと、前記第1のビット数とは異なる第2のビット数で動作するプリンタドライバの両方がアクセスできる名前付き共有メモリを作成する作成手段と、
前記作成手段が作成する前記名前付き共有メモリから情報を取得する取得手段と、
を有し、
前記情報は、前記作成手段が作成する前記名前付き共有メモリに前記プリンタドライバによって格納され、
前記取得手段は、前記アプリケーションによって実行されることを特徴とする情報処理装置。 - 第1のビット数で動作するアプリケーションと、前記第1のビット数とは異なる第2のビット数で動作するプリンタドライバの両方がアクセスできる名前付き共有メモリに情報を格納する格納手段を有し、
前記名前付き共有メモリは、前記アプリケーションによって作成され、
前記格納手段は、前記プリンタドライバによって実行され、
前記アプリケーションは、前記名前付き共有メモリから前記格納手段が格納する前記情報を取得することを特徴とする情報処理装置。 - コンピューターを、
第1のビット数で動作するアプリケーションと、前記第1のビット数とは異なる第2のビット数で動作するプリンタドライバの両方がアクセスできる名前付き共有メモリを作成する作成手段、
前記作成手段が作成する前記名前付き共有メモリに情報を格納する格納手段、
前記作成手段が作成する前記名前付き共有メモリから前記格納手段が格納する前記情報を取得する取得手段、
として機能させ、
前記格納手段は、前記プリンタドライバによって実行され、
前記取得手段は、前記アプリケーションによって実行されることを特徴とするプログラム。 - 前記格納手段は、前記アプリケーションが関数を呼び出した場合に、前記作成手段が作成する前記名前付き共有メモリに情報を格納し、
前記取得手段は、前記アプリケーションが前記関数の返却を受け取った場合に、前記作成手段が作成する前記名前付き共有メモリから前記格納手段が格納する前記情報を取得することを特徴とする請求項9に記載のプログラム。 - コンピューターを、
前記名前付き共有メモリを特定する特定情報を前記アプリケーションから取得する第2の取得手段として更に機能させ、
前記第2の取得手段は、前記プリンタドライバによって実行され、
前記格納手段は、前記第2の取得手段が取得する前記特定情報に基づいて前記名前付き共有メモリを特定して、前記作成手段が作成する前記名前付き共有メモリに情報を格納することを特徴とする請求項9または10に記載のプログラム。 - 前記格納手段は、オペレーティングシステムが用意するアプリケーションプログラミングインタフェースでは取得できない情報を、前記作成手段が作成する前記名前付き共有メモリに格納することを特徴とする請求項9乃至11のいずれか1項に記載のプログラム。
- 前記格納手段は、前記作成手段が作成する前記名前付き共有メモリに前記情報と前記情報の生成に成功したか又は失敗したかを示す生成成否情報とを格納し、
前記取得手段は、前記格納手段が格納する前記生成成否情報が前記情報の生成に成功したことを示す場合に、前記作成手段が作成する前記名前付き共有メモリから前記格納手段が格納する前記情報を取得することを特徴とする請求項9乃至12のいずれか1項に記載のプログラム。 - 前記オペレーティングシステムが用意する前記アプリケーションプログラミングインタフェースでは取得できない前記情報とは、縁無し印刷のはみ出し量であることを特徴とする請求項12に記載のプログラム。
- コンピューターを、
第1のビット数で動作するアプリケーションと、前記第1のビット数とは異なる第2のビット数で動作するプリンタドライバの両方がアクセスできる名前付き共有メモリを作成する作成手段、
前記作成手段が作成する前記名前付き共有メモリから情報を取得する取得手段、
として機能させ、
前記情報は、前記作成手段が作成する前記名前付き共有メモリに前記プリンタドライバによって格納され、
前記取得手段は、前記アプリケーションによって実行されることを特徴とするプログラム。 - コンピューターを、
第1のビット数で動作するアプリケーションと、前記第1のビット数とは異なる第2のビット数で動作するプリンタドライバの両方がアクセスできる名前付き共有メモリに情報を格納する格納手段として機能させ、
前記名前付き共有メモリは、前記アプリケーションによって作成され、
前記格納手段は、前記プリンタドライバによって実行され、
前記アプリケーションは、前記名前付き共有メモリから前記格納手段が格納する前記情報を取得することを特徴とするプログラム。 - 第1のビット数で動作するアプリケーションと、前記第1のビット数とは異なる第2のビット数で動作するプリンタドライバの両方がアクセスできる名前付き共有メモリを作成する作成工程と、
前記作成工程にて作成する前記名前付き共有メモリに情報を格納する格納工程と、
前記作成工程にて作成する前記名前付き共有メモリから前記格納工程にて格納する前記情報を取得する取得工程と、
を有し、
前記格納工程は、前記プリンタドライバによって実行され、
前記取得工程は、前記アプリケーションによって実行されることを特徴とする情報処理装置の制御方法。
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 JP2010140281A (ja) | 2010-06-24 |
JP5361358B2 true 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) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6127695B2 (ja) * | 2013-05-01 | 2017-05-17 | 株式会社リコー | 印刷処理装置及びプログラム |
CN106717016B (zh) * | 2014-07-18 | 2020-01-03 | 惠普发展公司,有限责任合伙企业 | 一种非瞬变机器可读存储介质、计算设备的系统和用于创建统一资源标识符的方法 |
JP6632424B2 (ja) * | 2016-02-25 | 2020-01-22 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法 |
JP6890938B2 (ja) | 2016-08-12 | 2021-06-18 | キヤノン株式会社 | 情報処理装置 |
JP2019074884A (ja) | 2017-10-13 | 2019-05-16 | キヤノン株式会社 | プログラム、データ通信方法、および情報処理装置 |
JP7234687B2 (ja) | 2019-02-27 | 2023-03-08 | ブラザー工業株式会社 | モジュール及びプログラム |
JP7234688B2 (ja) * | 2019-02-27 | 2023-03-08 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
JP7263837B2 (ja) | 2019-02-27 | 2023-04-25 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
Family Cites Families (10)
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 |
US5867633A (en) * | 1996-12-09 | 1999-02-02 | Hewlett-Packard Company | Method and apparatus for processing and printing documents |
GB2345557A (en) * | 1999-01-07 | 2000-07-12 | Ibm | Fast trace log for a multi-processing environment |
JP2004288013A (ja) * | 2003-03-24 | 2004-10-14 | Canon Inc | 印刷制御方法 |
JP4458929B2 (ja) | 2003-07-16 | 2010-04-28 | キヤノン株式会社 | プログラム間通信装置、プログラム間通信方法、コンピュータ読み取り可能な記録媒体およびプログラム |
JP2005258712A (ja) * | 2004-03-10 | 2005-09-22 | Canon Inc | オブジェクト管理システム |
US20060197968A1 (en) * | 2005-03-01 | 2006-09-07 | Vannostrand S L | Dicom print driver |
JP4165537B2 (ja) * | 2005-06-29 | 2008-10-15 | ブラザー工業株式会社 | 色変換装置および色変換プログラム |
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
Also Published As
Publication number | Publication date |
---|---|
US9298522B2 (en) | 2016-03-29 |
US20100149586A1 (en) | 2010-06-17 |
JP2010140281A (ja) | 2010-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152332B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP5361358B2 (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
US9442678B2 (en) | Information processing apparatus, information processing system and non-transitory computer-readable information recording medium | |
KR102549370B1 (ko) | 정보 처리 장치, 제어 방법 및 프로그램 | |
US20190303076A1 (en) | Print processing system and control method | |
JP5072676B2 (ja) | 情報処理装置、情報処理方法及び印刷システム | |
US8605316B2 (en) | Information processing apparatus and control method thereof, and storage medium | |
JP2013149085A (ja) | 印刷システム、印刷制御装置、および印刷制御プログラム | |
JP2006309724A (ja) | 情報処理装置及び情報処理方法、プログラム、記憶媒体 | |
US8922823B2 (en) | Information processing apparatus and storage medium with the function of adding a cover letter to a print job | |
JP2013004010A (ja) | 印刷制御プログラム、情報処理装置及び印刷装置 | |
JP4702948B2 (ja) | デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体 | |
JP6111728B2 (ja) | 画像形成出力制御システム、画像形成出力制御プログラム及び情報処理装置 | |
JP2012252635A (ja) | 印刷制御装置、印刷制御プログラム及び記録媒体 | |
JP7187226B2 (ja) | プログラム、記憶媒体、情報処理装置、及び情報処理装置の制御方法 | |
JP5173354B2 (ja) | 印刷システムおよび印刷用プログラム | |
JP7350525B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP7171227B2 (ja) | 情報処理装置、その制御方法およびアプリケーション | |
JP7242203B2 (ja) | 情報処理装置、アプリケーションおよび制御方法 | |
JP4143598B2 (ja) | 情報処理装置における管理方法、情報処理装置、プログラム及び記憶媒体 | |
JP2019128856A (ja) | プリンタードライバーのカスタマイズツール | |
JP2006072526A (ja) | 情報処理装置およびセットアッププログラム | |
JP2020071693A (ja) | 情報処理装置、及びその制御方法並びにプログラム | |
JP2008102643A (ja) | 画像出力装置、画像出力プログラム、可搬記憶媒体および画像出力システム | |
JP2018018444A (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 |