(57)【特許請求の範囲】
【請求項１】
コンピュータにインストールされたプリンタドライバによって、第１画像形成装置の用紙上における印刷範囲を、第２画像形成装置の前記用紙上における前記印刷範囲へエミュレートするエミュレート方法において、
前記コンピュータによって、
前記第１画像形成装置用プリンタドライバを起動する工程と、
前記第１画像形成装置の印刷範囲情報を、前記第１画像形成装置用プリンタドライバから取得する工程と、
前記第２画像形成装置用プリンタドライバに対する前記印刷範囲の変更のための関数を含むプラグインファイルを、前記第１画像形成装置の印刷範囲情報に基づいて自動的に生成する工程と、
前記第２画像形成装置用プリンタドライバに、前記プラグインファイルを組み込む工程と、
前記第２画像形成装置用プリンタドライバに、前記第２画像形成装置用プリンタドライバの初期化処理時に、オリジナルの前記印刷範囲情報を設定した後に、組み込まれた前記プラグインファイルが存在すれば、前記プラグインファイルに含まれる関数を呼び出して実行する工程と、を備え、
前記印刷範囲情報は、前記用紙の左上隅点及び前記用紙の右下隅点を対角点とする矩形範囲である印刷可能範囲を含み、前記印刷可能範囲は、前記左上隅点の左上角からのＸ方向及びＹ方向のオフセット量と印刷可能範囲のＸ方向の幅及びＹ方向の幅とで表され、
前記プラグインファイルは、テンプレートファイルに含まれているパラメータに、前記第１画像形成装置の印刷範囲情報のデータを割り当てることにより生成されることを特徴とするエミュレート方法。
【請求項２】
コンピュータにインストールされたプリンタドライバを介して、第１画像形成装置の用紙上における印刷範囲を、第２画像形成装置の前記用紙上における前記印刷範囲へエミュレートするエミュレート方法において、
前記コンピュータによって、
前記第１画像形成装置用プリンタドライバを起動する工程と、
前記第１画像形成装置の印刷範囲情報を、前記第１画像形成装置用プリンタドライバから取得する工程と、
前記第２画像形成装置用プリンタドライバに対する前記印刷範囲の変更のための関数を含む印刷範囲変更ソースコードを、前記第１画像形成装置の印刷範囲情報に基づいて自動的に生成する工程と、
前記第２画像形成装置用プリンタドライバのソースコードをコンパイルして第１オブジェクトファイルを生成する工程と、
前記印刷範囲変更ソースコードをコンパイルして第２オブジェクトファイルを生成する工程と、
前記第１オブジェクトファイルと前記第２オブジェクトファイルとを静的にリンクさせて、新たな第２画像形成装置用プリンタドライバをビルドする工程と、
前記第２画像形成装置用プリンタドライバのソースコードに、前記第２画像形成装置用プリンタドライバの初期化処理時に、オリジナルの前記印刷範囲情報を設定した後に、前記印刷範囲変更ソースコードに含まれる関数を呼び出して実行する工程と、を備え、
前記印刷範囲情報は、前記用紙の左上隅点及び前記用紙の右下隅点を対角点とする矩形範囲である印刷可能範囲を含み、前記印刷可能範囲は、前記左上隅点の左上角からのＸ方向及びＹ方向のオフセット量と印刷可能範囲のＸ方向の幅及びＹ方向の幅とで表され、
前記第１オブジェクトファイルと前記第２オブジェクトファイルとは、リンカによりリンクされることを特徴とするエミュレート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他機種の画像形成装置の印刷可能範囲をプリンタドライバでエミュレートする方法に関する。
【背景技術】
【０００２】
画像形成装置では、ハードウェア上の理由により、用紙に対する印刷可能範囲が定められている。
【０００３】
アプリケーションが所定機種の印刷可能範囲にのみ対応して作成されていて、この機種を持っていない場合、このアプリケーションを使用するには、新たに画像形成装置を購入しなければならない。
【０００４】
このような問題に対処するため、下記特許文献１では、切り替え元のプリンタドライバと切り替え先のプリンタドライバとを備え、印刷可能範囲の情報を両プリンタドライバから取得し、両プリンタドライバの印刷可能範囲の差を補正値として求め、描画オブジェクト毎に印刷位置を補正している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−３２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、切り替え先プリンタのプリンタドライバを取得できない場合には、これを利用することができない。また、描画オブジェクト毎に補正を行うので、処理が遅延する原因となる。さらに、切り替え先のプリンタドライバをユーザが指定しなければならず煩雑である。
【０００７】
本発明の目的は、このような問題点に鑑み、ユーザが他機種のプリンタドライバを入手しなくても印刷可能範囲を簡単に変更することが可能な、プリンタドライバの印刷可能範囲エミュレート方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明によるプリンタドライバの印刷可能範囲エミュレート方法の第１態様では、
コンピュータにインストールされたプリンタドライバによって、第１画像形成装置の用紙上における印刷範囲を、第２画像形成装置の前記用紙上における前記印刷範囲へエミュレートするエミュレート方法において、
前記コンピュータによって、
前記第１画像形成装置用プリンタドライバを起動する工程と、
前記第１画像形成装置の印刷範囲情報を、前記第１画像形成装置用プリンタドライバから取得する工程と、
前記第２画像形成装置用プリンタドライバに対する前記印刷範囲の変更のための関数を含むプラグインファイルを、前記第１画像形成装置の印刷範囲情報に基づいて自動的に生成する工程と、
前記第２画像形成装置用プリンタドライバに、前記プラグインファイルを組み込む工程と、
前記第２画像形成装置用プリンタドライバに、前記第２画像形成装置用プリンタドライバの初期化処理時に、オリジナルの前記印刷範囲情報を設定した後に、組み込まれた前記プラグインファイルが存在すれば、前記プラグインファイルに含まれる関数を呼び出して実行する工程と、を備え、
前記印刷範囲情報は、前記用紙の左上隅点及び前記用紙の右下隅点を対角点とする矩形範囲である印刷可能範囲を含み、前記印刷可能範囲は、前記左上隅点の左上角からのＸ方向及びＹ方向のオフセット量と印刷可能範囲のＸ方向の幅及びＹ方向の幅とで表され、
前記プラグインファイルは、テンプレートファイルに含まれているパラメータに、前記第１画像形成装置の印刷範囲情報のデータを割り当てることにより生成される。
【０００９】
本発明によるプリンタドライバの印刷可能範囲エミュレート方法の第２態様では、
コンピュータにインストールされたプリンタドライバを介して、第１画像形成装置の用紙上における印刷範囲を、第２画像形成装置の前記用紙上における前記印刷範囲へエミュレートするエミュレート方法において、
前記コンピュータによって、
前記第１画像形成装置用プリンタドライバを起動する工程と、
前記第１画像形成装置の印刷範囲情報を、前記第１画像形成装置用プリンタドライバから取得する工程と、
前記第２画像形成装置用プリンタドライバに対する前記印刷範囲の変更のための関数を含む印刷範囲変更ソースコードを、前記第１画像形成装置の印刷範囲情報に基づいて自動的に生成する工程と、
前記第２画像形成装置用プリンタドライバのソースコードをコンパイルして第１オブジェクトファイルを生成する工程と、
前記印刷範囲変更ソースコードをコンパイルして第２オブジェクトファイルを生成する工程と、
前記第１オブジェクトファイルと前記第２オブジェクトファイルとを静的にリンクさせて、新たな第２画像形成装置用プリンタドライバをビルドする工程と、
前記第２画像形成装置用プリンタドライバのソースコードに、前記第２画像形成装置用プリンタドライバの初期化処理時に、オリジナルの前記印刷範囲情報を設定した後に、前記印刷範囲ソースコードに含まれる関数を呼び出して実行する工程と、を備え、
前記印刷範囲情報は、前記用紙の左上隅点及び前記用紙の右下隅点を対角点とする矩形範囲である印刷可能範囲を含み、前記印刷可能範囲は、前記左上隅点の左上角からのＸ方向及びＹ方向のオフセット量と印刷可能範囲のＸ方向の幅及びＹ方向の幅とで表され、
前記第１オブジェクトファイルと前記第２オブジェクトファイルとは、リンカによりリンクされる。
【発明の効果】
【００１１】
上記第１態様の構成によれば、第１画像形成装置の用紙上印刷可能範囲情報をそのプリンタドライバから取得して、第２画像形成装置用プリンタドライバに対する印刷可能範囲変更用プラグインを自動生成し、これを該第２画像形成装置用プリンタドライバに組み込み、該第２画像形成装置用プリンタドライバでは、自身の初期化時に既定の印刷可能範囲情報を設定した後に、該組み込まれたプラグインが存在すればそれを実行するので、ユーザは第１画像形成装置用プリンタドライバを入手しなくても、このプリンタドライバに対応して第２画像形成装置の印刷可能範囲を簡単に変更することが可能となるという効果を奏する。
【００１２】
上記第２態様の構成によれば、第１画像形成装置の用紙上印刷可能範囲情報をそのプリンタドライバから取得して、第２画像形成装置用プリンタドライバに対する印刷可能範囲変更用関数のソースコードを自動生成し、そのオブジェクトファイルを、第２画像形成装置用プリンタドライバのソースコードのそれに静的にリンクすることにより、新たな第２画像形成装置用プリンタドライバをビルドし、該第２画像形成装置用プリンタドライバでは、自身の初期化時に既定の印刷可能範囲情報を設定した後に該関数を呼び出すので、ユーザは第１画像形成装置用プリンタドライバを入手しなくても、このプリンタドライバに対応して第２画像形成装置の印刷可能範囲を簡単に変更することが可能となるという効果を奏する。
【００１３】
上記第３態様の構成によれば、第１画像形成装置の用紙上印刷可能範囲情報をそのプリンタドライバから取得して、第２画像形成装置用プリンタドライバに対する印刷可能範囲設定データを自動生成し、これを第２画像形成装置用プリンタドライバに組み込み、第２画像形成装置用プリンタドライバでは、自身の初期化時に既定の印刷可能範囲データを設定した後に、該組み込んだ設定データが存在すればそれで該既定の印刷可能範囲データを上書きするので、ユーザは第１画像形成装置用プリンタドライバを入手しなくても、このプリンタドライバに対応して第２画像形成装置の印刷可能範囲を簡単に変更することが可能となるという効果を奏する。
【００１４】
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。 
【図面の簡単な説明】
【００１５】
【図１】２つの異なる画像形成装置での用紙に対する印刷可能範囲の説明図である。
【図２】本発明の実施例１に係るプラグイン自動生成処理のソフトウェア構成を示す機能ブロック図である。
【図３】図２で生成されたプラグインファイルを利用する印刷システムの概略ブロック図である。
【図４】図３のプリンタドライバでの初期化処理を示す概略フローチャートである。
【図５】本発明の実施例２に係るソースコード自動生成処理のソフトウェア構成を示す機能ブロック図である。
【図６】静的リンクによるプリンタドライバ生成方法を示す工程図である。
【図７】本発明の実施例３に係る印刷可能範囲設定データ自動生成処理のソフトウェア構成を示す機能ブロック図である。
【図８】図７で生成された設定データを組み込んだドライバでの初期化処理を示す概略フローチャートである。
【実施例１】
【００１６】
図１は、２つの異なる画像形成装置での用紙に対する印刷可能範囲を示している。第１の機種での印刷可能範囲は、用紙の左上隅の点Ｐ１及び用紙の右下隅の点Ｑ１を対角点とする矩形範囲であり、点Ｐ１の左上角からの右方向（Ｘ方向）及び下方向（Ｙ方向）のオフセット量（offset_X1, offset_Y1）と、この印刷可能範囲のＸ方向の幅printable_X1及びＹ方向の幅printable_Y1で表される。同様に、第２の機種での印刷可能範囲は、オフセット量（offset_X2, offset_Y2）と、印刷可能範囲のＸ方向の幅printable_X2及びＹ方向の幅printable_Y2で表される。
【００１７】
アプリケーションが第１の装置、例えば図２の画像形成装置１０の印刷可能範囲に基づいて作成されていて、その設定を変えることができないときに、第２の装置、例えば図３の画像形成装置１１で画像形成装置１０の印刷可能範囲をエミュレートする場合について説明する。逆の場合にはエミュレートで対応できないことが明らかであるので、そのようなことは行わない。
【００１８】
本実施例１では、画像形成装置１１のプリンタドライバがプラグイン対応型のものである場合を説明する。
【００１９】
図２は、プラグイン自動生成処理のソフトウェア構成を示す機能ブロック図である。
【００２０】
プラグイン自動生成プログラム１２は、印刷可能範囲取得部１２１、データ記憶部１２２、プラグイン生成部１２３及びテンプレートファイル１２４を備えている。
【００２１】
印刷可能範囲取得部１２１は、画像形成装置１０用のプリンタドライバ１３から、オペレーティングシステムのライブラリ関数であるＧＤＩ（Graphics Device Interface）１４を介して、画像形成装置１０の印刷可能範囲の情報を取得し、これをデータ記憶部１２２に格納する。この情報には、上記offset_X1、offset_Y1、printable_X1及びprintable_Y1が含まれている。プラグイン生成部１２３はこの格納に応答して、テンプレートファイル１２４に含まれているパラメータに、この印刷可能範囲のデータを割り当てることにより、プラグインファイル１５を生成する。図２のプラグインファイル１５中に記載された関数SetPrintCaps( PaperSize)は、論理を説明するための疑似関数である。
【００２２】
図３は、このプラグインファイル１５を利用する印刷システムの概略ブロック図である。
【００２３】
プラグインファイル１５は、プリンタドライバ１６に組み込まれる。この組込は例えば、プラグインファイル１５を所定のフォルダに入れることにより行われる。
【００２４】
アプリケーション１７がＧＤＩ１８を介してプリンタドライバ１６を起動させると、プラグインファイル１５の有無に拘わらず最初に、図４に示す初期化処理が行われる。
【００２５】
（Ｓ０）プラグインファイル１５が存在しない場合の初期化処理を行う。この処理により、画像形成装置１１の印刷可能範囲が本来の値に設定される。すなわち、印刷可能範囲のオフセット量が（offset_X2, offset_Y2）、印刷可能範囲のＸ方向及びＹ方向の幅がそれぞれprintable_X2及びprintable_Y2と設定される。
【００２６】
（Ｓ１）上記所定のフォルダにプラグインファイルが含まれているか否かを調べ、含まれていればステップＳ２へ進み、そうでなければこの初期化処理を終了する。
【００２７】
（Ｓ２）プラグインファイル１５内の上記関数SetPrintCaps( PaperSize)を、画像形成装置１１で使用可能な用紙サイズの各々について呼び出す。これにより、これら用紙サイズのうちプラグインファイル１５で対処可能なものの各々について、画像形成装置１１の印刷可能範囲が画像形成装置１０のそれに書き換えられる。
【００２８】
アプリケーション１７は、描画データを、ＧＤＩ１８を介してプリンタドライバ１６に与える。プリンタドライバ１６は、上記書き換えが行われるか否かによらず、最終的に設定されたオフセット位置（offset_X, offset_Y）を用紙上の原点として、ＧＤＩ１８からのＧＤＩデータをＰＤＬデータに変換する。これにより、各描画オブジェクトについて、両ドライバのオフセット位置の差で描画位置を補正する必要はない。プリンタドライバ１６は、変換したＰＤＬデータを画像形成装置１１に送信する。画像形成装置１１は、このＰＤＬデータをディスプレイリスト（中間言語）に変換した後、ラスタライズして、用紙に画像を転写させ、出力する。
【００２９】
本実施例１によれば、画像形成装置１０の用紙上印刷可能範囲情報をそのプリンタドライバ１３から取得して、画像形成装置１１用プリンタドライバ１６に対する印刷可能範囲変更用プラグインを自動生成し、これをプリンタドライバ１６に組み込み、プリンタドライバ１６では、自身の初期化時に既定の印刷可能範囲情報を設定した後に、該組み込まれたプラグイン１５が存在すればそれを実行するので、ユーザは画像形成装置１０用プリンタドライバ１３を入手しなくても、このプリンタドライバ１３に対応して画像形成装置１１の印刷可能範囲を簡単に変更することが可能となるという効果を奏する。
【実施例２】
【００３０】
実施例１では、プラグインファイル１５内の関数を、プリンタドライバ１６に動的にリンクさせて、この関数を初期化処理で使用する場合を説明したが、この関数を静的にプリンタドライバ１６にリンクさせる方法であってもよい。本実施例２では、この静的リンクを用いている。
【００３１】
図５は、本発明の実施例２に係るソースコード自動生成処理のソフトウェア構成を示す機能ブロック図である。図２と同一構成要素には、同一符号を付してその説明を省略する。
【００３２】
ソースコード自動生成プログラム１２Ａでは、図２のプラグイン生成部１２３の代わりにソースコード生成部１２３Ａを用いて、プラグインファイル１５の代わりに印刷可能範囲変更ソースコード１５Ａを生成している。この印刷可能範囲変更ソースコード１５Ａに含まれる関数自体は、プラグインファイル１５内に含まれるものと同一である。
【００３３】
図６は、静的リンクによるプリンタドライバ１６Ａの生成方法を示す工程図である。
【００３４】
ビルダー２０は、プリンタドライバ１３のソースコード１３Ｓと、印刷可能範囲変更ソースコード１５Ａとを、ビルダー２０でコンパイルしてそれぞれのオブジェクトファイルを生成し、両者をリンカでリンクして、実行可能形式のプリンタドライバ１６Ａを生成する。
【００３５】
印刷可能範囲変更ソースコード１５Ａの関数が実行される位置は、図４の場合と同様であり、ステップＳ０の次に、ステップＳ２の代わりにこの関数が実行される。この場合、ステップＳ１は存在しない。
【００３６】
本実施例２によれば、画像形成装置１０の用紙上印刷可能範囲情報をそのプリンタドライバ１３から取得して、画像形成装置１１用プリンタドライバ１６に対する印刷可能範囲変更用関数のソースコード１５Ａを自動生成し、そのオブジェクトファイルを、プリンタドライバ１６のソースコードのそれに静的にリンクすることにより、新たなプリンタドライバ１６Ａをビルドし、プリンタドライバ１６Ａでは、自身の初期化時に既定の印刷可能範囲情報を設定した後に該関数を呼び出すので、ユーザはプリンタドライバ１３を入手しなくても、プリンタドライバ１３に対応して画像形成装置１１の印刷可能範囲を簡単に変更することが可能となるという効果を奏する。
【００３７】
また、ユーザがメーカ又はディーラから受け取ったプリンタドライバ１６Ａを実行するだけで、印刷可能範囲に関し画像形成装置１０のそれを画像形成装置１１でエミュレートすることが可能となる。
【実施例３】
【００３８】
上記実施例１及び２では、印刷可能範囲に関し、プリンタドライバ１６に関数を追加し該関数でこの範囲のデータを上書きする場合を説明したが、この関数をプリンタドライバ１６に予め備えておき、印刷可能範囲設定データファイルが存在すればこの関数を呼び出すことにより該設定データファイルの内容で印刷可能範囲を上書きする構成であってもよい。本実施例３は、この方法を用いたものである。
【００３９】
図８は、本発明の実施例３に係る印刷可能範囲設定データ自動生成処理のソフトウェア構成を示す機能ブロック図である。図２と同一構成要素には、同一符号を付してその説明を省略する。
【００４０】
設定データ自動生成プログラム１２Ｂでは、図２のプラグイン生成部１２３の代わりに、設定データファイル生成部１２３Ｂを用いて、上書き用印刷可能範囲設定データをテーブル化した印刷可能範囲設定データファイル１５Ｂを生成する。
【００４１】
図８は、プリンタドライバ１６での初期化処理を示す概略フローチャートである。ステップＳ０は、図４のそれと同一である。
【００４２】
（Ｓ１Ａ）所定のフォルダに上記範囲上書き用の印刷可能範囲設定データファイル１５Ｂが存在するか否かを調べ、存在すればステップＳ２Ａへ進み、そうでなければこの初期化処理を終了する。
【００４３】
（Ｓ２Ａ）この印刷可能範囲設定データファイル１５Ｂで、ステップＳ０で設定した印刷可能範囲を上書きする。
【００４４】
他の点は上記実施例１と同一である。
【００４５】
本実施例３によれば、画像形成装置１０の用紙上印刷可能範囲情報をそのプリンタドライバ１３から取得して、画像形成装置１１用プリンタドライバ１６に対する印刷可能範囲設定データを自動生成し、これをプリンタドライバ１６に組み込み、プリンタドライバ１６では、自身の初期化時に既定の印刷可能範囲データを設定した後に、該組み込んだ設定データが存在すればそれで該既定の印刷可能範囲データを上書きするので、ユーザは画像形成装置１０用プリンタドライバ１３を入手しなくても、このプリンタドライバに対応して画像形成装置１１の印刷可能範囲を簡単に変更することが可能となるという効果を奏する。
【００４６】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記実施例で述べた各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
【符号の説明】
【００４７】
１０、１１  画像形成装置
１２  プラグイン自動生成プログラム
１２Ａ  ソースコード自動生成プログラム
１２Ｂ  設定データ自動生成プログラム
１２１  印刷可能範囲取得部
１２２  データ記憶部
１２３  プラグイン生成部
１２３Ａ  ソースコード生成部
１２３Ｂ  設定データファイル生成部
１３Ｓ  プリンタドライバソースコード
１４、１８  ＧＤＩ
１５  プラグインファイル
１５Ａ  印刷可能範囲変更ソースコード
１５Ｂ  印刷可能範囲設定データファイル
１６、１６Ａ  プリンタドライバ
１７  アプリケーション
２０  ビルダー
【図１】
0005650068.tif 000002
【図２】
0005650068.tif 000003
【図３】
0005650068.tif 000004
【図４】
0005650068.tif 000005
【図５】
0005650068.tif 000006
【図６】
0005650068.tif 000007
【図７】
0005650068.tif 000008
【図８】
0005650068.tif 000009