JP6762821B2 - 情報処理装置、及びプログラム - Google Patents

情報処理装置、及びプログラム Download PDF

Info

Publication number
JP6762821B2
JP6762821B2 JP2016183102A JP2016183102A JP6762821B2 JP 6762821 B2 JP6762821 B2 JP 6762821B2 JP 2016183102 A JP2016183102 A JP 2016183102A JP 2016183102 A JP2016183102 A JP 2016183102A JP 6762821 B2 JP6762821 B2 JP 6762821B2
Authority
JP
Japan
Prior art keywords
data
storage area
printer driver
form data
information processing
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
Application number
JP2016183102A
Other languages
English (en)
Other versions
JP2018049359A5 (ja
JP2018049359A (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2016183102A priority Critical patent/JP6762821B2/ja
Priority to US15/695,407 priority patent/US10191704B2/en
Publication of JP2018049359A publication Critical patent/JP2018049359A/ja
Publication of JP2018049359A5 publication Critical patent/JP2018049359A5/ja
Application granted granted Critical
Publication of JP6762821B2 publication Critical patent/JP6762821B2/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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1274Deleting of print job
    • 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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
    • G06F3/1227Printer definition files
    • 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/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

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)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、プリンタドライバが作成するプリンタドライバ用のデータを、該プリンタドライバのアンインストール時に削除する技術に関する。
一般にプリンタドライバは、アプリケーションが作成した画像データを変換して、プリンタが解釈可能な印刷データを作成する機能を持つ。しかし、近年のプリンタドライバは印刷データの作成以外にも様々な機能を持つものが多い。例えば、特許文献1に記載されているように、プリンタドライバがフォームデータを作成、保存するという機能が知られている。特許文献1では、透明インクなどの特殊な色材を用いて印刷物に装飾性を付与する印刷(装飾印刷)において、この特殊な色材を塗布する領域を指定するフォームデータを作成する。プリンタドライバは、このフォームデータを外部ファイルとして保存しておき、実際に装飾印刷を行う際に画像データとフォームデータとを合成して印刷データを作成する。一方、このような外部ファイルはプリンタドライバ専用のファイルであり、プリンタドライバをアンインストールした後には不要なファイルとなる。そのため、プリンタドライバのアンインストール時には、これらの外部ファイルを削除する必要がある。
特開2012−053627号公報
外部ファイルの削除はプリンタドライバのアンインストール処理の一環として実施されることが望ましい。しかし、一般にプリンタドライバのアンインストール処理はオペレーティングシステム(OS)によって制御される。そのため、外部ファイルの削除といったベンダー独自の処理がアンインストール時に実施できるかはOS、またはOSに搭載されるプリンタドライバのアーキテクチャー仕様に依る。例えば、Windows(登録商標、以下省略)OSに搭載されるversion4(v4)プリンタドライバでは、アンインストール時にベンダー独自の処理を実施することができない。
そのため、このようなプリンタドライバでは、作成した外部ファイルをアンインストール時に削除することができず、不要な外部ファイルが残り続けてしまうという課題があった。本発明はこの課題を鑑みてなされたものであり、プリンタドライバのアンインストール時にベンダー独自の処理を実施出来ない場合でも、不要な外部ファイルが残り続けてしまうのを防ぐことを目的とする。
本発明は、印刷データを作成するプリンタドライバと、前記プリンタドライバにより作成された所定のデータが前記プリンタドライバのアンインストールの一環として削除されない第1記憶領域を有する情報処理装置であって、前記第1記憶領域に保存された前記データを読み取って、前記読み取られたデータを前記所定のデータが前記プリンタドライバのアンインストールの一環として削除される第2記憶領域に保存する保存手段と、前記データが前記第2記憶領域に保存された後、前記データを前記第1記憶領域から削除する削除手段と、を有することを特徴とする情報処理装置である。
本発明によれば、プリンタドライバが該プリンタドライバ用の外部ファイルを作成、保存し、該保存した外部ファイルを用いて実現する機能を有する場合、前記プリンタドライバのアンインストール後に不要となる前記外部ファイルを削除することが出来る。
実施例1における情報処理装置1のハードウェア構成を示すブロック図 実施例1における情報処理装置1の機能構成を示すブロック図 実施例1における印刷設定情報を設定するGUI画面の一例を示す図 実施例1におけるレンダーフィルター223が実行する処理のフローチャート 実施例1におけるUI拡張モジュール224が実行する処理のフローチャート 実施例2における情報処理装置1の機能構成を示すブロック図 実施例2におけるレンダーフィルター223が実行する処理のフローチャート 実施例2における起動モジュール226が実行する処理のフローチャート 実施例2におけるUI拡張モジュール224が実行する処理のフローチャート
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の形態は特許請求の範囲に係る本発明を限定するものでなく、また以下で説明されている特徴の全てが本発明の解決手段として必須のものとは限らない。
[実施例1]
<ハードウェア構成について>
図1は、本実施例における情報処理装置1のハードウェア構成を示すブロック図である。情報処理装置1として、例えばコンピュータを用いて良い。以下、情報処理装置をPCと略記する。図示するように、PC1は、入力インタフェース(以下、インタフェースをIFと略記する。)10、CPU11、ROM12、RAM13、外部記憶装置14、出力IF15、及び入出力IF16を有する。入力IF10は、マウス17、キーボード18などの入力デバイスが接続されており、これらの入力デバイスからの入力を制御する。出力インタフェース15は、ディスプレイ19などの出力デバイスが接続されており、出力デバイスへの出力を制御する。
ROM12には、初期化のためのプログラム及びデータが格納され、外部記憶装置14には、アプリケーションプログラム群、OS、プリンタドライバ220、及びその他の各種データが格納されている。RAM13は、データを一時的に記憶する記憶媒体であり、CPU11のメインメモリ、ワークエリアとして機能する。具体的に例えば、ROM12や外部記憶装置14に格納された各種プログラムがRAM13に展開され、該展開されたプログラムがCPU11によって実行される。尚、本実施例では、ROM12と外部記憶装置14との少なくとも一方に格納されるプログラムがRAM13に展開され、CPU11が該展開されたプログラムを実行することで、PC1における後述の機能を実現し、後述のフローに従う処理を実行する。画像形成装置2は、入出力インタフェース16を介してPC1と接続されている。尚、画像形成装置とは、印刷機能に特化した専用機に限らず、印刷機能とその他の機能とを複合した複合機や、記録媒体上に画像やパターンを形成する製造装置等も含む。また、ここではPC1と画像形成装置2とが分かれて構成されているが、これらが一つの情報処理装置、或いは、画像形成装置として構成されていても良い。
<機能構成について>
図2は、本実施例におけるPC1の機能構成の一例を示す図であり、主に、PC1にインストールされるプリンタドライバ220の機能について説明するための図である。以下、PC1に搭載されるOSがMicrosoft社のWindowsであり、プリンタドライバ220がVersion4(v4)プリンタドライバの場合を例に挙げて説明する。
アプリケーション201には、画像処理、ワードプロセッサ、ウェブブラウザなどのソフトウエアが含まれる。アプリケーション201はユーザーの入力に従い、文字などのテキストデータ、図形などのグラフィクスデータ、写真などのイメージデータからなる描画データを編集、加工する。そして、ユーザーの入力に従い、編集、加工した描画データに基づく画像形成処理(印刷処理を含む)をOSに要求、即ち、プリントチケットを含むデータをOSに出力する。
アプリケーション201が出力するデータは、XPS形式のデータであり、テキストデータに対応するテキスト描画命令と、グラフィクスデータに対応するグラフィクス描画命令と、イメージデータに対応するイメージ描画命令とで構成された描画命令群である。アプリケーション201が出力するデータに含まれるプリントチケットには、図3に示すGDI画面等を介したユーザーの入力に基づく印刷設定情報が記述されている。印刷設定情報には、例えば、用紙サイズや用紙の種類、画像処理パラメータ等が含まれる。また、本実施例の印刷設定情報には、印刷ジョブが、フォームデータを作成するジョブか、作成済みのフォームデータの合成を伴う印刷ジョブか、フォームデータの合成を伴わない通常の印刷ジョブか、を示す情報(フラグ)も含まれる。さらに、本実施例の印刷設定情報は、フォームデータのフォームデータ名も含んで良い。尚、フォームデータについては後述する。
OSはアプリケーション201から入力される描画命令群を、OSの印刷サポート機能211を介してスプールデータに変換する。このスプールデータはスプーラ212のプリントキュー213に一時的に保存され、印刷ジョブ214としてスプーラ212により管理される。印刷ジョブ214は、プリンタドライバ220によって画像形成装置2が解釈可能な印刷データ(PDLデータ)に変換された後、画像形成装置2に送信され、画像形成装置2は、該送信された印刷データに基づき、記録媒体に画像を形成する。
以下、プリンタドライバ220の各モジュールについて説明する。UIモジュール221は、OSに準拠する限定的な機能を提供するためのモジュールである。UI拡張モジュール224は、ベンダー独自の拡張機能を実現するためモジュールである。ユーザープロパティバッグ225は、ユーザーによって入力されたデータ等を一時的に記憶するための領域(一時記憶領域)である。UIモジュール221及びUI拡張モジュール224は、ユーザープロパティバッグ225からのデータの読み取り、及び、ユーザープロパティバッグ225へのデータの書き込みが可能である。一方、後述のレイアウトフィルター222及びレンダーフィルター223は、ユーザープロパティバッグ225にアクセスすることは出来ない。尚、ユーザープロパティバッグ225は、プリンタドライバ220のアンインストール時に削除される。
プリンタドライバ220に渡された印刷ジョブ214は、先ずレイアウトフィルター222によって処理される。ここでフィルターとは、入力されたデータに対する加工、入力されたデータに応じた変換等の処理を実行し、該処理したデータを出力するモジュールである。プリンタドライバ220を構成する各フィルターは、印刷ジョブ214のデスプールの際にOSのフィルター管理モジュール(図示せず)によって呼び出され、初期化が実行される。
レイアウトフィルター222は、印刷設定情報に従いページを並べ替えたり複数ページを1つのページにまとめたりするなどのレイアウト処理を実行し、処理後のデータをレンダーフィルター223に出力する。尚、上述したように、レイアウトフィルター222は、ユーザープロパティバッグ225にアクセスすることは出来ない。
レンダーフィルター223は、レイアウトフィルター222から入力されたデータに対する処理を実行する。尚、印刷ジョブは、上述したように、フォームデータを作成するジョブと、作成済みのフォームデータの合成を伴う印刷ジョブと、通常の印刷ジョブとの何れかであり、レンダーフィルター223は、処理対象の印刷ジョブの種類に応じて、異なる処理を実行する。具体的には、処理対象の印刷ジョブが通常の印刷ジョブの場合、レンダーフィルター223は、印刷設定情報に従って印刷データを変換する。詳細には、印刷設定情報とレイアウト済みXPS形式の印刷データとに基づき、画像形成装置2が解釈可能なPDL形式の印刷データを作成する。レンダーフィルター223が作成したPDL形式の印刷データは、ポートモニタ231を介して画像形成装置2に送信される。
また、処理対象の印刷ジョブがフォームデータを作成するジョブの場合、レンダーフィルター223は、フォームデータを作成し、該作成したフォームデータを記憶領域215に保存する。この場合、画像形成装置2への印刷データの送信は実行されない。ここで記憶領域215とは、例えばROM12等に設けられる領域であり、プリンタドライバ220のアンインストール時に削除されない領域である。
さらに、処理対象の印刷ジョブがフォームデータの合成を伴う印刷ジョブの場合、レンダーフィルター223は、用いるフォームデータを記憶領域215から読み取る。そして、このフォームデータと印刷設定情報とレイアウト済みXPS形式の印刷データとに基づき、PDLデータを作成する。このPDL形式の印刷データは、ポートモニタ231を介して画像形成装置2に送信される。
尚、上述したように、レンダーフィルター223は、ユーザープロパティバッグ225にアクセスすることは出来ない。
<印刷設定情報を設定するGUI画面について>
図3(a)は、プリンタドライバ220のUIモジュール221がディスプレイ19に表示する印刷設定情報を設定するGUI画面の一例を示す図であり、具体的にはクリアコート設定のためのダイアログボックスを示す図である。プルダウンメニュー301は透明インクの塗布方法を決定する「透明インク塗布モード」を選択する部分である。このプルダウンメニュー301でプリンタドライバ220が提供する透明インク塗布モードの一覧を表示し、ユーザーが任意の透明インク塗布モードを選択することで透明インク塗布モードが設定される。
この透明インク塗布モードとしては、図3(b)に示すように、「自動」、「全面」、「ユーザー設定」の3つのモードが存在し、ユーザーはプルダウンメニュー301から任意のモードを選択することで透明インクの塗布方法を指定する。尚、この透明インク塗布モードはデフォルトでは「自動」が選択される。以下、透明インク塗布モードの夫々のモードについて説明する。
「自動」の塗布モードは、使用する記録媒体が透明インクを塗布してもそれほど効果が見込めない媒体の場合は透明インクを塗布しない一方、使用する記録媒体が透明インクを塗布することで効果が見込める媒体の場合は透明インクを塗布するモードである。「全面」の塗布モードは、記録媒体において画像形成装置2が画像形成可能な範囲全体に透明インクを塗布するモードである。「ユーザー設定」の塗布モードは、透明インクを一部塗布しないことにより、見え方を変化させて印刷物にデザイン性を付与するモードである。この「ユーザー設定」の塗布モードとしては、フォームファイルを作成する「フォームファイル作成モード」と、作成済みのフォームファイルを用いて印刷する「フォーム合成印刷モード」とが存在する。
アイコン表示領域302は、選択中の透明インク塗布モードの概念を表すアイコンを表示する領域である。ラジオボタン303、304は、「フォームファイル作成モード」と「フォーム合成印刷モード」との何れかを選択するボタンであり、プルダウンメニュー301で「ユーザー設定」の塗布モードが選択されている場合に選択可能となる。領域305には、既に作成済みのフォームファイルが表示され、ラジオボタン304が選択されている場合に、表示されているフォームファイルの中から1つのフォームファイルを選択可能となる。入力欄306は、作成するフォームファイルを識別するためフォームデータ名を入力する欄である。
<レンダーフィルターが実行する処理について>
図4は、本実施例におけるレンダーフィルター223が実行する処理のフローチャートである。
ステップS401において、レンダーフィルター223は、処理対象の印刷ジョブに含まれる印刷設定情報に基づき、該印刷ジョブがフォームデータを作成するジョブであるか判定する。ステップS401の判定の結果が真の場合、ステップS402に進む一方、該判定の結果が偽の場合、ステップS403に進む。
ステップS402において、レンダーフィルター223は、フォームデータを作成し、該フォームデータと、印刷設定情報に含まれるフォームデータ名とをまとめて1つの外部ファイル(フォームファイル)として記憶領域215に保存する。尚、本実施例において外部ファイルとは、プリンタドライバ220のアンインストール時に削除されない記憶領域215に保存されるファイルを指す。また、本ステップで保存するフォームファイルのファイル名は、レンダーフィルター223によって保存されたことが分かるように、独自の名称が付けられる。
ステップS403において、レンダーフィルター223は、処理対象の印刷ジョブに含まれる印刷設定情報に基づき、該印刷ジョブがフォームデータの合成を伴う印刷ジョブであるか判定する。ステップS403の判定の結果が真の場合、ステップS404に進む一方、該判定の結果が偽の場合、ステップS409に進む。
ステップS404において、レンダーフィルター223は、後述のステップS509でUI拡張モジュール224によって保存された、フォームデータを含むフォームファイルが記憶領域215に存在するか、ファイル名を用いて判定する。尚、このフォームファイルについては、図5を用いて後述する。ステップS404の判定の結果が真の場合、ステップS405に進む一方、該判定の結果が偽の場合、ステップS408に進む。
ステップS405において、レンダーフィルター223は、印刷設定情報に含まれるフォームデータ名と一致するフォームデータ名を持つフォームファイルに含まれるフォームデータを、記憶領域215から読み取る。
ステップS406において、レンダーフィルター223は、ステップS405で取得したフォームデータと画像データとを合成し、PDL形式の印刷データを作成する。
ステップS407において、レンダーフィルター223は、UI拡張モジュール224によって保存された、印刷設定情報に含まれるフォームデータ名と一致するフォームデータ名を持つフォームファイルを記憶領域215から削除する。
UI拡張モジュール224によって保存されたフォームファイルが記憶領域215存在しない場合(ステップS404でNOの場合)、ステップS408において、レンダーフィルター223は、UIモジュール221を用いてエラーを通知する。このエラーは、ユーザーが指定したフォームファイルが存在しないことを示すものである。
処理対象の印刷ジョブが通常の印刷ジョブの場合(ステップS403でNOの場合)、ステップS409において、レンダーフィルター223は、PDL形式の印刷データを作成する。以上が、本実施例におけるレンダーフィルター223が実行する処理である。
<UI拡張モジュールが実行する処理について>
図5は、本実施例におけるUI拡張モジュール224が実行する処理のフローチャートである。尚、以下の処理は、UI拡張モジュール224が起動するタイミング、即ちUIが開いたタイミングで開始するため、印刷ジョブ214のデスプールの際に初期化が実行されるレンダーフィルター223の起動より前のタイミングで開始する。そのため、以下の処理は、例えばレンダーフィルター223が外部ファイルを記憶領域215に保存した場合(ステップS402)であれば、レンダーフィルター223による一連の処理が終了した後、UI拡張モジュール224が起動されたタイミングで開始する。
ステップS501において、UI拡張モジュール224は、ステップS402でレンダーフィルター223によって作成、保存されたフォームファイルが記憶領域215に存在するか判定する。この判定は、記憶領域215に保存されているフォームファイルのファイル名に基づいて実行される。ステップS501の判定の結果が真の場合、ステップS502に進む一方、該判定の結果が偽の場合、ステップS504に進む。
ステップS502において、UI拡張モジュール224は、レンダーフィルター223により作成され記憶領域215に保存されているフォームファイルを読み取る。そして、このフォームファイルに含まれる、フォームデータと、これに対応するフォームデータ名とをまとめて1つのフォームファイルとして、ユーザープロパティバッグ225に保存する。
ステップS503において、UI拡張モジュール224は、ステップS502で読み取ったフォームファイルを記憶領域215から削除する。
その後、ステップS504において、UI拡張モジュール224は、ユーザーが印刷ジョブを入力するためのGUI画面を表示する。このGUI画面は、例えば図3に示したGUI画面300である。UI拡張モジュール224は、GUI画面300を表示するにあたって、ユーザープロパティバッグ225に保存されているフォームファイルのフォームデータ名に基づき、領域305に表示する内容を決定する。
ステップS505において、UI拡張モジュール224は、ユーザーによる印刷ジョブの入力を受け付ける。本ステップにより、以降の処理で取り扱う印刷ジョブが確定する。尚、本ステップで受け付ける印刷ジョブがフォームデータの合成を伴う印刷ジョブの場合、GUI画面300の領域305を介してユーザーが選択するフォームファイルのフォームデータ名が、印刷ジョブを構成する印刷設定情報に含まれる。
ステップS506において、UI拡張モジュール224は、印刷ジョブを入力するためのGUI画面を閉じる。
ステップS507において、UI拡張モジュール224は、処理対象の印刷ジョブに含まれる印刷設定情報に基づき、該印刷ジョブがフォームデータの合成を伴う印刷ジョブであるか判定する。ステップS507の判定の結果が真の場合、ステップS508に進む一方、該判定の結果が偽の場合、一連の処理は終了する。
ステップS508において、UI拡張モジュール224は、ユーザープロパティバッグ225に保存されているフォームファイルの中の1つのフォームファイルに含まれるフォームデータを読み取る。詳細には、印刷ジョブを構成する印刷設定情報に含まれるフォームデータ名を用いて、該フォームデータ名と同一のフォームデータ名に対応するフォームデータを読み取る。
ステップS509において、UI拡張モジュール224は、ステップS508で読み取ったフォームデータと、印刷ジョブを構成する印刷設定情報に含まれるフォームデータ名とをまとめて1つの外部ファイル(フォームファイル)として記憶領域215に保存する。ここで保存するフォームファイルは、前述のステップS405で、レンダーフィルター223が読み取るフォームデータを含むフォームファイルの候補となる。尚、本ステップで保存するフォームファイルのファイル名は、UI拡張モジュール224によって保存されたことが分かるように、独自の名称が付けられる。以上が、本実施例におけるUI拡張モジュール224が実行する処理である。
本実施例では、レンダーフィルター223が記憶領域215に保存したフォームファイルの情報を、UI拡張モジュール224の起動時にユーザープロパティバッグ225に移動する。また、UI拡張モジュール224が記憶領域215に保存するフォームファイルは、レンダーフィルター223が該フォームファイルに含まれるフォームデータを読み取った後に削除する(ステップS407)。従って、プリンタドライバ220のアンインストール時には削除されない記憶領域215に保存されるフォームファイルは、UI拡張モジュール224の起動の都度、又は、レンダーフィルター223によるフォームデータの読み取りの都度、削除される。よって、プリンタドライバ220のアンインストール後にプリンタドライバ220専用のフォームファイルが記憶領域215に残り続けることを防ぐことが出来る。また本実施例では、レンダーフィルター223やUI拡張モジュール224は通常の印刷処理フローの一環として上述のフォームファイルの削除処理を実行可能であることから、OS処理との親和性も高い。
尚、上述の説明では、UI拡張モジュール224によって記憶領域215に保存されるフォームファイルは、画像データと該フォームファイルに含まれるフォームデータとの合成処理の実行後に、レンダーフィルター223によって記憶領域215から削除される。しかし、その後ユーザーがアプリケーションからプリンタドライバ220のGUI画面を開くことなく印刷処理を実行したとき、一部の写真アプリケーション等では前回印刷時の印刷設定情報が維持されるため問題が発生する場合がある。つまり、すでに削除されたフォールファイルに含まれるフォームデータを再度用いようとする場合に、フォームデータの合成を伴う印刷処理に失敗してしまう。こういったケースを防ぐため、フォームデータの削除は常にUI拡張モジュール224のみで行うといった形態も考えられる。その場合、UI拡張モジュール224は、レンダーフィルター223によって保存されたフォームファイルだけでなく、UI拡張モジュール224自身が保存したフォームファイルも、記憶領域215から削除するように動作する。
[実施例2]
実施例1ではレンダーフィルター223がフォームデータを作成しフォームファイルとして記憶領域215に保存した後、UI拡張モジュール224が起動される前にプリンタドライバがアンインストールされる可能性がある。その場合、レンダーフィルター223によって記憶領域215に保存されたフォームファイルは削除されずに残り続けてしまうことになる。本実施例では、レンダーフィルター223とUI拡張モジュール224との処理を同期させることで、UI拡張モジュール224が起動される前にプリンタドライバがアンインストールされることを防ぐ。尚、以下では、実施例1と共通する内容の説明は適宜省略する。
レンダーフィルター223とUI拡張モジュール224との処理を同期させるためには、レンダーフィルター223がUI拡張モジュール224を直接起動する方法が考えられる。一方、UI拡張モジュール224がユーザープロパティバッグ225にアクセルするためには専用のアクセス関数を使用する必要がある。そのため、UI拡張モジュール224の起動にはOSが提供しているAPI(DocumentProperties関数)を使用して、必要なインスタンスを引数として渡す必要がある。しかし、レンダーフィルター223は印刷を行うモジュールではないため、DocumentProperties関数をコールすることが出来ない。そこで、UI拡張モジュール224を起動するための起動モジュール(EXEファイル)226を用意し、レンダーフィルター223はこの起動モジュール226を起動することで、間接的にUI拡張モジュール224を起動する。
<機能構成について>
図6は、本実施例におけるPC1の機能構成の一例を示す図である。図示するように、プリンタドライバ220は、起動モジュール226を更に有し、この点で実施例1と異なる(図2参照)。
起動モジュール226は、DocumentProperties関数をコールすることでUI拡張モジュール224を起動する。また、UI拡張モジュール224は起動元のモジュールを判定し、起動モジュール226から起動された場合には通常とは異なる処理を実行する。この処理は例えば、記憶領域215に存在する外部ファイルの情報をユーザープロパティバッグ225に移動する処理等である。また、UI拡張モジュール224は通常、起動時にGUI画面を表示するが、起動モジュール226から起動された場合にはGUI画面を表示しない。尚、UI拡張モジュール224が実行する処理を、呼び出し元の起動モジュール226から指定することも考えられる。この場合、起動時のパラメータを用いて指定する方法や、共有ファイルや共有メモリを用いて指定する方法がある。
<レンダーフィルターが実行する処理について>
図7は、本実施例におけるレンダーフィルター223が実行する処理のフローチャートである。
ステップS701において、レンダーフィルター223は、処理対象の印刷ジョブに含まれる印刷設定情報に基づき、該印刷ジョブがフォームデータを作成するジョブであるか判定する。ステップS701の判定の結果が真の場合、ステップS702に進む一方、該判定の結果が偽の場合、ステップS705に進む。
ステップS702において、レンダーフィルター223は、フォームデータを作成し、該フォームデータと、印刷設定情報に含まれるフォームデータ名とを対応付けて記憶領域215に保存する。尚、実施例1と同様に、フォームデータとフォームデータ名とをまとめて1つのフォームファイルとして保存しても良い。
ステップS703において、レンダーフィルター223は、ステップS702で記憶領域215に保存したフォームデータを、ユーザープロパティバッグ225に保存するよう設定する。具体的には、フォームデータのユーザープロパティバッグ225への保存指示と、印刷設定情報に含まれるフォームデータ名とを引数に設定する。
ステップS704において、レンダーフィルター223は、ステップS703で設定した引数を用いて、起動モジュール226を起動する。ステップS704の後で、起動モジュール226による処理が開始する。尚、起動モジュール226による処理については、図8を用いて後述する。
ステップS705において、レンダーフィルター223は、処理対象の印刷ジョブに含まれる印刷設定情報に基づき、該印刷ジョブがフォームデータの合成を伴う印刷ジョブであるか判定する。ステップS705の判定の結果が真の場合、ステップS706に進む一方、該判定の結果が偽の場合、ステップS711に進む。
ステップS706において、レンダーフィルター223は、後述のステップS906で保存されたフォームデータを、ユーザープロパティバッグ225から読み取るよう設定する。具体的には、フォームデータのユーザープロパティバッグ225からの読み取り指示と、印刷設定情報に含まれるフォームデータ名とを引数に設定する。
ステップS707において、レンダーフィルター223は、ステップS706で設定した引数を用いて、起動モジュール226を起動する。ステップS707の後で、起動モジュール226による処理が開始する。
ステップS708において、レンダーフィルター223は、印刷設定情報に含まれるフォームデータ名と一致するフォームデータ名に対応付けされたフォームデータを、記憶領域215から読み取る。
ステップS709において、レンダーフィルター223は、ステップS708で取得したフォームデータと画像データとを合成し、PDL形式の印刷データを作成する。
ステップS710において、レンダーフィルター223は、ステップS708で読み取ったフォームデータ及びこれに対応付けされたフォームデータ名を記憶領域215から削除し、一連の処理は終了する。以上が、本実施例におけるレンダーフィルター223が実行する処理である。
<起動モジュールが実行する処理について>
ステップS801において、起動モジュール226は、設定されている引数に基づき、フォームデータのユーザープロパティバッグ225への保存が指示されているかを判定する。ステップS801の判定の結果が真の場合、ステップS802に進む一方、該判定の結果が偽の場合、ステップS803に進む。
ステップS802において、起動モジュール226は、フォームデータのユーザープロパティバッグ225への保存指示と、フォームデータ名とを引数として指定してDocumentProperties関数をコールする。
ステップS803において、起動モジュール226は、設定されている引数に基づき、フォームデータのユーザープロパティバッグ225からの読み取りが指示されているかを判定する。ステップS803の判定の結果が真の場合、ステップS804に進む一方、該判定の結果が偽の場合、一連の処理は終了する。
ステップS804において、起動モジュール226は、フォームデータのユーザープロパティバッグ225からの読み取り指示と、フォームデータ名とを引数として指定してDocumentProperties関数をコールする。以上が、本実施例における起動モジュール226が実行する処理である。
<UI拡張モジュールが実行する処理について>
図9は、本実施例におけるUI拡張モジュール224が実行する処理のフローチャートである。
ステップS901において、UI拡張モジュール224は、起動元が起動モジュール226であるかを判定する。ステップS901の判定の結果が真の場合、ステップS902に進む一方、該判定の結果が偽の場合、ステップS903に進む。
UI拡張モジュール224の起動元が起動モジュール226の場合、ステップS902において、UI拡張モジュール224は起動する。ただし起動の際、UI拡張モジュール224は、GUI画面を表示しない。
一方、UI拡張モジュール224の起動元が起動モジュール226ではない場合、ステップS903において、UI拡張モジュール224は起動する。起動の際、UI拡張モジュール224は、GUI画面を表示し、本ステップの後に引き続いて、ユーザーによるGUI画面を介した印刷ジョブの入力処理が行われる。
以下、UI拡張モジュール224の起動元が起動モジュール226の場合におけるステップS902以降の処理について説明する。ステップS904において、UI拡張モジュール224は、引数に基づき、フォームデータのユーザープロパティバッグ225への保存が指示されているかを判定する。ステップS904の判定の結果が真の場合、ステップS905に進む一方、該判定の結果が偽の場合、ステップS908に進む。
ステップS905において、UI拡張モジュール224は、引数で指定されたフォームデータ名と一致するフォームデータ名に対応付けされたフォームデータを記憶領域215から読み取る。
ステップS906において、UI拡張モジュール224は、ステップS905で読み取ったフォームデータと、引数で指定されたフォームデータ名とを対応付けてユーザープロパティバッグ225に保存する。
ステップS907において、UI拡張モジュール224は、ステップS905で読み取ったフォームデータ及びこれに対応付けされたフォームデータ名を、記憶領域215から削除する。
一方、フォームデータの保存が指示されていない場合(ステップS904でNOの場合)、ステップS908において、UI拡張モジュール224は、引数に基づき、フォームデータのユーザープロパティバッグ225からの読み取りが指示されているかを判定する。ステップS908の判定の結果が真の場合、ステップS909に進む一方、該判定の結果が偽の場合、一連の処理は終了する。
ステップS909において、UI拡張モジュール224は、引数で指定されたフォームデータ名と一致するフォームデータ名に対応付けされたフォームデータをユーザープロパティバッグ225から読み取る。
ステップS910において、UI拡張モジュール224は、ステップS909で読み取ったフォームデータと、引数で指定されたフォームデータ名とを対応付けて記憶領域215に保存する。以上が、本実施例におけるUI拡張モジュール224が実行する処理である。
本実施例では、レンダーフィルター223が起動モジュール226を介してUI拡張モジュール224を起動することにより、フォームデータの記憶領域215への保存処理と、フォームデータの記憶領域215からの削除処理とを同期させることが出来る。そのため、レンダーフィルター223が作成、保存したフォームデータを記憶領域215から削除する前にプリンタドライバがアンインストールされるといったケースを防ぐことが可能となる。
尚、本実施例では、画像形成用データとしてフォーム合成印刷で使用するフォームデータを用いて説明したが、当然別のデータを保存しても構わない。例えば、UIの各設定値が設定されて印刷された回数を印刷毎にカウントアップして、ログファイルとして保存したいといった場合には、設定値が保持されたログファイルを外部ファイルとして保存しておくことも考えられる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1 情報処理装置(PC)
215 記憶領域
220 プリンタドライバ
223 レンダーフィルター
224 UI拡張モジュール
225 ユーザープロパティバッグ(一時記憶領域)

Claims (8)

  1. 印刷データを作成するプリンタドライバと、前記プリンタドライバにより作成された所定のデータが前記プリンタドライバのアンインストールの一環として削除されない第1記憶領域を有する情報処理装置であって、
    前記第1記憶領域に保存された前記データを読み取って、前記読み取られたデータを前記所定のデータが前記プリンタドライバのアンインストールの一環として削除される第2記憶領域に保存する保存手段と、
    前記データが前記第2記憶領域に保存された後、前記データを前記第1記憶領域から削除する削除手段と、
    を有することを特徴とする情報処理装置。
  2. 前記保存手段および前記削除手段を起動するための起動手段をさらに有し、
    前記プリンタドライバは、前記データを前記第1記憶領域に保存したことに応じて、前記起動手段を用いて、前記保存手段および前記削除手段を起動することで、前記保存手段による保存および前記削除手段による削除を実行させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記起動手段を用いて、前記保存手段および前記削除手段が起動された場合、GUI画面は表示されないことを特徴とする請求項2に記載の情報処理装置。
  4. 前記プリンタドライバのレンダーフィルターが、前記データを前記第1記憶領域に保存し、
    前記レンダーフィルターは、前記第2記憶領域にアクセスできないことを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 処理対象の印刷ジョブがフォームデータとの合成を伴う印刷ジョブである場合、前記保存手段により前記第2記憶領域に保存された前記フォームデータが、前記第1記憶領域に保存されることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記第1記憶領域に保存された前記フォームデータと、画像データとを合成する合成手段をさらに有することを特徴とする請求項5に記載の情報処理装置。
  7. 前記プリンタドライバにより作成され、かつ、前記第1記憶領域に保存されるデータは、フォームデータであることを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 印刷データを作成するプリンタドライバと、前記プリンタドライバにより作成された前記所定のデータが前記プリンタドライバのアンインストール時に削除されない第1記憶領域を有する情報処理装置のコンピュータを、請求項1乃至7の何れか1項に記載の情報処理装置における各手段として機能させるための、プログラム。
JP2016183102A 2016-09-20 2016-09-20 情報処理装置、及びプログラム Active JP6762821B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016183102A JP6762821B2 (ja) 2016-09-20 2016-09-20 情報処理装置、及びプログラム
US15/695,407 US10191704B2 (en) 2016-09-20 2017-09-05 Information processing apparatus reading data created by render filter for image formation from storage area and saving the data in temporary storage area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016183102A JP6762821B2 (ja) 2016-09-20 2016-09-20 情報処理装置、及びプログラム

Publications (3)

Publication Number Publication Date
JP2018049359A JP2018049359A (ja) 2018-03-29
JP2018049359A5 JP2018049359A5 (ja) 2019-10-24
JP6762821B2 true JP6762821B2 (ja) 2020-09-30

Family

ID=61617536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016183102A Active JP6762821B2 (ja) 2016-09-20 2016-09-20 情報処理装置、及びプログラム

Country Status (2)

Country Link
US (1) US10191704B2 (ja)
JP (1) JP6762821B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019176691A1 (en) 2018-03-16 2019-09-19 Ricoh Company, Ltd. Wiping member, wiping method, and image forming apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363234B2 (en) * 2007-05-17 2013-01-29 Canon Kabushiki Kaisha Information processing apparatus, method, and program product with operation for editing template designating printer functions
JP5111278B2 (ja) * 2008-07-30 2013-01-09 キヤノン株式会社 印刷制御装置、印刷装置、印刷制御装置の制御方法、印刷装置の制御方法、及びプログラム
JP5264431B2 (ja) * 2008-11-13 2013-08-14 キヤノン株式会社 情報処理装置、印刷制御方法、及びプログラム
JP5391844B2 (ja) * 2009-06-05 2014-01-15 株式会社リコー 印刷制御プログラム、記憶媒体および情報処理装置
JP5665288B2 (ja) * 2009-07-24 2015-02-04 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム
JP5680909B2 (ja) 2010-08-31 2015-03-04 キヤノン株式会社 印刷制御装置及びその制御方法
JP5896610B2 (ja) * 2011-03-14 2016-03-30 キヤノン株式会社 装置、方法およびプログラム

Also Published As

Publication number Publication date
US20180081611A1 (en) 2018-03-22
JP2018049359A (ja) 2018-03-29
US10191704B2 (en) 2019-01-29

Similar Documents

Publication Publication Date Title
US8498002B2 (en) Information processing apparatus capable of customizing device driver, information processing method, and control program
US8451463B2 (en) Information processing apparatus and information processing method
EP3540589B1 (en) Program and information processing apparatus
EP3040847A1 (en) Information processing apparatus, control method, and recording medium
JP2005141729A (ja) 周辺機器制御プログラム、装置および方法、並びに表示制御プログラム、装置および方法
JP2009104541A (ja) 情報処理装置、情報処理方法、記憶媒体、プログラム
JP5366388B2 (ja) 印刷制御装置、印刷制御方法、及び、プログラム
JP2006268586A (ja) 処理態様指定情報変換プログラム及び処理態様指定情報変換方法
EP3842917B1 (en) Control method and information processing apparatus
JP6762821B2 (ja) 情報処理装置、及びプログラム
JP2017033052A (ja) 画像形成装置における制御装置およびプログラム
JP5807460B2 (ja) 情報処理装置、プログラム、記憶媒体
US10592180B2 (en) Information processing device, information processing method, and recording medium
JP2016146167A (ja) 印刷システム、印刷システムの制御方法、及びプログラム
JP2008097409A (ja) 情報処理装置、プログラムおよび記録媒体
JP2014174951A (ja) 情報処理装置、情報処理方法及びプログラム
JP6004790B2 (ja) 情報処理装置、その方法およびプログラム
JP6250110B2 (ja) 情報処理装置、その方法およびプログラム
JP2021182310A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP6907851B2 (ja) 制御プログラム
JP5586970B2 (ja) 情報処理装置および制御方法およびプログラム
JP2006190152A (ja) 印刷条件初期値設定方法、プログラムおよび情報処理装置
JP7271208B2 (ja) プログラム、および情報処理装置
JP2019128606A (ja) 情報処理装置およびその制御方法、並びにプログラム
JP2010117907A (ja) 印刷制御装置、および印刷装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200720

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200909

R151 Written notification of patent or utility model registration

Ref document number: 6762821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151