(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】印刷システムおよびプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240730BHJP
B41J 29/38 20060101ALI20240730BHJP
B41J 29/00 20060101ALI20240730BHJP
H04N 1/00 20060101ALI20240730BHJP
【FI】
G06F3/12 338
G06F3/12 322
G06F3/12 367
G06F3/12 347
B41J29/38 203
B41J29/38 201
B41J29/00 Z
H04N1/00 127A
H04N1/00 127B
(21)【出願番号】P 2020170320
(22)【出願日】2020-10-08
【審査請求日】2023-08-22
(31)【優先権主張番号】P 2020088749
(32)【優先日】2020-05-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】垣鍔 亮太
(72)【発明者】
【氏名】市川 裕詞
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2010-244550(JP,A)
【文献】特開2017-173932(JP,A)
【文献】特開2010-181948(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
B41J 29/38
B41J 29/00
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
プリンタと、プリンタと接続するサーバ装置と、サーバ装置と接続するクライアント装置と、を備える印刷システムであって、
前記サーバ装置のメモリには、
ユーザごとにフォルダが設けられており、前記フォルダは、前記サーバ装置以外のデバイスからもアクセス可能な共有フォルダであり、
前記サーバ装置は、ユーザごとに設けられた前記フォルダへのアクセスについて、対応するユーザあるいは管理者であれば許可し、それら以外であれば許可せず、
前記サーバ装置には、特別プログラムがインストールされ、
前記クライアント装置は、
印刷対象となる画像に基づく印刷データを前記サーバ装置に送信し、前記印刷データには、ユーザの識別情報が関連付けられ、
前記サーバ装置は、
前記クライアント装置から前記印刷データを受信した場合に、前記特別プログラムによって、受信した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに、受信した前記印刷データを記憶し、
前記プリンタは、
ユーザの識別情報の入力を受け付け、
入力された前記識別情報に基づいてユーザが認証された場合、入力された前記識別情報によって示されるユーザあるいは管理者として、前記サーバ装置のうち、入力された前記識別情報によって示されるユーザに対応する前記フォルダにアクセスし、アクセスした前記フォルダから前記印刷データを取得し、取得した前記印刷データに基づく画像を印刷する、
ことを特徴とする印刷システム。
【請求項2】
請求項1に記載する印刷システムにおいて、
前記サーバ装置には、
前記特別プログラムとしてポートモニタがインストールされ、
前記サーバ装置は、
前記クライアント装置から前記印刷データを受信した場合に、受信した前記印刷データを前記ポートモニタが取得し、前記ポートモニタによって、受信した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに、受信した前記印刷データを記憶する、
ことを特徴とする印刷システム。
【請求項3】
請求項2に記載する印刷システムにおいて、
前記サーバ装置には、
前記プリンタに対応するプリンタドライバがインストールされ、前記プリンタドライバにプリントキューが割り当てられ、
前記サーバ装置は、
前記クライアント装置から前記プリンタドライバに割り当てられた前記プリントキューを指定した前記印刷データを受信した場合に、前記プリントキューに渡された前記印刷データを前記ポートモニタが取得し、前記ポートモニタによって、受信した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに、受信した前記印刷データを記憶する、
ことを特徴とする印刷システム。
【請求項4】
請求項3に記載する印刷システムにおいて、
前記サーバ装置と接続する複数の前記クライアント装置を備え、
前記サーバ装置は、前記プリンタドライバに割り当てた前記プリントキューの設定が共有プリンタに設定され、
前記サーバ装置は、
複数の前記クライアント装置からそれぞれ前記プリンタドライバに割り当てられた前記プリントキューを指定した前記印刷データを受信した場合に、前記プリントキューに渡された各印刷データを前記ポートモニタが取得し、前記ポートモニタによって、受信した各印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに、受信した各印刷データを記憶する、
ことを特徴とする印刷システム。
【請求項5】
請求項1に記載する印刷システムにおいて、
前記サーバ装置には、
前記特別プログラムとして、前記プリンタに対応するプリンタドライバがインストールされ、
前記クライアント装置は、
中間データとなる前記印刷データを前記サーバ装置に送信し、
前記サーバ装置は、
前記クライアント装置から中間データとなる前記印刷データを受信した場合に、受信した前記印刷データを前記プリンタドライバが取得し、前記プリンタドライバによって、受信した前記印刷データのレンダリングを行い、受信した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに、レンダリング後の前記印刷データを記憶する、
ことを特徴とする印刷システム。
【請求項6】
請求項1から請求項5のいずれか1つに記載する印刷システムにおいて、
前記クライアント装置は、
認証情報の入力を受け付け、受け付けた前記認証情報および前記識別情報を関連付けた前記印刷データを前記サーバ装置に送信し、
前記プリンタは、
取得した前記印刷データに対する認証情報の入力を受け付け、受け付けた前記認証情報と、取得した前記印刷データに関連付けられた前記認証情報と、が一致する場合に、取得した前記印刷データに基づく画像を印刷する、
ことを特徴とする印刷システム。
【請求項7】
請求項1から請求項6のいずれか1つに記載する印刷システムにおいて、
前記プリンタは、
アクセスした前記フォルダに記憶される前記印刷データを一覧表示し、表示した前記印刷データの一覧の中から印刷対象となる前記印刷データの選択を受け付け、選択された前記印刷データを前記フォルダから取得し、取得した前記印刷データに基づく画像を印刷する、
ことを特徴とする印刷システム。
【請求項8】
請求項1から請求項7のいずれか1つに記載する印刷システムにおいて、
前記サーバ装置は、
前記特別プログラムに、受信した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに書き込みを行うユーザ権限が設定されていない場合に、前記フォルダに書き込みを行うユーザ権限を前記特別プログラムに設定した後、受信した前記印刷データを前記フォルダに記憶する、
ことを特徴とする印刷システム。
【請求項9】
請求項1から請求項8のいずれか1つに記載する印刷システムにおいて、
前記プリンタには、
入力された前記識別情報によって示されるユーザあるいは管理者として、入力された前記識別情報によって示されるユーザに対応する前記フォルダにアクセスするためのアクセス情報が記憶されており、
前記プリンタは、
前記アクセス情報を読み出し、読み出した前記アクセス情報を用いて、
入力された前記識別情報によって示されるユーザに対応する前記フォルダにアクセスする、
ことを特徴とする印刷システム。
【請求項10】
請求項9に記載する印刷システムにおいて、
前記サーバ装置は、
前記クライアント装置から、前記クライアント装置にログインしているユーザの識別情報が関連付けられた前記印刷データを受信し、前記特別プログラムは、受信した前記印刷データに関連付けられた前記識別情報によって示される
ユーザに対応する前記フォルダに、受信した前記印刷データを記憶する、
ことを特徴とする印刷システム。
【請求項11】
請求項9または請求項10に記載する印刷システムにおいて、
前記プリンタには、ユーザの前記識別情報ごとに前記アクセス情報が記憶されており、
前記プリンタは、
入力された前記識別情報に対応する前記アクセス情報を読み出し、読み出した前記アクセス情報を用いて、前記フォルダにアクセスする、
ことを特徴とする印刷システム。
【請求項12】
プリンタおよびクライアント装置と接続するサーバ装置にインストールされるプログラムであって、
前記サーバ装置のコンピュータに、
前記サーバ装置が受信した印刷データを取得する取得処理を実行させ、前記印刷データは、前記クライアント装置によってユーザの識別情報が関連付けられたデータであり、
さらに前記コンピュータに、
前記取得処理にて取得した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応するフォルダに、前記取得処理にて取得した前記印刷データを記憶する記憶処理を実行させ、前記フォルダは、前記サーバ装置にユーザごとに設けられており、さらに前記フォルダは、前記サーバ装置以外のデバイスからもアクセス可能な共有フォルダであり、さらに
前記サーバ装置は、ユーザごとに設けられた前記フォルダへのアクセスについて、対応するユーザあるいは管理者であれば許可し、それら以外であれば許可せず、さらに前記フォルダは、
前記プリンタによってアクセスされ、
前記プリンタは、ユーザの識別情報の入力を受け付け、入力された前記識別情報に基づいてユーザが認証された場合、入力された前記識別情報によって示されるユーザあるいは管理者として、前記サーバ装置のうち、入力された前記識別情報によって示されるユーザに対応する前記フォルダにアクセスし、アクセスした前記フォルダから前記印刷データを取得し、取得した前記印刷データに基づく画像を印刷する、
ことを特徴とするプログラム。
【請求項13】
請求項12に記載するプログラムにおいて、
前記取得処理では、
前記サーバ装置が受信した印刷データをプリントキューから取得し、前記プリントキューには、前記サーバ装置にインストールされた前記プリンタに対応するプリンタドライバが割り当てられ、前記印刷データは、前記サーバ装置が受信した後、前記プリントキューに渡されたデータである、
ことを特徴とするプログラム。
【請求項14】
請求項12または請求項13に記載するプログラムにおいて、
前記コンピュータに、
前記取得処理にて取得した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダが無い場合に、前記記憶処理の実行前に、前記取得処理にて取得した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダを作成する作成処理を実行させる、
ことを特徴とするプログラム。
【請求項15】
請求項12から請求項14のいずれか1つに記載するプログラムにおいて、
前記コンピュータに、
前記取得処理にて取得した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに書き込みを行うユーザ権限が前記プログラムに無い場合に、前記記憶処理の実行前に、前記フォルダに書き込みを行うユーザ権限を設定する設定処理を実行させる、
ことを特徴とするプログラム。
【請求項16】
請求項12から請求項15のいずれか1つに記載するプログラムにおいて、
前記記憶処理では、
前記取得処理にて取得した前記印刷データのファイル名を、前記ファイル名に前記印刷データを区別する付加情報を付与した名前に変更して、前記取得処理にて取得した前記印刷データを前記フォルダに記憶する、
ことを特徴とするプログラム。
【請求項17】
請求項16に記載するプログラムにおいて、
前記記憶処理では、
前記取得処理にて取得した前記印刷データのファイル名を、前記ファイル名に前記付加情報であるユーザ名を付与した名前に変更して、前記取得処理にて取得した前記印刷データを前記フォルダに記憶し、前記ユーザ名は、前記識別情報によって示されるユーザごとに設定されている情報である、
ことを特徴とするプログラム。
【請求項18】
請求項16に記載するプログラムにおいて、
前記記憶処理では、
前記取得処理にて取得した前記印刷データのファイル名を、前記ファイル名に前記付加情報である時間情報を付与した名前に変更して、前記取得処理にて取得した前記印刷データを前記フォルダに記憶し、前記時間情報は、前記記憶処理を実行する時間を示す情報である、
ことを特徴とするプログラム。
【請求項19】
請求項12から請求項18のいずれか1つに記載するプログラムにおいて、
前記取得処理では、
前記クライアント装置から送信された中間データである前記印刷データを取得し、
さらに前記コンピュータに、
前記取得処理にて取得した中間データである前記印刷データのレンダリングを行うレンダリング処理を実行させ、
前記記憶処理では、
前記取得処理にて取得した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応するフォルダに、前記レンダリング処理にてレンダリングが行われた後の前記印刷データを記憶する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタとクライアント装置とに接続するサーバ装置を有する印刷システムおよびプログラムに関する。
【背景技術】
【0002】
従来から、プリンタとクライアント装置とに接続するサーバ装置を有するシステムであって、サーバ装置がクライアント装置から送信された印刷データを受信してメモリに記憶し、プリンタがサーバ装置から送信された印刷データを受信して印刷する構成が知られている。
【0003】
前述した構成を開示する文献としては、例えば特許文献1がある。特許文献1には、プリントサーバを備えるネットワークプリントシステムであって、プリントサーバは、端末装置から印刷データを受信した場合に、受信した印刷データをユーザ別のフォルダに記憶し、さらにプリンタからアクセスされた場合に、印刷データを要求元のプリンタに送信する構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
印刷データは秘匿性が高いものも多く、高い安全性が要求される。そのため、サーバ装置に記憶されている印刷データにむやみにアクセスされないよう、印刷データの記憶場所へのアクセスに制限を設けることが望ましい。一方で、プリンタからはその記憶場所にアクセスできることが望まれる。特許文献1には、印刷データの記憶場所の安全性に関する記載がなく、改善の余地がある。
【0006】
本明細書は、プリンタとクライアント装置とに接続するサーバ装置を有する印刷システムにおいて、印刷データの安全性を高める技術を開示する。
【課題を解決するための手段】
【0007】
この課題の解決を目的としてなされた印刷システムは、プリンタと、プリンタと接続するサーバ装置と、サーバ装置と接続するクライアント装置と、を備える印刷システムであって、前記サーバ装置のメモリには、ユーザごとにフォルダが設けられており、前記フォルダは、前記サーバ装置以外のデバイスからもアクセス可能な共有フォルダであり、前記フォルダには、アクセス可否を示すユーザ権限が設定されており、前記サーバ装置には、特別プログラムがインストールされ、前記特別プログラムには、前記フォルダにアクセス可能なユーザ権限が設定され、前記プリンタには、前記フォルダにアクセス可能なユーザ権限が設定され、前記クライアント装置は、印刷対象となる画像に基づく印刷データを前記サーバ装置に送信し、前記印刷データには、ユーザの識別情報が関連付けられ、前記サーバ装置は、前記クライアント装置から前記印刷データを受信した場合に、前記特別プログラムによって、受信した前記印刷データに関連付けられた前記識別情報によって示されるユーザに対応する前記フォルダに、受信した前記印刷データを記憶し、前記プリンタは、ユーザの識別情報の入力を受け付け、前記サーバ装置のうち、入力された前記識別情報によって示されるユーザに対応する前記フォルダにアクセスし、アクセスした前記フォルダから前記印刷データを取得し、取得した前記印刷データに基づく画像を印刷する、ことを特徴としている。
【0008】
本明細書に開示される印刷システムによれば、印刷データが記憶されるサーバ装置の共有フォルダにアクセス可否を示すユーザ権限が設定されているので、サーバ装置に記憶される印刷データへの第三者によるむやみなアクセスを抑制できる。従って、印刷データの安全性を高めることができる。一方、特別プログラムには、共有フォルダにアクセス可能なユーザ権限が設定されるので、印刷データをサーバ装置に記憶させることができる。また、プリンタにも共有フォルダにアクセス可能なユーザ権限が設定されるので、サーバ装置から印刷データを取得できる。
【0009】
上記システムの機能を実現するための制御方法、コンピュータプログラム、当該プログラムを実行する情報処理装置、当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0010】
本明細書に開示される技術によれば、プリンタとクライアント装置とに接続するサーバ装置を有する印刷システムにおいて、印刷データの安全性を高める技術が実現される。
【図面の簡単な説明】
【0011】
【
図1】本形態の印刷システムの電気的構成を示すブロック図である。
【
図2】第1の形態において、印刷データを共有フォルダに記憶する第1の手順の概要を示すシーケンス図である。
【
図3】記憶された印刷データに基づく印刷を行う第2の手順の概要を示すシーケンス図である。
【
図4】ファイルの選択を受け付ける画面の例を示す説明図である。
【
図5】第1の形態のファイル記憶処理の手順を示すフローチャートである。
【
図6】第2の形態において、印刷データを共有フォルダに記憶する第1の手順の概要を示すシーケンス図である。
【
図7】第2の形態のファイル記憶処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、第1の形態にかかる印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)を用いてプリンタに印刷を実行させるための印刷システムである。
【0013】
本形態の印刷システム100は、
図1に示すように、複数のクライアントPC1~2と、サーバ3と、複数のプリンタ5~6と、を含む。クライアントPC1~2は、クライアント装置の一例であり、サーバ3は、サーバ装置の一例である。各クライアントPC1~2とサーバ3とは、通信可能に接続されている。また、サーバ3と各プリンタ5~6とは、通信可能に接続されている。各クライアントPC1~2と各プリンタ5~6とは、通信可能であってもなくても良い。
【0014】
本形態のクライアントPC1とクライアントPC2とは、同様の動作や処理を行う同様の装置である。以下では、クライアントPC1について代表して説明する。また、本形態のプリンタ5とプリンタ6とは、同じモデルの装置であって、同様の動作や処理を行う同様の装置である。以下では、プリンタ5について代表して説明する。
【0015】
本形態のクライアントPC1は、少なくとも、ユーザ操作によって印刷の指示を受け付ける機能と、通信機能と、を有する装置である。クライアントPC1は、
図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。クライアントPC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、
図1中のコントローラ10及び後述する他の装置のコントローラは、クライアントPC1等の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にクライアントPC1等に存在する単一のハードウェアを表すとは限らない。
【0016】
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12は、クライアントPC1を起動するための起動プログラム、プリンタ5~6を使用するための各種のアプリケーションプログラム(以下、「アプリ」とする)等の各種のプログラムや、画像データ、文書データ等の各種のデータが記憶される記憶領域である。メモリ12は、各種の処理が実行される際の作業領域としても利用される。
【0017】
メモリ12など、各装置のメモリの一例は、装置に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【0018】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、表示機能と操作受け付け機能とを共に備えるタッチパネルであっても良いし、表示機能を備えるディスプレイと操作受け付け機能を備えるキーボード、マウス、トラックボール等との組であっても良い。
【0019】
通信IF14は、サーバ3等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)などである。通信IF14の通信の態様は、有線でも無線でもよい。
【0020】
クライアントPC1のメモリ12には、
図1に示すように、オペレーティングシステム(以下、「OS」とする)21と、印刷アプリ22と、プリンタドライバ23と、プリントキュー24と、を含む、各種のプログラムや各種のデータが記憶されている。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、iOS(登録商標)、Android(登録商標)、Linux(登録商標)、である。
【0021】
印刷アプリ22は、例えば、文書データや画像データを作成または編集するためのアプリであり、ユーザによる印刷指示を受け付けるアプリである。プリンタドライバ23は、プリンタ5~6に印刷を実行させるための印刷データの生成を行うプログラムである。プリントキュー24は、プリンタドライバ23に割り当てられた領域であり、プリンタドライバ23によって生成された印刷データを受け取る。
【0022】
なお、本形態のプリントキュー24は、OS21の機能によって、プリンタ5~6に対応する共有プリンタが対応付けられている。プリントキュー24に渡された印刷データは、OS21によって、通信IF14を介してサーバ3に送信される。共有プリンタとは、後述するサーバ3のOS41の機能によってネットワークに公開されているプリントキュー44のことである。以下の実施例では、ネットワークに公開されているプリントキューに対応付けられているプリンタのことを、便宜上、「共有プリンタ」と記載することもある。
【0023】
本形態のサーバ3は、少なくとも、印刷データを記憶する機能と、通信機能と、を有する装置である。サーバ3は、
図1に示すように、CPU31と、メモリ32と、を含むコントローラ30を備えている。CPU31は、コンピュータの一例である。サーバ3は、ユーザIF33と、通信IF34と、を備え、これらがコントローラ30に電気的に接続されている。サーバ3が備える各電気的構成は、クライアントPC1について説明したものと同様のものである。
【0024】
サーバ3のメモリ32には、
図1に示すように、OS41と、カスタムポートモニタ42と、プリンタドライバ43と、プリントキュー44と、共有フォルダ45と、を含む、各種のプログラムや各種のデータが記憶されている。OS41は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、である。
【0025】
カスタムポートモニタ42は、本形態の印刷システム100の動作を行わせるためにカスタマイズされたポートモニタである。プリンタドライバ43は、クライアントPC1のプリンタドライバ23と同様のプログラムである。プリントキュー44は、プリンタドライバ43に割り当てられたプリントキューである。本形態では、クライアントPC1~2から送信される印刷データはプリントキュー44に渡され、さらに、プリントキュー44に渡された印刷データをカスタムポートモニタ42が受け取る。共有フォルダ45は、OS41の機能によってネットワークに公開されているフォルダである。共有フォルダ45は、クライアントPC1~2やプリンタ5~6等の、サーバ3以外の外部装置からもアクセス可能なフォルダである。共有フォルダ45には、アクセス可否を示すユーザ権限が設定されている。カスタムポートモニタ42は、特別プログラムの一例である。
【0026】
本形態のプリンタ5は、印刷システム100のユーザにて共用される装置であり、少なくとも、印刷データに基づく画像の印刷を行う機能と、通信機能と、を有する装置である。プリンタ5は、
図1に示すように、CPU51と、メモリ52と、を含むコントローラ50を備えている。プリンタ5は、ユーザIF53と、通信IF54と、画像形成エンジン55と、を備え、これらがコントローラ50に電気的に接続されている。プリンタ5のメモリ52には、共有プリントプログラム61と、ユーザ情報62と、を含む各種のプログラムや各種のデータが記憶されている。
【0027】
次に、クライアントPC1を使用して、プリンタ5等の共有プリンタに印刷を実行させる手順の概要について、シーケンス図を参照して説明する。以下では、クライアントPC1にて印刷の指示を行う第1の手順と、プリンタ5にて印刷を実行させる第2の手順とを、順に説明する。
【0028】
まず、
図2を参照して第1の手順の概要を説明する。第1の手順では、ユーザは、クライアントPC1にログインし、印刷アプリ22等にて印刷を指示する(A01)。ユーザは、印刷アプリ22等を介して、OS21に登録されているプリントキューを指定した印刷を指示できる。
図2では、ユーザの指示が、プリントキュー24を指定したセキュア印刷の指示である場合について示している。セキュア印刷は、印刷の指示にて設定したPINの入力を、印刷実行の指示を受け付けたプリンタが要求することで、印刷データの安全性を高める印刷方法である。
【0029】
印刷アプリ22は、受け付けた印刷指示に基づいて、プリントキュー24に対応するプリンタドライバ23を起動し、プリンタドライバ23に印刷命令を渡す(A02)。印刷命令には、印刷対象の画像を示す画像データと印刷に関するパラメータとが含まれる。
【0030】
プリンタドライバ23は、受け取った印刷命令に基づいて、プリンタ5にて印刷を実行させるための印刷データを生成する(A03)。印刷指示がセキュア印刷の設定となっていることから、プリンタドライバ23は、PINの入力を受け付ける入力画面をユーザIF13に表示させる(A04)。PINは、例えば、4桁の数字列によって構成される。PINは、認証情報の一例である。ユーザは、この印刷データに関連付けるPINを決めて、ユーザIF13を介してPINを入力する(A05)。なお、PINの入力は、印刷指示を受け付けるより前に受け付けても良い。
【0031】
プリンタドライバ23は、クライアントPC1にログインしているユーザを示すユーザIDと、入力されたPINと、をA03にて生成した印刷データに付加する(A06)。ユーザIDは、例えば、ユーザ名、アカウント名、社員番号であり、個々のユーザを識別する識別情報の一例である。プリンタドライバ23は、OS21に問い合わせることで、ユーザIDを取得しても良い。プリンタドライバ23は、ユーザIDとPINとを付加した印刷データをプリントキュー24に渡す。さらに、クライアントPC1のOS21は、プリントキュー24に渡された印刷データを、プリントキュー24に対応付けられているプリントキュー44を指定して、サーバ3に送信する(A07)。
【0032】
サーバ3は、プリントキュー44が指定された印刷データをクライアントPC1から受信すると、プリントキュー44に対応するカスタムポートモニタ42を起動して、カスタムポートモニタ42に印刷データを渡す(A09)。なお、プリントキュー44がプリンタドライバ43に印刷データを渡し、プリンタドライバ43が印刷データを処理し、処理後の印刷データをプリントキュー44に渡し、プリントキュー44がカスタムポートモニタ42に印刷データを渡す、という構成でも良い。また、プリンタドライバ43が、処理後の印刷データをカスタムポートモニタ42に渡す、という構成でも良い。カスタムポートモニタ42は、例えば、サーバ3の起動時に起動されて常駐するものでも良い。
【0033】
カスタムポートモニタ42は、取得した印刷データに付加されているユーザIDを取得する(A11)。カスタムポートモニタ42は、取得したユーザIDによって示されるユーザに対応するフォルダを特定し、特定したフォルダに、取得した印刷データを記憶する(A12)。この際、カスタムポートモニタ42は、自身のユーザ権限を変更する場合がある(詳細は後述する)。ユーザに対応するフォルダは、例えば、そのフォルダ名にユーザ名が含まれるフォルダであり、サーバ3の共有フォルダ45にユーザごとに設けられる。これにより、クライアントPC1から送信された印刷データは、印刷を指示したユーザに対応するフォルダに記憶される。
【0034】
各ユーザのフォルダには、それぞれ、アクセス可否を示すユーザ権限が設定される。管理者権限が設定されているユーザは、共有フォルダ45内の全てのフォルダおよび全てのファイルにアクセス可能である。管理者以外のユーザは、自分のユーザ権限でアクセス可能なフォルダのみアクセス可能である。サーバ3の管理者は、管理者以外のユーザについて、例えば、ユーザ自身のユーザ名が含まれるフォルダにのみアクセス可能であるように、ユーザ権限を設定しても良い。また、印刷システム100の利用が許可されていないユーザは、共有フォルダ45にアクセスするユーザ権限が設定されず、共有フォルダ45内のいずれのフォルダにもアクセスできない。
【0035】
次に、
図3を参照して第2の手順の概要を説明する。第2の手順では、ユーザは、プリンタ5にログイン情報を入力し、プリンタ5にログインする(B01)。プリンタ5は、入力されたログイン情報に基づいて、ログイン認証を行う。プリンタ5へのログイン方法は、例えば、ユーザIF53へのユーザIDとパスワード等の入力によっても良いし、IDカードや指紋/掌紋等の読み取りによる入力であっても良い。プリンタ5に入力されるログイン情報は、ユーザの識別情報の一例である。プリンタ5は、サーバ3または認証用のサーバにログイン情報を渡して、認証結果を受け取っても良い。
【0036】
プリンタ5は、例えば、メモリ52に記憶しているユーザ情報62を用いて、入力されたログイン情報のユーザが登録済みの共有ユーザであるか否かを判断する。プリンタ5へのログイン認証に成功しなかった場合、あるいは、ログインしたユーザが共有ユーザではないと判断した場合には、プリンタ5は、共有プリントプログラム61による共有印刷の処理を実行しない。なお、共有ユーザではない場合、共有印刷以外の処理は実行可能であっても良い。
【0037】
ログイン認証に成功し、共有ユーザであると判断した場合、プリンタ5は、共有プリントプログラム61による共有印刷の処理を実行する。プリンタ5は、入力されたログイン情報に基づいて、ログインしたユーザのユーザIDを取得する(B02)。入力されるログイン情報にユーザIDが含まれていても良い。さらに、プリンタ5は、サーバ3の共有フォルダ45のうち取得したユーザIDに対応するフォルダ、すなわち、ログインしたユーザのユーザ名がフォルダ名に含まれるフォルダにアクセスするためのアクセス情報を取得する。
【0038】
なお、アクセス情報は、例えば、印刷システム100の管理者によってユーザ情報62に記憶されている。アクセス情報としては、例えば、ユーザのフォルダのパス、ユーザIDとパスワード、が含まれる。ユーザIDとパスワードは、プリンタ5へのログイン情報と共通の情報であっても良い。また、プリンタ5には管理者権限が設定されていてもよく、その場合、CPU51は、管理者のアクセス情報を取得してもよい。一方、ユーザごとのアクセス情報を用いてサーバ3にアクセスすれば、当該ユーザのフォルダへはアクセスでき、また、他のユーザのフォルダへのアクセスを抑制できることから、印刷データの安全性がより高まる。
【0039】
そして、プリンタ5は、取得したアクセス情報を用いて、サーバ3の共有フォルダ45のユーザのフォルダにアクセスする(B03)。フォルダ名にユーザ名が含まれることで、CPU51は、アクセス対象のフォルダを容易に判別できる。
【0040】
プリンタ5は、アクセスしたフォルダに記憶されている全てのファイルのファイル名を取得する(B04)。そして、プリンタ5は、取得したファイル名の一覧をユーザIF53に表示し、ユーザの選択を受け付ける(B05)。なお、ファイル名には、後述するように、印刷を指示したユーザを示すユーザ名や、サーバ3が印刷指示を受信した時間を示す時間情報が含まれる場合もある。
【0041】
ファイル名の一覧表示には、例えば、
図4に示すように、選択されたファイルの印刷の指示を受け付ける印刷ボタンと、共有印刷を終了する指示を受け付ける終了ボタンとが含まれる。
図4では、ユーザによって付けられたファイル名(ImageAなど)の後に時間情報として、年、月、日、時、分を示す数字が付加されたファイル名の例を示している。なお、このユーザに対応するフォルダに印刷可能な印刷データのファイルが無い場合には、プリンタ5は、ファイルが無い旨を示すメッセージと終了の指示を受け付ける終了ボタンとを表示させると良い。
【0042】
ユーザは、ユーザIF53を介して、表示されたファイル名の一覧から、印刷対象のファイル名を選択する(B06)。プリンタ5は、選択されたファイル名に対応する印刷データを、サーバ3の共有フォルダ45から取得する(B07)。選択された印刷データのみを取得することで、プリンタのメモリの負荷を軽減できる。
【0043】
プリンタ5は、取得した印刷データが、セキュア印刷の印刷データであるか否かを判断し、セキュア印刷の印刷データであると判断した場合、PINの入力を受け付ける画面を表示し、ユーザの入力を受け付ける(B08)。セキュア印刷のファイルが選択された場合、その印刷データにはPINの情報が付加されている。ユーザは、ユーザIF53を介してこの印刷データに設定したPINを入力する(B09)。
【0044】
プリンタ5は、B09にて入力を受け付けたPINとB07にて取得した印刷データに付加されているPINとが、一致しているか否かを判断する(B10)。印刷データにPINを付加し、ログイン認証に加えてPINによる照合も行うことで、印刷データの安全性がより高まる。
【0045】
プリンタ5は、PINが一致していると判断した場合([一致])、その印刷データに基づいて、画像形成エンジン55によって印刷を実行する(B11)。印刷が完了したら、プリンタ5は、サーバ3から取得した印刷データを削除する。プリンタ5は、サーバ3の印刷データを削除する指示をサーバ3に送信しても良い。なお、選択されたファイルがセキュア印刷の印刷データではない場合、プリンタ5は、PINの入力を要求せず、B08~B10の処理を行わずに印刷を実行する。
【0046】
プリンタ5は、PINが一致していないと判断した場合には、PINが不一致である旨を示すメッセージを表示させ、印刷を実行しない。プリンタ5は、PINの再入力を受け付けても良いし、ファイルの再選択を受け付けても良い。
【0047】
なお、プリンタ5は、表示したファイル名の一覧から、複数のファイルの選択を受け付けても良い。そして、複数のファイルが選択された場合には、プリンタ5は、B07~B11の手順を、選択された全てのファイルについて順に実行するとしても良い。
【0048】
続いて、サーバ3による処理の手順について、フローチャートを参照して説明する。なお、以下の処理およびフローチャートの各処理ステップは、基本的に、プログラムに記述された命令に従ったCPU31等の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU31等の処理を表している。CPU31等による処理は、サーバ3等のOSのAPIを用いたハードウェア制御も含む。本明細書では、OSの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOSのAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU31等の処理を、省略した文言で記載することがある。例えば、「CPU31が行う」のように記載することがある。また、プログラムに記述された命令に従ったCPU31等の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
【0049】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU31等が要求することなくデータを受信するという処理も、「CPU31がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【0050】
また、CPU31等による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU31等による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
【0051】
以下、上述した第1の手順の動作を実現するためのカスタムポートモニタ42の処理であるファイル記憶処理の手順について、
図5のフローチャートを参照して説明する。この処理は、サーバ3がクライアントPC1等から、プリントキュー44が指定された印刷データを受信したことを契機に、サーバ3のCPU31にて実行される。
【0052】
ファイル記憶処理では、CPU31は、まず、サーバ3が受信してプリントキュー44に渡された印刷データを取得する(S101、
図2のA09)。S101は、取得処理の一例である。この印刷データは、クライアントPC1等にて生成され、
図2のA07にてサーバ3に送信された印刷データである。
【0053】
CPU31は、取得した印刷データに付加されているユーザID、およびユーザIDに対応するユーザ名を取得する(S102、
図2のA11)。CPU31は、印刷データに付加されているユーザIDがユーザ名ではない場合には、例えば、メモリ32に記憶されるユーザ情報等に基づいて、ユーザ名を取得する。
【0054】
そして、CPU31は、ユーザIDに基づいて、印刷データを送信したユーザが、共有フォルダ45にアクセス可能なユーザ権限が設定されているユーザ、すなわち、印刷システム100の利用者である共有ユーザであるか否かを判断する(S103)。共有ユーザは、管理者によって予めサーバ3に登録されているユーザであり、共有ユーザには共有フォルダ45にアクセス可能なユーザ権限が設定されている。
【0055】
共有ユーザではないと判断した場合(S103:NO)、CPU31は、印刷システム100の管理者に宛てて、共有ユーザ以外のユーザからのアクセスを受け付けたことを示す通知を行い(S104)、ファイル記憶処理を終了する。この場合、CPU31は、終了前に、S101にて取得した印刷データを削除しても良い。
【0056】
共有ユーザであると判断した場合(S103:YES)、CPU31は、そのユーザのユーザ名がフォルダ名に含まれるフォルダが有るか否かを判断する(S110)。フォルダがあると判断した場合(S110:YES)、CPU31は、カスタムポートモニタ42に設定されている権限にて、そのフォルダへの書き込みが可能であるか否かを判断する(S111)。
【0057】
カスタムポートモニタ42は、起動時には、起動したユーザのユーザ権限が設定される。受け取った印刷データのユーザが、カスタムポートモニタ42を起動したユーザではない場合には、カスタムポートモニタ42は、そのままでは印刷データのユーザのフォルダへの書き込みができない。書き込み可能な権限ではないと判断した場合(S111:NO)、CPU31は、カスタムポートモニタ42の権限を、そのフォルダへの書き込みが可能な権限に変更する(S112)。S112は、設定処理の一例である。フォルダへの書き込みが可能な権限は、例えば、管理者権限、印刷データのユーザのユーザ権限である。カスタムポートモニタ42は、自身のユーザ権限を変更して設定可能である。
【0058】
一方、ユーザ名がフォルダ名に含まれるフォルダが無いと判断した場合(S110:NO)、CPU31は、カスタムポートモニタ42に設定されている権限にて、共有フォルダ45内にフォルダの作成が可能であるか否かを判断する(S113)。フォルダの作成が可能な権限ではないと判断した場合(S113:NO)、CPU31は、カスタムポートモニタ42の権限を、フォルダの作成が可能な権限に変更する(S114)。フォルダの作成が可能な権限は、例えば、管理者権限である。共有ユーザのユーザ名に対応するフォルダが無い場合にフォルダを作成することで、印刷データをフォルダに記憶できない状態を回避できる。なお、カスタムポートモニタ42を起動時から管理者権限で起動してもよく、この場合、S111やS113の判断や、S112やS114でのユーザ権限の変更は不要である。
【0059】
S114の後、または、フォルダの作成が可能な権限であると判断した場合(S113:YES)、CPU31は、共通のフォルダ名にS102にて取得したユーザ名を加えたフォルダ名を決定し、決定したフォルダ名のフォルダを共有フォルダ45に作成する(S115)。S115は、作成処理の一例である。
【0060】
S112の後、S115の後、または、ユーザのフォルダへの書き込み可能な権限が設定されていると判断した場合(S111:YES)、CPU31は、現在の日時の情報である時間情報をOS41から取得する(S116)。時間情報は、このファイル記憶処理を実行する時間を示す情報であり、例えば、現在時刻、当日の年月日と現在時刻とを組み合わせた情報である。
【0061】
そして、CPU31は、S101にて取得した印刷データのファイル名を、情報を付与した名前に変更する(S117)。付与する情報は、例えば、S102にて取得したユーザ名、S116にて取得した時間情報、ユーザ名と時間情報との組み合わせ、である。CPU31は、例えば、印刷データのファイル名の後に、ハイフン、アンダーバー、括弧等の区切り文字を加え、さらに付与する情報を示す文字列を加えて、変更後のファイル名とする。例えば、時間情報を加えたファイル名とすれば、同じユーザによって同じファイル名の印刷データを複数受信した場合でも、それらを区別して記憶することができる。ユーザ名と時間情報とは、付加情報の一例である。
【0062】
さらに、CPU31は、変更後のファイル名で、印刷データをユーザのフォルダに記憶する(S118、
図2のA12)。S118は、記憶処理の一例である。S118の後、CPU31は、ファイル記憶処理を終了する。
【0063】
以上、詳細に説明したように、第1の形態の印刷システム100によれば、各クライアントPCから送信される印刷データは、サーバ3の共有フォルダ45に記憶される。共有フォルダ45にはアクセス可否を示すユーザ権限が設定されているので、サーバ3に記憶される印刷データへの第三者によるむやみなアクセスは抑制されている。一方、カスタムポートモニタ42やプリンタ5には、共有フォルダ45にアクセス可能なユーザ権限が設定されている。従って、カスタムポートモニタ42は、共有フォルダ45に印刷データを記憶させることができる。また、プリンタ5は、共有フォルダ45から印刷データを取得して印刷することができる。
【0064】
さらに、本形態では、サーバ3の共有フォルダ45を介した共有プリンタであることから、複数のクライアントPCからプリンタを使用でき、また、複数のプリンタを同じ使い勝手で使用できる。例えば、本形態の印刷システム100には、プリンタ5と同じモデルで同じ構成のプリンタ6が含まれる。つまり、プリンタ6は、プリンタ5と同様に、
図3に示した動作を実行可能であり、印刷に使用できる印刷データもプリンタ5と共通である。そこで、クライアントPC1~2にて印刷の指示を行う際には、ユーザはプリンタ5~6を区別する必要がなく、単に共有プリンタを指定することで、カスタムポートモニタ42が共有フォルダ45のユーザのフォルダに印刷データを記憶する。そして、ユーザは、プリンタ5~6のいずれかにログインすることで、どちらのプリンタでも同様に印刷データの印刷を行わせることができる。
【0065】
さらに、本形態では、第1の手順にて、カスタムポートモニタ42が印刷データのファイル名に付加情報を付与して記憶させるので、第2の手順にて、ユーザが印刷データを選択する際に、印刷データを区別し易い。付加情報としてユーザ名を付与すれば、誰のファイルか分かり易く、ユーザが印刷データを区別し易い。付加情報として時間情報を付与すれば、何時の印刷データかを把握できるため、ユーザが印刷データを区別し易い。
【0066】
特許文献1に記載されている技術では、プリントサーバに、ウェブサーバの機能を設け、さらにアクセス可否を判定する認証機能や、指定されたユーザの印刷データを検索する検索機能や、指定された印刷データを送信する転送機能を用意し、プリンタ等の外部デバイスから直接フォルダにアクセスさせないことで、印刷データの安全性を確保するとされている。しかし、このようにした場合、プリントサーバに用意しなければならない機能が多く、サーバ側の負荷が高い。本明細書に記載した構成では、それらの機能を必ずしもサーバ3に設ける必要が無く、シンプルな構成で印刷データの安全性を確保できる。
【0067】
続いて、第2の形態にかかる印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、第1の形態と同様の構成の印刷システム100であって、第1の形態と同様に、クライアントPC1~2にて印刷の指示を行う第1の手順と、プリンタ5~6にて印刷を実行させる第2の手順と、を実行可能なシステムである。本形態の印刷システム100においても、サーバ3は、クライアントPC1~2にて受け付けた印刷指示に基づく印刷データを共有フォルダ45に記憶し、プリンタ5~6は、サーバ3に記憶されている印刷データを読み出して印刷する。
【0068】
第2の形態では、サーバ3は、クライアントPC1~2から受信したデータに基づいて印刷データを生成し、プリンタドライバ43によって、ユーザに対応するフォルダに印刷データを記憶する。この点、カスタムポートモニタ42によって印刷データを記憶する、第1の形態のサーバ3とは異なる。つまり、第2の形態では、第1の手順の一部が第1の形態とは異なる。以下では、第1の形態と同様の構成や処理については、第1の形態と同じ符号を付して、説明を省略する。
【0069】
第2の形態のサーバ3は、第1の形態のようなカスタムポートモニタ42によるファイル記憶処理を実行しない。第2の形態のサーバ3はカスタムポートモニタ42を使用しないことから、第2の形態では、カスタムポートモニタ42は無くても良く、サーバ3にカスタムポートモニタ42をインストールする必要はない。第2の形態では、プリンタドライバ43が特別プログラムの一例である。なお、以下では、第1の形態で印刷ジョブに付しているPINに関する記載を省略して説明するが、第2の形態でも印刷ジョブにPINを付しても良い。
【0070】
第2の形態の第1の手順について、
図6を参照して説明する。
図6では、第1の形態と同様の手順については、
図2と同じ符号を付している。本形態の第1の手順では、ユーザは、クライアントPC1にログインし、印刷アプリ22等にて印刷を指示する(A01)。ユーザは、印刷アプリ22等を介して、例えば、プリントキュー24を指定して印刷を指示する。印刷アプリ22は、受け付けた印刷指示に基づいて、OS21に印刷命令を渡す(A02)。印刷命令には、印刷対象の画像を示す画像データと印刷に関するパラメータとが含まれる。
【0071】
OS21は、例えば、GDIによって、受け取った印刷命令に基づく中間データを生成する(C01)。中間データは、レンダリングの完了していないデータであって、プリンタ5がそのまま印刷に利用できる印刷データではない。中間データは、PDL(Page Description Languageの略)データ等の、印刷アプリ22が扱う画像データから印刷データを生成するまでの過程で作成される中間的なデータである。OS21は、生成した中間データをサーバ3に送信する(C02)。
【0072】
これにより、サーバ3のOS41は、クライアントPC1から中間データを受信する。サーバ3では、OS41が受け取った中間データに基づいて、プリンタドライバ43が印刷データの生成を開始する(C03、C04)。プリンタドライバ43は、印刷データの生成に際して、OS41に対して、中間データを送信したクライアントPC1のログイン情報を問い合わせる(C05)。ログイン情報には、クライアントPC1にログイン中のユーザを示すユーザIDまたはユーザ名の情報が含まれる。プリンタドライバ43は、OS41からユーザIDまたはユーザ名の情報を取得する(C06)。プリンタドライバ43は、中間データをレンダリングして印刷データを生成し、生成した印刷データにOS41から取得したユーザ名の情報を含ませる。
【0073】
本形態では、サーバ3が受け取るデータが中間データであって、レンダリングが完了していないことから、少なくともプリンタドライバ43によるレンダリングが必要である。そのため、受信した中間データは、プリンタドライバ43に渡される。これに対し、第1の形態では、サーバ3が受け取るデータがレンダリング済みの印刷データであることから、プリンタドライバ43によるレンダリングが不要であり、プリンタドライバ43による処理は実行されるとは限らない。
【0074】
プリンタドライバ43は、システム権限に偽装する(C07)。プリンタドライバ43は、中間データを受け取ったことで処理を開始した場合、中間データのユーザIDが有する権限で動作する。本形態のプリンタドライバ43は、OS41が予め備えている情報を用いて、システム権限に偽装する。
【0075】
さらに、プリンタドライバ43は、C06にて取得したユーザ名に対応するフォルダを特定し、特定したフォルダに、C04にて生成したレンダリング後の印刷データを記憶する(C08)。印刷データを記憶した後、プリンタドライバ43は、権限の偽装を解いて、元の権限に戻す(C09)。
【0076】
ユーザのフォルダは、第1の形態と同様に、共有フォルダ45にユーザごとに設けられるフォルダである。プリンタドライバ43は、システム権限に偽装することで、共有フォルダ45下のどのフォルダへも印刷データを記憶させることができる。また、プリンタドライバ43は、システム権限に偽装することで、ユーザに対応するフォルダが無い場合にはフォルダを作成することができる。これにより、クライアントPC1にて印刷指示を受け付けた画像に対応する印刷データが、印刷を指示したユーザに対応するフォルダに記憶される。
【0077】
なお、プリンタドライバ43によって生成された印刷データは、OS41を介してポートモニタに渡されてもよい。本形態では、例えば、プリンタドライバ43のインストール時に、ポートモニタによる印刷データの出力ポートとしてNULポートが設定される。すなわち、本形態では、ポートモニタは、受け取ったデータを出力しないように設定される。従って、印刷データがポートモニタに渡されたとしても、ポートモニタが受け取った印刷データは出力されない。
【0078】
第2の形態によっても、第1の形態と同様に,印刷データが、サーバ3の共有フォルダ45のうち、印刷を指示したユーザのユーザIDに対応するフォルダに記憶される。従って、プリンタ5~6は、第1の形態と同様に、サーバ3から印刷データを取得して印刷できる。プリンタ5~6がサーバ3から印刷データを取得して印刷する第2の手順は、第1の形態と同様であるので、説明を省略する。
【0079】
次に、本形態のファイル記憶処理の手順について、
図7のフローチャートを参照して説明する。本形態のファイル記憶処理は、本形態の第1の手順の動作を実現するためのプリンタドライバ43による処理である。このファイル記憶処理は、プリンタドライバ43が中間データを取得したことを契機に、サーバ3のCPU31にて実行される。プリンタドライバ43が中間データを取得する処理は、取得処理の一例である。なお、
図7のファイル記憶処理は、第1の形態のファイル記憶処理とは異なるプログラムによる処理であるが、第1の形態のファイル記憶処理と共通の処理が含まれており、
図7では、
図5と共通の処理については、同じ符号を付している。
【0080】
ファイル記憶処理では、CPU31は、取得した中間データに対応するユーザ名を取得する(S102、
図6のC06)。そして、CPU31は、印刷を指示したユーザが、共有フォルダ45にアクセス可能なユーザ権限が設定されている共有ユーザであるか否かを判断する(S103)。
【0081】
共有ユーザではないと判断した場合(S103:NO)、CPU31は、印刷システム100の管理者に宛てて、共有ユーザ以外のユーザからのアクセスを受け付けたことを示す通知を行い(S104)、ファイル記憶処理を終了する。この場合、CPU31は、終了前に、受け取った中間データを削除しても良い。
【0082】
共有ユーザであると判断した場合(S103:YES)、CPU31は、受け取った中間データをレンダリングして、印刷データを生成する(S201、
図6のC04)。S201は、レンダリング処理の一例である。さらに、CPU31は、OS41の情報を用いてシステム権限に偽装する(S202、
図6のC07)。S202は、設定処理の一例である。これにより、CPU31は、共有フォルダ45へのフォルダの作成やデータの書き込みが可能となる。
【0083】
CPU31は、S102にて取得したユーザ名がフォルダ名に含まれるフォルダが有るか否かを判断する(S110)。フォルダが無いと判断した場合(S110:NO)、CPU31は、共通のフォルダ名にS102にて取得したユーザ名を加えたフォルダ名を決定し、決定したフォルダ名のフォルダを共有フォルダ45に作成する(S115)。S115は、作成処理の一例である。
【0084】
S115の後、または、S102にて取得したユーザ名がフォルダ名に含まれるフォルダが有ると判断した場合(S110:YES)、CPU31は、現在の日時の情報である時間情報をOS41から取得する(S116)。そして、CPU31は、S201にて生成した印刷データのファイル名を、取得した中間データのファイル名に時間情報を付加したファイル名に変更する(S117)。これにより、印刷データのファイル名は、例えば、
図4に示したように、時間情報が付加されたファイル名となる。付加する情報は、ユーザ名でも良いし、ユーザ名と時間情報との組み合わせであっても良い。
【0085】
さらに、CPU31は、変更後のファイル名で、印刷データをユーザのフォルダに記憶する(S118、
図6のC08)。S118は、記憶処理の一例である。ファイルを記憶した後、CPU31は、S202にて偽装した権限を元に戻し(S203、
図6のC09)、ファイル記憶処理を終了する。
【0086】
以上、詳細に説明したように、第2の形態の印刷システム100によっても、クライアントPC1~2から送信される中間データに基づく印刷データが、サーバ3の共有フォルダ45に記憶される。本形態では、印刷データを記憶するための各種の処理をプリンタドライバ43が実行する。プリンタドライバ43は、プリンタ5~6のベンダによって提供されるプログラムであり、カスタムポートモニタ42によって印刷データを記憶する第1の形態と比較して、OS41による制約を受け難いことから、実装が容易である。一方、第1の形態では、クライアントPC1~2のプリンタドライバ23にてレンダリングを行う構成とできることから、サーバ3の負荷が小さい。
【0087】
なお、上記の各実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、各装置の台数は、図示の例に限らず、何台でも良い。また、クライアントPCは、PCに限らず、例えば、スマートフォン、タブレットコンピュータであっても良い。
【0088】
また、プリンタは、印刷機能を有する装置であれば良く、複合機、コピー機、FAX装置等でも良い。プリンタが共有印刷の機能以外にも機能を有するものであれば、プリンタは、例えば、実行する機能の選択を受け付け、共有印刷の指示を受け付けた場合に共有印刷の処理を実行するとすればよい。また、プリンタは、ログインしたユーザに応じて、実行可能な機能を制限しても良い。例えば、プリンタの使用が許可されているユーザであっても、共有印刷が許可されていないユーザがあってもよい。
【0089】
また、各形態では、クライアントPC1~2にもサーバ3にもプリンタ5~6に対応するプリンタドライバを組み込むとしたが、これに限らない。例えば、印刷データにユーザIDやPINの情報を付加する機能は、クライアントPC1~2のプリンタドライバ23のみに有り、サーバ3のプリンタドライバ43には無いとしても良い。また、第1の形態では、印刷対象の画像に基づいて、プリンタにて使用可能な印刷データを生成する機能は、いずれか一方のみにあっても良い。例えば、サーバ3のプリンタドライバ43に印刷データを生成する機能がある場合、クライアントPC1~2は、印刷対象の画像を含むドキュメントファイルや画像ファイルにユーザIDとPINとを付加してサーバ3に送信する。サーバ3のカスタムポートモニタ42は、プリントキュー44から取得したデータがプリンタにて印刷に使用できる印刷データではない場合には、プリンタドライバ43にそのデータを渡して印刷データの生成を行わせるとすればよい。
【0090】
また、各形態では、プリンタ5とプリンタ6とが同じモデルであるとしたが、異なるモデルのプリンタを含む印刷システムであっても良い。モデルが異なることによって対応するプリンタドライバやプリントキューが異なる場合には、サーバ3には各プリンタに対応する共有フォルダをそれぞれ設け、カスタムポートモニタ42またはプリンタドライバ43は、プリントキューに対応する共有フォルダに印刷データを記憶すればよい。また、クライアントPC1等には、そのユーザが使用するプリンタに対応するプリンタドライバがインストールされればよい。また、各プリンタは、自身に対応する共有フォルダから印刷データを取得すればよい。
【0091】
また、各形態では、共有プリンタであるプリンタ5~6に印刷させる場合、セキュア印刷か否かに関係なく全ての印刷データが共有フォルダ45に記憶されるとしたが、記憶されるのはセキュア印刷の印刷データのみとしても良い。この場合、カスタムポートモニタ42またはプリンタドライバ43は、取得した印刷データがセキュア印刷の印刷データであるか否かを判断し、セキュア印刷であれば前述したファイル記憶処理を実行し、セキュア印刷でなければ印刷データをプリンタに送信する、としても良い。
【0092】
また、各形態では、共有フォルダ45を用いているので、クライアントPCやプリンタを使用するユーザによるサーバ3へのログイン操作は不要であるが、ログイン操作を行って印刷データの記憶や取得を行うシステムとすることもできる。その場合、クライアントPCやプリンタは、サーバ3にログインするためのアクセス情報を別途入力させても良いし、クライアントPCやプリンタにログインされた際のログイン情報を用いてサーバ3にログインしても良い。
【0093】
また、各形態では、クライアントPC1~2にて用いるユーザIDと、サーバ3にアクセスする際のユーザIDと、プリンタ5~6にログインする際のユーザIDと、を特に区別していないが、これらはユーザを識別できる情報であれば良く、同じ情報であっても良いし、異なる情報であって互いに関連付けられた情報であっても良い。
【0094】
また、各形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0095】
また、各形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0096】
1、2 クライアントPC
3、 サーバ
5、6 プリンタ
31 CPU
100 印刷システム