JP2015090634A - プリンタドライバ及びプリンタドライバの印刷機能の追加方法 - Google Patents

プリンタドライバ及びプリンタドライバの印刷機能の追加方法 Download PDF

Info

Publication number
JP2015090634A
JP2015090634A JP2013230873A JP2013230873A JP2015090634A JP 2015090634 A JP2015090634 A JP 2015090634A JP 2013230873 A JP2013230873 A JP 2013230873A JP 2013230873 A JP2013230873 A JP 2013230873A JP 2015090634 A JP2015090634 A JP 2015090634A
Authority
JP
Japan
Prior art keywords
printticket
printer driver
print
print setting
function
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
Application number
JP2013230873A
Other languages
English (en)
Other versions
JP5825565B2 (ja
Inventor
義之 原田
Yoshiyuki Harada
義之 原田
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2013230873A priority Critical patent/JP5825565B2/ja
Priority to CN201410608423.1A priority patent/CN104636090B/zh
Priority to US14/533,032 priority patent/US9304727B2/en
Publication of JP2015090634A publication Critical patent/JP2015090634A/ja
Application granted granted Critical
Publication of JP5825565B2 publication Critical patent/JP5825565B2/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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management

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)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】印刷設定UI部にて簡便に新たな印刷機能を追加する。
【解決手段】コンピュータ装置で動作するプリンタドライバであって、前記コンピュータ装置を、印刷機能に関する情報を記述したPrintTicket(以下、PT)を生成するPrinter Driver core部、前記PTに基づいて印刷設定画面を生成して表示する印刷設定UI部、として機能させ、前記Printer Driver core部は、前記PTに情報を格納するための領域を設定した第1PTを生成し、前記印刷設定UI部は、前記印刷設定画面で入力された他の印刷機能に関する情報を記述したPTを生成し、当該PTを第1PTの前記領域に組み込んで第2PTを生成し、前記Printer Driver core部は、前記第2PTを前記印刷装置が解釈可能な第3PTに変換する。
【選択図】図12

Description

本発明は、プリンタドライバ及びプリンタドライバの印刷機能の追加方法に関し、特に、Windows(登録商標、以下省略)のオペレーティングシステム(OS:Operating System)上で動作するVersion4のプリンタドライバ及び当該プリンタドライバの印刷機能の追加方法に関する。
WindowsOS上で動作するプリンタドライバに関して、Microsoft(登録商標、以下省略)社からハードウェアメーカー向けのガイドラインが示されており、ハードウェアメーカーでは、このガイドラインに従って、Windows2000〜Windows7を想定したVersion3のプリンタドライバを提供している。
その後、WindowsOSとしてWindows8やServer2012が登場しており、特にWindows8では、UI(User Interface)がタイル状のユーザーインタフェースであるMetroスタイルに変更されたことから、ハードウェアメーカーでは、新しいプリンタドライバアーキテクチャを採用したVersion4のプリンタドライバの開発を進めている。
このVersion4のプリンタドライバモデルは、大別するとPrinter Driver core部と印刷設定UI部の2つのレイヤーで構成される。これら2つのレイヤーはプロセス分離が図られており、個別に提供することができるようになっている。
Printer Driver core部は、印刷機能を提供するアプリケーションであり、各印刷機能を定義するGPD(Generic Printer Description)/PPD(PostScript Printer Description)、XML(Extensible Markup Language)、各印刷機能の複数言語の表示文字列を定義するローカライズリソースDLL(Dynamic Link Library)などの構成ファイル、レンダリング時に描画命令の編集を行う印刷フィルタ、印刷機能の設定の競合を処理する禁則JavaScript(登録商標、以下省略)部などのモジュールから構成されている。
また、印刷設定UI部は、Printer Driver core部から独立したアプリケーションであり、Printer Driver core部から提供されるPrintCapabilitiesと呼ばれる印刷機能情報と、PrintTicketと呼ばれる印刷設定情報とを元にして印刷設定画面の提供を行う。
PrintCapabilitiesはXML形式で記述されており、各印刷機能の定義が行われている。具体的には、PrintCapabilitiesは、単一選択の機能(複数の選択肢の中から1つを選択する機能)の場合には、Feature(機能)、Option(選択肢)、機能や選択肢の表示文字列が記述され、文字列入力を行う機能の場合には、Parameter、最大文字数や最小文字数などの属性、パラメータ名の表示文字列などが記述される。
PrintTicketはXML形式で記述されており、印刷設定情報を保持する。PrintTicketの形式(XMLのエレメント)はPrinter Driver core部で定義される。そして、GPD/PPDファイルで定義された情報を元に、OSが自動でXMLエレメントを追加したり、禁則JavaScript部内の関数でXMLエレメントを追加したりする。また、PrintTicketの内容はPrinter Driver core部でDEVMODE構造体と呼ばれるデータ構造体へ変換される。
このようなVersion4のプリンタドライバモデルに関する技術として、例えば、下記特許文献1には、外部装置と通信ネットワークを介して接続される情報処理装置であって、他の情報処理装置から、当該他の情報処理装置に設定されている表示プログラムの表示形式を示す情報とステータスの種別を示す情報とがともに指定された要求を受信する受信手段と、前記要求に含まれるステータスの種別を示す情報に基づき、当該種別に対応するステータスの値を前記外部装置から取得するステータス取得手段と、前記要求に含まれる表示プログラムの表示形式を示す情報に対応するリソース情報を取得するリソース取得手段と、前記受信手段で受信した要求の応答として、前記リソース取得手段により取得されたリソース情報と前記種別に対応するステータスの値とに従うステータス情報を、前記他の情報処理装置に対して送信する送信手段とを有する情報処理装置が開示されている。
特開2011−023019号公報
上述したように、Version4のプリンタドライバではPrinter Driver core部と印刷設定UI部とは独立しているため、新たに印刷機能を追加する場合は、Printer Driver core部と印刷設定UI部の双方を修正して整合を図る必要があり、簡便に印刷機能を追加することができないという問題がある。
すなわち、上述したようにPrintTicketの形式はPrinter Driver core部で定義されるため、印刷設定UI部でPrintTicketの編集を行って新たな印刷機能を追加したとしても、追加された印刷機能はPrinter Driver core部で認識されず、Printer Driver core部でPrintTicketの内容をDEVMODE構造体に変換する際に破棄されてしまう。
従って、印刷機能を追加するは、Printer Driver core部の修正(C言語等で記述されたプログラム本体の修正など)が必要になるが、Printer Driver core部を修正するためには、WHCK(Windows Hardware Certification Kit)のログ取りなどが必要になり、多大な工数が発生する。
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、簡便に新たな印刷機能を追加することができるプリンタドライバ及びプリンタドライバの印刷機能の追加方法を提供することにある。
本発明の一側面は、印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバであって、前記コンピュータ装置を、印刷機能に関する情報を記述したPrintTicketを生成するPrinter Driver core部、前記PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる印刷設定UI部、として機能させ、前記Printer Driver core部は、前記PrintTicketに、情報を格納するための領域を定義した第1PrintTicketを生成して、前記印刷設定UI部に通知し、前記印刷設定UI部は、前記第1PrintTicketに基づく印刷設定画面で入力された他の印刷機能に関する情報を記述したPrintTicketを生成し、当該PrintTicketを前記第1PrintTicketの前記領域に組み込んだ第2PrintTicketを生成して、前記Printer Driver core部に通知し、前記Printer Driver core部は、前記第2PrintTicketを前記印刷装置が解釈可能な第3PrintTicketに変換することを特徴とする。
本発明の一側面は、印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバの印刷機能の追加方法であって、印刷機能に関する情報を記述したPrintTicketを生成する第1ステップと、前記PrintTicketに、情報を格納するための領域を定義して、第1PrintTicketを生成する第2ステップと、前記第1PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる第3ステップと、前記印刷設定画面で入力された他の印刷機能に関する情報を記述したPrintTicketを生成し、当該PrintTicketを前記第1PrintTicketの前記領域に組み込んで第2PrintTicketを生成する第4ステップと、前記第2PrintTicketを前記印刷装置が解釈可能な第3PrintTicketに変換する第5ステップと、を実行することを特徴とする。
本発明のプリンタドライバ及びプリンタドライバの印刷機能の追加方法によれば、簡便に新たな印刷機能を追加することができる。
その理由は、Printer Driver core部と印刷設定UI部とを備えるプリンタドライバを用いて新たな印刷機能を追加する際、Printer Driver core部は、印刷機能を追加するための領域を定義した第1PrintTicketを生成して印刷設定UI部に送り、印刷設定UI部は新たな印刷機能に関する情報を記述したPrintTicketを生成し、当該PrintTicketを第1PrintTicketの定義された領域に組み込んで第2PrintTicketを生成してPrinter Driver core部に送り、Printer Driver core部は、第2PrintTicketを、印刷装置で解釈可能な第3PrintTicketに変換する制御を行うからである。
また、Printer Driver core部は、印刷機能を追加するための領域を定義した第1PrintTicketを生成して印刷設定UI部に送り、印刷設定UI部は新たな印刷機能に関する情報を記述したPJL(Printer Job Language)コマンドを生成し、当該PJLコマンドを第1PrintTicketの定義された領域に組み込んで第2PrintTicketを生成してPrinter Driver core部に送り、Printer Driver core部は、第2PrintTicketを、印刷装置で解釈可能なPrintTicketに変換する制御を行うからである。
また、Printer Driver core部は、印刷機能を追加するための領域を定義した第1PrintTicketを生成して印刷設定UI部に送り、印刷設定UI部は新たな印刷機能に関する情報を記述した第1PJLコマンドを生成し、当該第1PJLコマンドを第1PrintTicketの定義された領域に組み込んで第2PrintTicketを生成してPrinter Driver core部に送り、Printer Driver core部は、第2PrintTicketを、印刷装置で解釈可能な第2PJLコマンドに変換する制御を行うからである。
本発明の実施例1に係る印刷システムの構成を模式的に示す図である。 本発明の実施例1に係るコンピュータ装置の構成を示すブロック図である。 本発明の実施例1に係るコンピュータ装置の機能を示すブロック図である。 本発明の実施例1に係るGPDファイルの一例である。 本発明の実施例1に係るDevModeMap.xmlの一例である。 本発明の実施例1に係る禁則JavaScript部が実行する処理を記述した構文の一例である。 本発明の実施例1に係る印刷設定UI部によって表示される印刷設定画面の一例である。 本発明の実施例1に係るプリンタドライバの処理を示すフローチャート図である。 本発明の実施例1に係るコンピュータ装置の機能間のデータの流れ(XPS印刷パスの場合)を示すシーケンス図である。 本発明の実施例1に係るコンピュータ装置の機能間のデータの流れ(GDI印刷パスの場合)を示すシーケンス図である。 本発明の実施例1に係るPrintTicket(0)の一例である。 本発明の実施例1に係るPrintTicket(1)の一例(PrintTicket(0)に領域を定義した状態)である。 本発明の実施例1に係るPrintTicket(2)の一例(PrintTicket(1)の領域に新たな印刷機能を規定するPrintTicketをCDATA形式で組み込んだ状態)である。 本発明の実施例1に係るPrintTicket(3)の一例(PrintTicket(2)を印刷装置で解釈可能に変換した状態)である。 本発明の実施例1に係るPrintTicketとDEVMODE構造体の相互変換の一例である。 本発明の実施例2に係るプリンタドライバの処理を示すフローチャート図である。 本発明の実施例3に係るプリンタドライバの処理を示すフローチャート図である。
背景技術で示したように、ハードウェアメーカーによりWindowsOSに応じたプリンタドライバが提供されており、新たなWindowsOSであるWindows8やServer2012向けに、Version4のプリンタドライバの開発が行われている。このVersion4のプリンタドライバは、Printer Driver core部と印刷設定UI部の2つのレイヤーから構成されており、Printer Driver core部と印刷設定UI部の関係は「V4 Printer Driver White Paper」(http://msdn.microsoft.com/library/windows/hardware/br259124)などに記載されている。
この「V4 Printer Drover White Paper」によれば、印刷設定の定義はPrinter Driver core部(GPD/PPDファイル、JavaScript、Constraints)にて実施し、その結果としてPrintTicket及びPrintCapabilitiesが生成される。そして、Printer Driver core部と印刷設定UI部とのやり取りは、このPrintTicket、PrintCapabilities及びプロパティバッグにて行われる。
そのため、印刷機能の追加は必ずPrinter Driver core部にて行う必要があり、仮に印刷設定UI部でPrintTicketに新たな印刷機能の設定値をノードに追加したとしても、Printer Driver core部にてその印刷機能が定義されていないと、実際の印刷処理を行うまでの過程でPrintTicketに追加された情報が破棄されてしまうため出力には反映されない。すなわち、印刷機能の追加を行う際にはPrinter Driver core部の修正が必要になるが、Printer Driver core部の修正には多大な工数を必要とするため、簡便に印刷機能を追加することができないという問題があった。
上記問題は、Printer Driver core部と印刷設定UI部が別のレイヤーとして構成されるVersion4のプリンタドライバモデルにおいて新たに生じる問題であり、このようなVersion4のプリンタドライバの開発に当たって、上記問題を解決する手法が求められている。
そこで、本発明の一実施の形態では、印刷設定UI部にて印刷機能の追加ができるようにするために、Printer Driver core部でPrintTicketを生成する際に、PrintTicketに印刷機能を追加するための領域を定義する。そして、印刷設定UI部は印刷機能を記述したPrintTicketやPJLを生成し、Printer Driver core部から受け取ったPrintTicketの定義された領域に印刷設定UI部で生成したPrintTicketやPJLを組み込む。その後、Printer Driver core部では、組み込まれたPrintTicketやPJLを解釈し、印刷装置が解釈可能なPrintTicketやPJLに変換し、変換したPrintTicketやPJLを印刷装置に送信して印刷を指示する。
これにより、Printer Driver core部の修正(プログラム本体の修正)を行うことなく、データの追加やJavaScriptの記述の追加によってPrintTicketに情報を格納するための領域を定義するだけで、印刷設定UI部にて新たな印刷機能を追加することができる。
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例1に係るプリンタドライバ及びプリンタドライバの印刷機能の追加方法について、図1乃至図15を参照して説明する。図1は、本実施例の印刷システムの構成を模式的に示す図であり、図2は、本実施例のコンピュータ装置の構成を示すブロック図、図3は、コンピュータ装置の機能を示すブロック図である。また、図4は、GPDファイルの一例、図5は、DevModeMap.xmlの一例であり、図6は、禁則JavaScript部が実行する処理を記述した構文の一例である。また、図7は、印刷設定画面の一例であり、図8は、本実施例のプリンタドライバの処理を示すフローチャート図、図9及び図10は、本実施例のコンピュータ装置の機能間のデータの流れを示すシーケンス図である。また、図11乃至図14は、PrintTicketの一例であり、図15は、PrintTicketとDEVMODE構造体の相互変換の一例である。
図1に示すように、本実施例の印刷システムは、印刷指示に従って印刷処理を実行する印刷装置10と、印刷指示を行う印刷指示装置(コンピュータ装置20と呼ぶ。)とで構成され、これらはLAN(Local Area Network)やWAN(Wide Area Network)などの通信ネットワークを介して接続されている。
印刷装置10は、XPS(XML Paper Specification)形式の文書を印刷可能なプリンタやMFP(Multi Function Peripheral)などであり、コンピュータ装置20から送信される印刷データを解析し、印刷データの各ページをラスタライズしてページ毎の画像データを生成し、電子写真方式や静電記録方式等の作像プロセスを利用して画像データに基づく画像を用紙に印刷する機能を備えている。
また、コンピュータ装置20は、パーソナルコンピュータやWindowsOS上で動作するモバイル機器(スマートフォンやタブレット端末)などであり、図2に示すように、制御部21と、記憶部22と、通信I/F部23と、表示部24と、操作部25などで構成される。
制御部21は、CPU(Central Processing Unit)21aと、ROM(Read Only Memory)21bやRAM(Random Access Memory)21cなどのメモリとで構成される。CPU21aは、コンピュータ装置20の動作を制御するためのプログラム、OS(本実施例では、Version4のプリンタドライバが動作可能なWindowsOS)、アプリケーション、印刷装置10を制御するプリンタドライバ(本実施例では、Printer Driver core部と印刷設定UI部とが別レイヤーで構成されるVersion4のプリンタドライバ)をROM21b又は記憶部22から読み出してRAM21cに展開し実行する。なお、アプリケーション、Printer Driver core部、印刷設定UI部については後述する。
記憶部22は、HDD(Hard Disk Drive)などで構成され、プログラムや文書データ、印刷データなどを記憶する。
通信I/F部23は、NIC(Network Interface Card)やモデムなどで構成され、無線ネットワークや有線ネットワークを介して、印刷装置10とのデータ通信を行う。
表示部24は、LCD(Liquid Crystal Display)などで構成され、アプリケーションの画面や印刷設定UI部で生成された印刷設定画面などを表示する。
操作部25は、マウスやキーボード、表示部24上に形成されたタッチセンサなどで構成され、文書の作成や印刷装置10の印刷機能の設定等の操作を可能にする。
図3は、コンピュータ装置20の制御部21の機能を示すブロック図である。コンピュータ装置20の制御部21は、アプリケーション30、Printer Driver core部40、印刷設定UI部50などとして機能する。
アプリケーション30は、OS上で動作するプログラム(例えば、WindowsOS上で動作するMicrosoft Officeなど)であり、印刷対象となる文書データを作成する。
Printer Driver core部40は、OS上で動作するプログラムであり、アプリケーション30、印刷設定UI部50と連動して、印刷装置10に印刷指示を行う。このPrinter Driver core部40は、GPDファイル41、DevModeMap.xml42、構成処理部43、禁則JavaScript部44、レンダリング処理部45、印刷フィルタ46などで構成される。
GPDファイル41は、構成ファイルの一つであり、印刷装置10の各印刷機能を定義する。DevModeMap.xml42は、DEVMODE構造体(Microsoft社によって規定された、印刷機能に関する情報を格納するための構造体)のPrivate領域(各プリンタベンダが自由に定義することのできる領域)にデータの保存領域を定義する。構成処理部43は、GPDファイル41及びDevModeMap.xml42を元に、XML形式にてユーザが設定可能な印刷機能の設定項目と設定可能な設定値とが記述されたPrintCapabilities(印刷機能情報)の生成、PrintCapabilitiesに記述されている設定値の中からユーザが選択した設定値を記述したPrintTicket(印刷設定情報)の生成、及び禁則JavaScript部44の呼び出しを行う。
禁則JavaScript部44は、PrintTicket/PrintCapabilitiesに対して、印刷機能の設定の競合を処理する。例えば、第1の機能(面付け機能など)の設定と第2の機能(パンチの機能など)の設定とが両立しない場合に、一方の機能の設定を他方の機能の設定と両立するように変更する。また、禁則JavaScript部44は、JavaScriptを用いたPrintTicket/PrintCapabilitiesの編集を可能にする。レンダリング処理部45は、アプリケーション30からの印刷命令を印刷装置10にて解釈可能な言語に変換する。印刷フィルタ46は、レンダリング時に描画命令や印刷制御コマンドの編集を行う。例えば、定義された領域に印刷機能が文字列で追加されたPrintTicketを印刷装置10が解釈可能なPrintTicketに編集する。
印刷設定UI部50は、OS上で動作するプログラムであり、PT/PC処理部51、双方向通信処理部52、UI処理部53などで構成される。
PT/PC処理部51は、Printer Driver core部40から取得したPrintTicket/PrintCapabilitiesを処理(解釈)する。また、PT/PC処理部51は、印刷設定画面60で設定された情報に基づいて印刷機能を規定するPrintTicketを生成し、Printer Driver core部40から取得したPrintTicketに、生成したPrintTicketを組み込んでPrinter Driver core部40に返す。双方向通信処理部52は、印刷装置10と双方向通信を行い、印刷装置10の能力情報の取得を行う。UI処理部53は、PT/PC処理部51が解釈した、PrintTicket/PrintCapabilitiesの内容や双方向通信で取得した能力情報を元に印刷設定画面60の生成及び表示部24への表示を行う。
なお、本実施例では、印刷機能を定義する構成ファイルとしてGPDファイル41を使用する場合について説明するが、PPDファイルを使用する場合についても、本実施例の印刷機能の追加方法を同様に適用することができる。
以下、どのように機能を定義するかについて、データの具体的な記述例を参照して説明する。
図4は、GPDファイル41の一例である。図中の「*Feature:」にて、印刷機能の定義を行う。また、「*Feature:」の下位要素の「*Option:」にて、各印刷機能の設定値の定義を行う。この例では、Orientation、PaperSizeの印刷設定の定義を行っている。
図5は、DevModeMap.xml42の一例である。この例では、「<Property Name="JobPTExtra">」、「<String Length="2048"></String>」にて領域の定義を行っている。ここでは、識別子はJobPTExtra、データ型は文字列型、サイズは2048文字の領域を定義している。なお、Propertyエレメントを追加することで複数の領域を定義することが可能である。
図6は、禁則JavaScript部44が実行する処理を記述した構文の一例である。convertPrintTicketToDevMode関数は、図15に示す「PrintTicketとDEVMODE構造体の相互変換」において、PrintTicketの「ParameterInit:JobPTExtra」の「Value」の値をDEVMODE構造体のPrivate(2)の「JobPTExtra」に設定する処理を行う。また、convertDevModeToPrintTicket関数は、PrintTicketにJobPTExtraのノードの追加を行っている。この処理によって、図11に示すPrintTicket(0)に、<psf:ParameterInit name="ns0000:JobPTExtra">〜</psf:ParameterInit>のノードが追加され、図12に示すPrintTicket(1)が生成される(図の破線枠内参照)。また、convertDevModeToPrintTicket関数は、図15に示す「PrintTicketとDEVMODE構造体の相互変換」において、DEVMODE構造体のPrivate(2)の「JobPTExtra」の値をPrintTicketの「ParameterInit:JobPTExtra」の「Value」に設定する処理を行う。
図7は、印刷設定画面60の一例である。ここでは、印刷設定UI部50にて追加する印刷機能である「ユーザID」、「パスワード」の欄が設けられている。これらの欄の設定内容に従って、PT/PC処理部51は印刷制御コマンドとしてPrintTicketを生成し、生成したPrintTicketを、図12に示すPrintTicket(1)の「ParameterInit:JobPTExtra」の「Value」、すなわち<psf:Value xsi:type="xsd:string">と</psf:Value>の間にCDATA形式で追加(「<![CDATA〜]]>」を追加)し、図13に示すPrintTicket(2)を生成する(図の破線枠内参照)。
そして、図13に示すPrintTicket(2)は、Printer Driver core部40(印刷フィルタ46)によって印刷装置10が解釈可能なPrintTicket(図14に示すPrintTicket(3)、図の破線枠内参照)に変換され、このPrintTicket(3)により印刷装置10に対して印刷指示が行われる。
以下、本実施例のコンピュータ装置20の処理(XPS印刷パス)について説明する。CPU21aは、ROM21b又は記憶部22に記憶したプリンタドライバをRAM21cに展開して実行することにより、図8のフローチャート図及び図9のシーケンス図に示す各処理を実行する。なお、図9は、アプリケーション30とプリンタドライバ(Printer Driver core部40)とがXPS形式でやり取りを行う場合の例である。
まず、アプリケーション30は、Printer Driver core部40に対して、図9の「1.PrintTicket取得」の要求を行う。Printer Driver core部40(構成処理部43)は、図9の「1.1.PrintTicket生成」において、GPDファイルの定義を元に、図11に示すPrintTicket(0)を生成する(図8のS101)。そして、Printer Driver core部40(禁則JavaScript部44)は、図9の「1.2.PrintTicketにJobPTExtra追加」処理において、DevModeMap.xml42の記述に基づき、convertDevModeToPrintTicket関数により、PrintTicket(0)に、<psf:ParameterInit name="ns0000:JobPTExtra">〜</psf:ParameterInit>のノード追加処理を行い、図12に示すPrintTicket(1)を生成する(図8のS102)。そして、生成したPrintTicket(1)をアプリケーション30に通知する。
次に、アプリケーション30は、図9の「2.印刷設定」を行う際に、予め取得したPrintTicket(1)を引数として印刷設定UIの表示を指示する。印刷設定UI部50(PT/PC処理部51)は、PrintTicket(1)を解釈し、印刷設定UI部50(双方向通信処理部52)は、印刷装置10本体と双方向通信を行って、「2.1.1.装置情報取得」を行う。これによって印刷装置10本体が持つ能力情報の取得を行う。
次に、図9の「2.1.2.UI表示」にて、印刷設定UI部50(UI処理部53)は、PT/PC処理部51)が」解釈したPrintTicket(1)と双方向通信処理部52が取得した印刷装置10の能力情報とに基づいて、図7に示す印刷設定UI画面40を表示部24に表示し、ユーザに印刷設定を行わせる。そして、ユーザによる印刷設定が完了すると、PrintTicketの更新を行う。その際に、印刷設定UI部50(PT/PC処理部51)は、印刷設定UI画面40の設定内容に従って、追加した印刷機能に関する情報を記述したPrintTicketを生成し(図8のS103)、図9の「2.1.3.JobPTExtraのValueに値を設定」処理において、図12のPrintTicket(1)の「ParameterInit:JobPTExtra」の「Value」に、生成したPrintTicketをCDATA形式で追加(マークアップの記号ではなく文字として追加)し、図13のPrintTicket(2)を生成する(図8のS104)。このPrintTicket(2)の状態では、追加した印刷機能のPrintTicket内の<psf:ParameterInit name="ns0000:AuthUserID">〜</psf:ParameterInit>、<psf:ParameterInit name="ns0000:AuthPassword">〜</psf:ParameterInit>は文字列要素に設定された文字列という扱いになるため、印刷装置10にて解釈が不能な状態である。その後、PrintTicket(2)はPrinter Driver core部40を経由してアプリケーション30に返却される。
次に、アプリケーション30は、図9の「3.印刷」を行う際に、引数としてPrintTicket(2)とXPS形式の描画データをPrinter Driver core部40に渡す。Printer Driver core部40(印刷フィルタ46)は、図9の「3.1のJobPTExtraのValueをPTに追加」処理において、図13のPrintTicket(2)の「ParameterInit:JobPTExtra」の「Value」にCDATA形式で設定されている情報を、印刷装置10が解釈可能なPrintTicketとして読み込み、PrintTicketのルートレベルに移動し、PrintTicket(2)の<psf:ParameterInit name="ns0000:JobPTExtra">以下のノードを削除し、読み込んだPrintTicketを書き込むといった処理を行って、図13に示すPrintTicket(3)に変換する(図8のS105)。このPrintTicket(3)では、追加した印刷機能のPrintTicket内の<psf:ParameterInit name="ns0000:AuthUserID">〜</psf:ParameterInit>、<psf:ParameterInit name="ns0000:AuthPassword">〜</psf:ParameterInit>は印刷装置10にて解釈可能な状態となる。
その後、図9の「3.2.印刷」処理にてPrintTicket(3)とXPS形式の描画データが印刷装置10に送信され、印刷装置10にて印刷機能を追加したPrintTicket(3)が解釈されて出力される。
なお、図9では、アプリケーション30とプリンタドライバ(Printer Driver core部40)とがXPS形式でやり取りを行う場合(XPS印刷パス)を示したが、図10に示すようにアプリケーション30とプリンタドライバ(Printer Driver core部40)とがGDI(Graphics device interface:WindowsOSに搭載されているグラフィックス処理を行うプログラム)を介してやり取りを行うこともできる。この場合の基本的な処理の流れは図9のXPS印刷パスと同様であるが、図10のGDI印刷パスの場合には、アプリケーション30とPrinter Driver core部40とのやり取りに際して、PrintTicketではなくWindowsOSが利用可能なDEVMODE構造体で処理を行う必要があるため、「PrintTicket to DEVMODE処理」、「DEVMODE to PrintTicket処理」が追加される。
具体的には、図10の「1.2.PrintTicketにJobPTExtra追加」処理の後に、Printer Driver core部40(禁則JavaScript部44)によって「1.3.PrintTicket to DEVMODE」処理が行われ、アプリケーション30には、PrintTicket(1)ではなくPrintTicket(1)をDEVMODE構造体に変換したDEVMODE(1)を通知する。また、「2.印刷設定」処理に際して、Printer Driver core部40(禁則JavaScript部44)によって「2.1.DEVMODE to PrintTicket」処理が行われ、印刷設定UI部50には、PrintTicket(1)が通知される。
同様に、「2.2.3.JobPTExtraのValueに値を設定」処理の後に、Printer Driver core部40(禁則JavaScript部44)によって「2.3.PrintTicket to DEVMODE」処理が行われ、アプリケーション30には、PrintTicket(2)ではなくPrintTicket(2)をDEVMODE構造体に変換したDEVMODE(2)を通知する。また、「3.印刷」処理に際して、Printer Driver core部40(禁則JavaScript部44)によって「3.1.DEVMODE to PrintTicket」処理が行われ、DEVMODE構造体をPrintTicket(2)に変換した後、「3.2.JobPTExtraのValueをPTに追加」処理が行われ、印刷装置10には、PrintTicket(3)が通知される。
図14は、上述したPrintTicketとDEVMODE構造体の相互変換の概略を示している。DEVMODE構造体は、Microsoft社が構造を定義する各ベンダー共通のPublic部と、ベンダーが独自に構造を定義できるPrivate部に分かれる。GPDファイルにて定義した内容によって、DEVMODE構造体のPublic部及びPrivate(1)部に領域が自動で確保される。また、DevModeMap.xml42の定義を元に、Private(2)部に領域が確保される。
そして、相互変換においては、PrintTicketとDEVMODE構造体のPublic部及びPrivate(1)部の間での相互変換は自動で行われる。Private(2)部とPrintTicketの相互変換は、禁則JavaScript部44のconvertPrintTicketToDevMode関数及びconvertDevModeToPrintTicket関数にて変換が行われる。
以上説明したように、新たな印刷機能を追加する場合、Printer Driver core部40は、印刷機能を追加するための領域を定義したPrintTicket(1)を生成して印刷設定UI部50に送り、印刷設定UI部50は新たな印刷機能に関する情報を記述したPrintTicketを生成し、PrintTicket(1)の定義された領域に生成したPrintTicketを組み込んでPrintTicket(2)を生成してPrinter Driver core部40に送り、Printer Driver core部40は、PrintTicket(2)を印刷装置10で解釈可能なPrintTicket(3)に変換して印刷装置10に送信する制御を行うことにより、簡便に新たな印刷機能を追加することができるようになる。
次に、本発明の実施例2に係るプリンタドライバ及びプリンタドライバの印刷機能の追加方法について、図16を参照して説明する。図16は、本実施例のプリンタドライバの処理を示すフローチャート図である。
なお、本実施例の印刷システムの基本構成は前記した実施例1と同様であるが、本実施例では、印刷設定UI部50のPT/PC処理部51は、新たな印刷機能をPCL(Printer Control Language)やPS(Post Script:アドビシステムが開発したページ記述言語)などのPJLコマンドで記述し、PrintTicketの定義された領域に印刷制御コマンドとしてPJLコマンドを組み込み、Printer Driver core部40は、PJLコマンドを組み込んだPrintTicketを印刷装置10で解釈可能なPrintTicketに変換することを特徴とする。
以下、本実施例のコンピュータ装置20の処理について説明する。CPU21aは、ROM21b又は記憶部22に記憶したプリンタドライバをRAM21cに展開して実行することにより、図16のフローチャート図に示す各処理を実行する。
まず、アプリケーション30は、Printer Driver core部40に対してPrintTicket取得要求を行う。Printer Driver core部40(構成処理部43)は、GPDファイルの定義を元に、PrintTicket(0)(図11参照)を生成する(図16のS201)。そして、Printer Driver core部40(禁則JavaScript部44)は、DevModeMap.xml42の記述に基づき、convertDevModeToPrintTicket関数により、PrintTicket(0)にノード追加処理を行い、PrintTicket(1)(図12参照)を生成する(図16のS202)。そして、生成したPrintTicket(1)をアプリケーション30に通知する。
次に、アプリケーション30は、PrintTicket(1)を引数として印刷設定UIの表示を指示する。印刷設定UI部50(PT/PC処理部51)は、PrintTicket(1)を解釈し、印刷設定UI部50(双方向通信処理部52)は、印刷装置10本体と双方向通信を行って、印刷装置10本体が持つ能力情報の取得を行う。そして、印刷設定UI部50(UI処理部53)は、印刷設定UI画面40(図7参照)を表示部24に表示し、ユーザに印刷設定を行わせる。ユーザによる設定が完了すると、印刷設定UI部50(PT/PC処理部51)は、印刷設定UI画面40の設定内容に従って、追加した印刷機能を規定するPJLコマンドを生成し(図16のS203)、PrintTicket(1)に生成したPJLコマンドを組み込む(図16のS204)。その後、PJLコマンドを組み込んだPrintTicket(1)はPrinter Driver core部40を経由してアプリケーション30に返却される。
次に、アプリケーション30は、PJLコマンドを組み込んだPrintTicket(1)とXPS形式の描画データを引数として印刷を指示する。Printer Driver core部40(印刷フィルタ46)は、PJLコマンドを組み込んだPrintTicket(1)を読み込み、印刷装置10にて解釈可能なPrintTicketに変換する(図16のS205)。その後、Printer Driver core部40からそのPrintTicketと描画データが印刷装置10に送信され、印刷装置10にて印刷機能を追加したPrintTicketが解釈されて出力される。
このように、印刷設定UI部50が追加した印刷機能を規定する印刷制御コマンドとしてPJLコマンドを生成し、Printer Driver core部40がPJLコマンドを組み込んだPrintTicketを印刷装置10が解釈可能なPrintTicketに変換することによっても、実施例1と同様に、簡便に新たな印刷機能を追加することができる。
本実施例においても、印刷機能を定義する構成ファイルとしてGPDファイル41に代えてPPDファイルを使用することができる。また、アプリケーション30とプリンタドライバ(Printer Driver core部40)とがGDIを介してやり取りを行うこともでき、この場合は、実施例1と同様に「PrintTicket to DEVMODE処理」、「DEVMODE to PrintTicket処理」を追加して、PrintTicketとDEVMODE構造体の相互変換を行えばよい。
次に、本発明の実施例3に係るプリンタドライバ及びプリンタドライバの印刷機能の追加方法について、図17を参照して説明する。図17は、本実施例のプリンタドライバの処理を示すフローチャート図である。
なお、本実施例の印刷システムの基本構成も前記した実施例1と同様であるが、本実施例では、印刷装置10は、XPS形式の印刷データを処理する機能を持たず、PJLで記述された印刷データを処理可能であるとし、印刷設定UI部50のPT/PC処理部51は、新たな印刷機能を規定するPJLコマンドを生成し、PrintTicketにPJLコマンドを組み込み、Printer Driver core部40は、PJLコマンドが組み込まれたPrintTicketを印刷装置10で処理可能なPJLコマンドに変換することを特徴とする。
以下、本実施例のコンピュータ装置20の処理について説明する。CPU21aは、ROM21b又は記憶部22に記憶したプリンタドライバをRAM21cに展開して実行することにより、図17のフローチャート図に示す各処理を実行する。
まず、アプリケーション30は、Printer Driver core部40に対してPrintTicket取得要求を行う。Printer Driver core部40(構成処理部43)は、GPDファイルの定義を元に、PrintTicket(0)(図11参照)を生成する(図17のS301)。そして、Printer Driver core部40(禁則JavaScript部44)は、DevModeMap.xml42の記述に基づき、convertDevModeToPrintTicket関数により、PrintTicket(0)にノード追加処理を行い、PrintTicket(1)(図12参照)を生成する(図17のS302)。そして、生成したPrintTicket(1)をアプリケーション30に通知する。
次に、アプリケーション30は、PrintTicket(1)を引数として印刷設定UIの表示を指示する。印刷設定UI部50(PT/PC処理部51)は、PrintTicket(1)を解釈し、印刷設定UI部50(双方向通信処理部52)は、印刷装置10本体と双方向通信を行って、印刷装置10本体が持つ能力情報の取得を行う。そして、印刷設定UI部50(UI処理部53)は、印刷設定UI画面40(図7参照)を表示部24に表示し、ユーザに印刷設定を行わせる。ユーザによる設定が完了すると、印刷設定UI部50(PT/PC処理部51)は、印刷設定UI画面40の設定内容に従って、追加した印刷機能を規定するPJLコマンド(PJL(1)コマンドとする。)を生成し(図17のS303)、PrintTicket(1)に生成したPJL(1)コマンドを組み込む(図17のS304)。その後、PJL(1)コマンドを組み込んだPrintTicket(1)はPrinter Driver core部40を経由してアプリケーション30に返却される。
次に、アプリケーション30は、PJL(1)コマンドを組み込んだPrintTicket(1)と描画データを引数として印刷を指示する。Printer Driver core部40(印刷フィルタ46)は、PJL(1)コマンドを組み込んだPrintTicket(1)を読み込み、印刷装置10にて解釈可能なPJLコマンド(PJL(2)コマンドとする。)を生成する(図17のS305)。その後、Printer Driver core部40からPJL(2)コマンドと描画データが印刷装置10に送信され、印刷装置10にて印刷機能を追加したPJL(2)コマンドが解釈されて出力される。
このように、印刷設定UI部50が追加した印刷機能を規定する印刷制御コマンドとしてPJLコマンドを生成し、Printer Driver core部40がPJLコマンドを組み込んだPrintTicketを印刷装置10が解釈可能なPJLコマンドに変換することによっても、実施例1と同様に、簡便に新たな印刷機能を追加することができる。
本実施例においても、印刷機能を定義する構成ファイルとしてGPDファイル41に代えてPPDファイルを使用することができる。また、アプリケーション30とプリンタドライバ(Printer Driver core部40)とがGDIを介してやり取りを行うこともでき、この場合は、実施例1と同様に「PrintTicket to DEVMODE処理」、「DEVMODE to PrintTicket処理」を追加して、PrintTicketとDEVMODE構造体の相互変換を行えばよい。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、プリンタドライバの構成や印刷機能の追加方法は適宜変更可能である。
本発明は、WindowsOS上で動作するプリンタドライバ、特に、Version4のプリンタドライバ及び当該プリンタドライバを記録した記録媒体並びに当該プリンタドライバを用いた機能追加方法に利用可能である。
10 印刷装置
20 コンピュータ装置
21 制御部
21a CPU
21b ROM
21c RAM
22 記憶部
23 通信I/F部
24 表示部
25 操作部
30 アプリケーション
40 Printer Driver core部
41 GPDファイル
42 DevModeMap.xml
43 構成処理部
44 禁則JavaScript部
45 レンダリング処理部
46 印刷フィルタ
50 印刷設定UI部
51 PT/PC処理部
52 双方向通信制御部
53 UI処理部
60 印刷設定画面

Claims (15)

  1. 印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバであって、
    前記コンピュータ装置を、
    印刷機能に関する情報を記述したPrintTicketを生成するPrinter Driver core部、
    前記PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる印刷設定UI部、として機能させ、
    前記Printer Driver core部は、前記PrintTicketに、情報を格納するための領域を定義した第1PrintTicketを生成して、前記印刷設定UI部に通知し、
    前記印刷設定UI部は、前記第1PrintTicketに基づく印刷設定画面で入力された他の印刷機能に関する情報を記述したPrintTicketを生成し、当該PrintTicketを前記第1PrintTicketの前記領域に組み込んだ第2PrintTicketを生成して、前記Printer Driver core部に通知し、
    前記Printer Driver core部は、前記第2PrintTicketを前記印刷装置が解釈可能な第3PrintTicketに変換する、
    ことを特徴とするプリンタドライバ。
  2. 前記印刷設定UI部は、前記第1PrintTicketの前記領域に、前記他の印刷機能に関する情報を文字列で記述し、
    前記Printer Driver core部は、前記文字列を解釈してPrintTicketの形式に変換する、
    ことを特徴とする請求項1に記載のプリンタドライバ。
  3. 前記Printer Driver core部は、PrintTicketの編集を行う禁則JavaScript(登録商標)部を有し、
    前記禁則JavaScript(登録商標)部は、DEVMODE構造体のPrivate領域に予め記述された情報を、予め定義された関数を用いて変換して前記PrintTicketに書き込むことによって、前記領域を定義する、
    ことを特徴とする請求項1又は2に記載のプリンタドライバ。
  4. 前記Printer Driver core部が、GDI(Graphics device interface)によって、印刷対象の文書を作成するアプリケーションとの情報交換を行う際に、前記禁則JavaScript(登録商標)部は、予め定義された関数を用いて、PrintTicketとDEVMODE構造体との相互変換を行う、
    ことを特徴とする請求項3に記載のプリンタドライバ。
  5. 前記印刷設定UI部は、前記印刷装置の能力情報を取得する双方向通信部を有し、前記第1PrintTicketと前記能力情報とに基づいて、前記印刷設定画面を生成する、
    ことを特徴とする請求項1乃至4のいずれか一に記載のプリンタドライバ。
  6. 印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバであって、
    前記コンピュータ装置を、
    印刷機能に関する情報を記述したPrintTicketを生成するPrinter Driver core部、
    前記PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる印刷設定UI部、として機能させ、
    前記Printer Driver core部は、前記PrintTicketに、情報を格納するための領域を定義した第1PrintTicketを生成して、前記印刷設定UI部に通知し、
    前記印刷設定UI部は、前記第1PrintTicketに基づく印刷設定画面で入力された他の印刷機能に関する情報を記述したPJL(Printer Job Language)コマンドを生成し、当該PJLコマンドを前記第1PrintTicketの前記領域に組み込んだ第2PrintTicketを生成して、前記Printer Driver core部に通知し、
    前記Printer Driver core部は、前記第2PrintTicketを前記印刷装置が解釈可能な第3PrintTicketに変換する、
    ことを特徴とするプリンタドライバ。
  7. 印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバであって、
    前記コンピュータ装置を、
    印刷機能に関する情報を記述したPrintTicketを生成するPrinter Driver core部、
    前記PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる印刷設定UI部、として機能させ、
    前記Printer Driver core部は、前記PrintTicketに、情報を格納するための領域を定義した第1PrintTicketを生成して、前記印刷設定UI部に通知し、
    前記印刷設定UI部は、前記第1PrintTicketに基づく印刷設定画面で入力された他の印刷機能に関する情報を記述した第1PJLコマンドを生成し、当該第1PJLコマンドを前記第1PrintTicketの前記領域に組み込んだ第2PrintTicketを生成して、前記Printer Driver core部に通知し、
    前記Printer Driver core部は、前記第2PrintTicketを前記印刷装置が解釈可能な第2PJLコマンドに変換する、
    ことを特徴とするプリンタドライバ。
  8. 前記プリンタドライバは、Windows(登録商標)のオペレーティングシステム上で動作するversion4のプリンタドライバである、
    ことを特徴とする請求項1乃至7のいずれか一に記載のプリンタドライバ。
  9. 印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバの印刷機能の追加方法であって、
    印刷機能に関する情報を記述したPrintTicketを生成する第1ステップと、
    前記PrintTicketに、情報を格納するための領域を定義して、第1PrintTicketを生成する第2ステップと、
    前記第1PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる第3ステップと、
    前記印刷設定画面で入力された他の印刷機能に関する情報を記述したPrintTicketを生成し、当該PrintTicketを前記第1PrintTicketの前記領域に組み込んで第2PrintTicketを生成する第4ステップと、
    前記第2PrintTicketを前記印刷装置が解釈可能な第3PrintTicketに変換する第5ステップと、を実行する、
    ことを特徴とするプリンタドライバの印刷機能の追加方法。
  10. 前記第4ステップでは、前記第1PrintTicketの前記領域に、前記他の印刷機能に関する情報を文字列で記述し、
    前記第5ステップでは、前記文字列を解釈してPrintTicketの形式に変換する、
    ことを特徴とする請求項9に記載のプリンタドライバの印刷機能の追加方法。
  11. 前記第2ステップでは、DEVMODE構造体のPrivate領域に予め記述された情報を、予め定義された関数を用いて変換して前記PrintTicketに書き込むことによって、前記領域を定義する、
    ことを特徴とする請求項9又は10に記載のプリンタドライバの印刷機能の追加方法。
  12. 前記第3ステップでは、前記印刷装置の能力情報を取得し、前記第1PrintTicketと前記能力情報とに基づいて、前記印刷設定画面を生成する、
    ことを特徴とする請求項9乃至11のいずれか一に記載のプリンタドライバの印刷機能の追加方法。
  13. 印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバの印刷機能の追加方法であって、
    印刷機能を定義するPrintTicketを生成する第1ステップと、
    前記PrintTicketに、情報を格納するための領域を定義して、第1PrintTicketを生成する第2ステップと、
    前記第1PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる第3ステップと、
    前記印刷設定画面で入力された他の印刷機能に関する情報を記述したPJLコマンドを生成し、当該PJLコマンドを前記第1PrintTicketの前記領域に組み込んで第2PrintTicketを生成する第4ステップと、
    前記第2PrintTicketを前記印刷装置が解釈可能な第3PrintTicketに変換する第5ステップと、を実行する、
    ことを特徴とするプリンタドライバの印刷機能の追加方法。
  14. 印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバの印刷機能の追加方法であって、
    印刷機能を定義するPrintTicketを生成する第1ステップと、
    前記PrintTicketに、情報を格納するための領域を定義して、第1PrintTicketを生成する第2ステップと、
    前記第1PrintTicketに基づいて印刷設定画面を生成し、当該印刷設定画面を表示部に表示させる第3ステップと、
    前記印刷設定画面で入力された他の印刷機能に関する情報を記述した第1PJLコマンドを生成し、当該第1PJLコマンドを前記第1PrintTicketの前記領域に組み込んで第2PrintTicketを生成する第4ステップと、
    前記第2PrintTicketを前記印刷装置が解釈可能な第2PJLコマンドに変換する第5ステップと、を実行する、
    ことを特徴とするプリンタドライバの印刷機能の追加方法。
  15. 前記プリンタドライバは、Windows(登録商標)のオペレーティングシステム上で動作するversion4のプリンタドライバである、
    ことを特徴とする請求項9乃至14のいずれか一に記載のプリンタドライバの印刷機能の追加方法。
JP2013230873A 2013-11-07 2013-11-07 プリンタドライバ及びプリンタドライバの印刷機能の追加方法 Active JP5825565B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013230873A JP5825565B2 (ja) 2013-11-07 2013-11-07 プリンタドライバ及びプリンタドライバの印刷機能の追加方法
CN201410608423.1A CN104636090B (zh) 2013-11-07 2014-11-03 打印机驱动器的印刷功能的追加方法
US14/533,032 US9304727B2 (en) 2013-11-07 2014-11-04 Non-transitory computer-readable storage medium and method of adding print feature to output of printer driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013230873A JP5825565B2 (ja) 2013-11-07 2013-11-07 プリンタドライバ及びプリンタドライバの印刷機能の追加方法

Publications (2)

Publication Number Publication Date
JP2015090634A true JP2015090634A (ja) 2015-05-11
JP5825565B2 JP5825565B2 (ja) 2015-12-02

Family

ID=53006828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013230873A Active JP5825565B2 (ja) 2013-11-07 2013-11-07 プリンタドライバ及びプリンタドライバの印刷機能の追加方法

Country Status (3)

Country Link
US (1) US9304727B2 (ja)
JP (1) JP5825565B2 (ja)
CN (1) CN104636090B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017097710A (ja) * 2015-11-26 2017-06-01 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP2018028817A (ja) * 2016-08-18 2018-02-22 キヤノン株式会社 情報処理装置、方法およびプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6032567B2 (ja) * 2014-05-08 2016-11-30 コニカミノルタ株式会社 プリンタドライバ及び印刷システム並びにプリンタドライバの画面表示方法
JP6115515B2 (ja) * 2014-05-08 2017-04-19 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理方法
JP2015215653A (ja) * 2014-05-08 2015-12-03 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理制御方法
JP6983614B2 (ja) * 2017-10-16 2021-12-17 キヤノン株式会社 プログラム
CN108563434A (zh) * 2018-04-04 2018-09-21 重庆玺兴科技有限公司 一种打印驱动开发方法
US20220043610A1 (en) * 2019-04-30 2022-02-10 Hewlett-Packard Development Company, L.P. Storage device decoupling determination
JP7446815B2 (ja) * 2019-12-27 2024-03-11 キヤノン株式会社 プログラム及び制御方法
JP2022040568A (ja) * 2020-08-31 2022-03-11 ブラザー工業株式会社 画像形成装置、画像形成システムおよびプログラム
JP2022040567A (ja) 2020-08-31 2022-03-11 ブラザー工業株式会社 画像形成装置、画像形成システムおよびプログラム
JP2023041245A (ja) * 2021-09-13 2023-03-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179482A (ja) * 2005-12-28 2007-07-12 Brother Ind Ltd 印刷システム及びプログラム
JP2008033812A (ja) * 2006-07-31 2008-02-14 Canon Inc 文書処理装置および文書処理方法
JP2011084066A (ja) * 2009-09-18 2011-04-28 Canon Inc 画像形成装置及びその処理方法
JP2011233092A (ja) * 2010-04-30 2011-11-17 Ricoh Co Ltd 情報処理装置、プログラムおよび記憶媒体
JP2013186835A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法とプログラム
JP2015060269A (ja) * 2013-09-17 2015-03-30 株式会社リコー 画像処理制御プログラム、情報処理装置及び画像処理システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285870A (ja) * 2005-04-04 2006-10-19 Canon Inc 印刷制御装置、印刷制御方法、及びプログラム
JP2009064415A (ja) * 2007-08-16 2009-03-26 Ricoh Co Ltd 情報処理装置、デバイス制御方法、デバイス制御プログラム及び記録媒体
US8144346B2 (en) * 2007-08-16 2012-03-27 Ricoh Company, Ltd. Apparatus and method for controlling a device with a device driver
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
US8405853B2 (en) * 2009-07-31 2013-03-26 Ricoh Company, Ltd. Dynamic DEVMODE support
JP5532770B2 (ja) * 2009-09-08 2014-06-25 株式会社リコー 印刷制御プログラム、情報処理装置、および印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20110051052A (ko) * 2009-11-09 2011-05-17 삼성전자주식회사 인쇄 제어 방법 및 인쇄 제어 단말장치
KR101612757B1 (ko) * 2009-12-17 2016-04-26 삼성전자주식회사 인쇄 제어 단말장치 및 xps 파일 인쇄방법
JP5152243B2 (ja) * 2010-03-31 2013-02-27 ブラザー工業株式会社 印刷プログラム、印刷制御装置、及び印刷設定情報のデータ構造
JP5100798B2 (ja) 2010-08-18 2012-12-19 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US8891111B2 (en) * 2010-12-13 2014-11-18 Microsoft Corporation Adaptable printer driver
US20120188575A1 (en) * 2011-01-20 2012-07-26 Canon Kabushiki Kaisha Systems and methods for updating printing device capabilities
US20130293924A1 (en) * 2012-05-04 2013-11-07 Canon Kabushiki Kaisha Systems and methods for embedding constraint logic of print settings in print capabilities

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179482A (ja) * 2005-12-28 2007-07-12 Brother Ind Ltd 印刷システム及びプログラム
JP2008033812A (ja) * 2006-07-31 2008-02-14 Canon Inc 文書処理装置および文書処理方法
JP2011084066A (ja) * 2009-09-18 2011-04-28 Canon Inc 画像形成装置及びその処理方法
JP2011233092A (ja) * 2010-04-30 2011-11-17 Ricoh Co Ltd 情報処理装置、プログラムおよび記憶媒体
JP2013186835A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法とプログラム
JP2015060269A (ja) * 2013-09-17 2015-03-30 株式会社リコー 画像処理制御プログラム、情報処理装置及び画像処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017097710A (ja) * 2015-11-26 2017-06-01 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP2018028817A (ja) * 2016-08-18 2018-02-22 キヤノン株式会社 情報処理装置、方法およびプログラム

Also Published As

Publication number Publication date
CN104636090B (zh) 2018-03-16
CN104636090A (zh) 2015-05-20
JP5825565B2 (ja) 2015-12-02
US9304727B2 (en) 2016-04-05
US20150124276A1 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
JP5825565B2 (ja) プリンタドライバ及びプリンタドライバの印刷機能の追加方法
JP5955041B2 (ja) 印刷システム及びその方法
US7907313B2 (en) Management of multiple printer drivers
US8427686B2 (en) Printer driver, information processing apparatus, and computer-readable recording medium recording therein printer driver having multiple decompression units
JP2009271930A (ja) プリンタ定義ファイルを用いてjdfを生成するための方法、システムおよびプログラム
JP5924892B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5326477B2 (ja) 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法
JP6632424B2 (ja) 情報処理装置、プログラム及び制御方法
JP5879807B2 (ja) 印刷制御装置、制御プログラム及び記録媒体
US9253343B2 (en) Information processing apparatus, control method, and storage medium for providing a preview and/or display of a main display document generated from all parts of a print document
JP5729652B2 (ja) プリンタドライバ及びプリンタドライバのローカライズ方法
JP4956259B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP2023020591A (ja) 情報処理装置、その制御方法及びプログラム
JP2017083996A (ja) 情報処理装置及びその制御方法とプログラム
JP4903064B2 (ja) 印刷制御装置、印刷制御方法、及び印刷制御プログラム
JP2007256991A (ja) データ処理装置、プログラム、コンピュータ読み取り可能な記録媒体
US20130222832A1 (en) Information processing apparatus, control method, and storage medium
JP6007015B2 (ja) 画像形成装置及び画像形成プログラム
JP7271208B2 (ja) プログラム、および情報処理装置
JP2013041472A (ja) 情報処理装置、ドライバプログラム及び記憶媒体
JP2015114830A (ja) 情報処理装置、制御方法及び制御プログラム
JP2013196554A (ja) プログラム、情報処理装置及び記録媒体
JP2012120099A (ja) 印刷制御装置、印刷制御方法、制御プログラム及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150826

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151001

R150 Certificate of patent or registration of utility model

Ref document number: 5825565

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150