JP7608907B2 - Printing system, printing method, information processing device, and program - Google Patents
Printing system, printing method, information processing device, and program Download PDFInfo
- Publication number
- JP7608907B2 JP7608907B2 JP2021046484A JP2021046484A JP7608907B2 JP 7608907 B2 JP7608907 B2 JP 7608907B2 JP 2021046484 A JP2021046484 A JP 2021046484A JP 2021046484 A JP2021046484 A JP 2021046484A JP 7608907 B2 JP7608907 B2 JP 7608907B2
- Authority
- JP
- Japan
- Prior art keywords
- printing
- data
- printer driver
- print job
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Description
本発明は、印刷システム、印刷方法、情報処理装置、及び、プログラムに関する。 The present invention relates to a printing system, a printing method, an information processing device, and a program.
プリンターや複合機などの画像形成装置が「割り込み印刷」の機能を有する場合がある。急いで印刷したい印刷ジョブがある場合、エンドユーザーは操作パネルで割り込み印刷を指定することにより、後から印刷指示した印刷ジョブの印刷順位を上げて、先に印刷できる。 Image forming devices such as printers and multifunction devices may have an "interrupt printing" function. If there is a print job that needs to be printed quickly, the end user can specify interrupt printing on the operation panel to raise the print priority of the print job that was requested to be printed later, so that it can be printed first.
割り込み印刷には「ページ単位の割り込み」と「ジョブ単位の割り込み」がある。機種によっては、「ジョブ単位の割り込み」だけがサポートされていて、「ページ単位の割り込み」がサポートされないことがある。「ページ単位の割り込み」がサポートされない場合、例えば、画像形成装置が1,000ページの印刷ジョブの印刷を開始したとする。このとき、「ジョブ単位の割り込み」では、1,000ページの印刷ジョブの印刷が終わるまで、次の印刷ジョブの印刷を開始できない。 There are two types of interrupt printing: "page-based interrupt" and "job-based interrupt." Some models only support "job-based interrupt," and do not support "page-based interrupt." If "page-based interrupt" is not supported, for example, let's say the image forming device starts printing a 1,000-page print job. In this case, with "job-based interrupt," the next print job cannot start printing until the 1,000-page print job is finished.
ページ単位の割り込みに関する技術が提案されている(例えば、特許文献1参照。)。特許文献1には、エンドユーザーがジョブ管理ツールを通じて、割り込ませたい印刷ジョブを指定すると、プリンター別出力スレッドが、現在印刷中の印刷ジョブを停止するようにシステムスプーラに依頼し、プリンター制御モジュールより印刷が停止された通知と共に印刷完了頁を受け取ると、プリント制御ファイルの印刷開始頁を変更し、ジョブ記述ファイルの優先度を最大にし、印刷ジョブの印刷順序を再編成して印刷を行う技術が開示されている。
Technology related to page-by-page interrupts has been proposed (see, for example, Patent Document 1).
しかしながら、従来の技術は、特定の機種のプリンタードライバーが使用されていないとページ単位の割り込みが可能にならないという問題があった。 However, the conventional technology had the problem that page-by-page interrupts were not possible unless a specific model of printer driver was used.
例えば、特許文献1に記載のプリンター制御モジュール(プリントプロセッサー)は、物理的なプリンターと通信を行うことにより「何ページまで印刷が完了したか」を判断している。しかし、Windows(登録商標)の標準のプリントプロセッサー(winprint)にはそのような機能はないので、特定のプリンタードライバーが前提になっていると判断できる。
For example, the printer control module (print processor) described in
本発明は、上記課題に鑑み、印刷ジョブのページ単位の割り込み印刷について機種やプリンタードライバー等の制約を低減することを目的とする。 In view of the above problems, the present invention aims to reduce the restrictions imposed by models, printer drivers, etc. on page-by-page interrupt printing of a print job.
上記課題に鑑み、本発明は 情報処理端末から送信された印刷ジョブを情報処理装置が画像形成装置で印刷する印刷システムであって、前記情報処理端末から受け取った印刷に使用する実プリンタードライバーが選択された印刷対象のデータを、仮想プリンタードライバーを用いてEMFデータに変換して印刷ジョブとして第一の記憶手段に保存するジョブ保存手段と、前記第一の記憶手段に保存された前記EMFデータを1ページ単位以上の分割中間データに分割し、各分割中間データを前記印刷ジョブに対応付けて第二の記憶手段に保存する印刷制御手段と、前記印刷ジョブの一覧画面を表示し、該一覧画面において表示される複数の前記印刷ジョブの印刷順の変更を受け付ける受付手段と、前記受付手段により受け付けた前記印刷順の変更により、前記第二の記憶手段に保存されている分割中間データの並べ替えを行い、並べ替えによって最も印刷順が早くなった第二の印刷ジョブの第二の分割中間データの印刷順を最優先と決定する決定手段と、を有し、前記印刷制御手段は、印刷中である第一の印刷ジョブの第一の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置が終了した場合、前記決定手段により最優先の印刷順と決定された前記第二の印刷ジョブの前記第二の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置で開始する。
In view of the above problems, the present invention provides a printing system in which an information processing device prints a print job transmitted from an information processing terminal with an image forming device, the system comprising: a job storage means for converting print target data received from the information processing terminal and selected for use in printing by a real printer driver using a virtual printer driver into EMF data and storing the data in a first storage means as a print job; a print control means for dividing the EMF data stored in the first storage means into divided intermediate data of one or more pages, and storing each divided intermediate data in a second storage means in association with the print job; an acceptance means for displaying a list screen of the print jobs and accepting a change in the print order of the multiple print jobs displayed on the list screen ; and and a determination means for rearranging the divided intermediate data stored in the second storage means based on the change in the printing order received by the printing control means, and determining that the printing order of the second divided intermediate data of the second print job which has been rearranged to be the earliest in the printing order is to be the highest priority, wherein the print control means converts the first divided intermediate data of the first print job which is being printed into RAW data by the real printer driver, and when printing of the RAW data is completed by the image forming device, converts the second divided intermediate data of the second print job which has been determined to have the highest printing order by the determination means into RAW data by the real printer driver, and starts printing of the RAW data by the image forming device.
印刷ジョブのページ単位の割り込み印刷について機種やプリンタードライバー等の制約を低減することができる。 This reduces the restrictions imposed by printer models, printer drivers, etc. on page-by-page interrupt printing of print jobs.
以下、本発明を実施するための形態の一例として、印刷システムと印刷システムにおける印刷方法について実施例を挙げながら説明する。 Below, we will explain a printing system and a printing method in the printing system using examples as an example of a form for implementing the present invention.
<本実施形態の印刷システムの動作の概略>
本実施形態の印刷システムでは、後述するプリントサーバー常駐プログラムが、仮想プリンタードライバーと実プリンタードライバーの間でEMFデータをページ単位以上に分割し、分割後のEMFデータを実プリンタードライバーに処理させる。この結果、印刷ジョブの印刷順に応じて、プリントサーバー常駐プログラムが印刷中の印刷ジョブの処理を一時的に中断して、優先順位が最も高い別の印刷ジョブを実プリンタードライバーに処理させる。プリントサーバー常駐プログラムは、処理完了後に元の印刷ジョブの続きのEMFデータを実プリンタードライバーに処理させることにより、ページ単位の割り込み印刷を実現できる。EMFデータは機種依存しないので、任意のプリンタードライバーが使用されてもページの割り込みが可能になる。
<Outline of Operation of Printing System of the Present Embodiment>
In the printing system of this embodiment, a print server resident program, which will be described later, divides EMF data into units of pages or more between the virtual printer driver and the real printer driver, and has the real printer driver process the divided EMF data. As a result, depending on the printing order of the print jobs, the print server resident program temporarily suspends processing of the print job being printed and has the real printer driver process another print job with the highest priority. After processing is complete, the print server resident program has the real printer driver process the EMF data that follows the original print job, thereby realizing interrupt printing on a page basis. Because EMF data is not model-dependent, page interrupts are possible even if any printer driver is used.
<用語について>
ページ単位の割り込み印刷とは、すでに印刷中の印刷ジョブ(第一の印刷ジョブ)の印刷を一時的に中断し、後から到着した印刷ジョブ(第二の印刷ジョブ)を印刷し、後から到着した印刷ジョブの印刷完了後に、中断した印刷ジョブの印刷を再開することをいう。
<Terminology>
Page-by-page interrupt printing refers to temporarily interrupting printing of a print job that is already being printed (first print job), printing a print job that arrives later (second print job), and resuming printing of the interrupted print job after printing of the later print job is completed.
<構成例>
図1は、印刷システム1の一例のシステム構成図である。ネットワークNにプリンター20、プリントサーバー30、クライアントPC10、及び、端末装置50が接続されている。プリントサーバー30及びクライアントPC10には、例えば、Windows(登録商標)系のOS(サーバーにはサーバー用のOS)がインストールされている。
<Configuration example>
1 is a system configuration diagram of an example of a
クライアントPC10は(情報処理端末の一例)、このプリントサーバー30に対してプリンター20による印刷を要求することができる。このようなシステムでは、クライアントPC10にはプリントサーバー30と同じプリンタードライバーがインストールされている必要がある。ネットワーク上の個々のクライアントPC10に、管理者などがプリンタードライバーをインストールするには非常にコストがかかってしまう。
A client PC 10 (an example of an information processing terminal) can request printing from this
Point&Printはこの不都合を解決する手段として、プリントサーバー30からクライアントPC10にプリンタードライバーをダウンロードしてインストールすることを可能にしている。これは、Windows(登録商標)系OS標準の機能である。本実施形態では、後述する仮想プリンタードライバー及び実プリンタードライバーがPoint&Printの仕組みで、プリントサーバー30へのインストール後、クライアントPC10にインストールされる。
Point&Print solves this problem by making it possible to download and install a printer driver from the
プリンター20は、用紙などのカット紙又は連続紙に画像を形成し、出力する画像形成装置である。プリンター20は印刷装置と呼ばれる場合がある。また、プリンター20の機能を有していれば、プリンター20は、MFP(Multifunction Peripheral/Printer/Product)、複合機、コピー機、ファクシミリ装置、又は、スキャナ装置等と呼ばれていてもよい。
The
プリントサーバー30は所定のOSが動作する情報処理装置であればよい。プリントサーバー30は一台以上の情報処理装置を有していてよい。この場合、一台の情報処理装置がそれぞれプリントサーバー30の機能を提供しても、複数の情報処理装置で1つのプリントサーバー30の機能を提供してもよい。また、プリントサーバー30はクラウドコンピューティングに対応していてよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。プリントサーバー30はオンプレミスに存在しても、インターネット上に存在してもよい。
The
クライアントPC10は、所定のOS、アプリケーション及びプリンタードライバーが動作する情報処理装置である。OS上では、印刷対象の文書を作成する各種のアプリケーションが動作する。エンドユーザーはクライアントPC10を操作して、プリントサーバー30に印刷を要求する。クライアントPC10は例えば、PC、タブレット端末、スマートフォン、ウェアラブルPC、又は、PDA(Personal Digital Assistant)などである。この他、所定のOS、アプリケーション及びプリンタードライバーが動作すれば、ゲーム機、デジタルカメラ等でもよい。
The client PC 10 is an information processing device on which a specific OS, application, and printer driver run. Various applications for creating documents to be printed run on the OS. An end user operates the client PC 10 to request printing from the
また、ネットワークには必要に応じて端末装置50が接続される。端末装置50ではWebブラウザが動作し、プリントサーバー30が提供するWebアプリケーションを実行する。Webアプリケーションとは、ブラウザ上で動作するプログラミング言語(たとえばJavaScript(登録商標))によるプログラムとWebサーバー側のプログラムが協調することによって動作し、ブラウザ上で実行されるソフトウェア又はその仕組みを言う。本実施形態では、エンドユーザーが割り込み指示を行うために端末装置50を操作する。また、管理者が各種の設定を行うために端末装置50を操作する。端末装置50の具体例はクライアントPC10と同様でよい。
Furthermore, a
<ハードウェア構成例>
図2は、コンピュータ装置500の一例のハードウェア構成図である。クライアントPC10、プリントサーバー30、及び、端末装置50は図2に示すようなコンピュータ装置500のハードウェア構成を有している。
<Hardware configuration example>
2 is a diagram showing an example of a hardware configuration of a
コンピュータ装置500は、図2に示されているように、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
As shown in FIG. 2, the
これらのうち、CPU501は、コンピュータ装置全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。
Of these, the
HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。
ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンター20等である。
The
ネットワークI/F509は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン510は、図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
The network I/
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な記録媒体の一例としての光学メディア513に対する各種データの読み出し又は書き込みを制御する。なお、光学メディアはCD-ROM、DVD-RW、Blu-Ray(登録商標)など、どのようなものでもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
The
<<機器>>
図3は、プリンター20の一例である複合機のハードウェア構成図である。図3に示されているように、プリンター20は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
<<Equipment>>
3 is a hardware configuration diagram of a multifunction peripheral that is an example of the
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
Of these, the
これらのうち、CPU901は、プリンター20の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
Of these, the
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
The MEM-
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンター部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906は、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを有し、これらと接続されてもよい。
SB904 is a bridge for connecting NB903 with PCI devices and peripheral devices. ASIC906 is an IC (Integrated Circuit) for image processing applications that has hardware elements for image processing, and acts as a bridge connecting AGP bus921, PCI bus922, HDD controller908, and MEM-C907. This ASIC906 is composed of a PCI target and AGP master, an arbiter (ARB) that is the core of ASIC906, a memory controller that controls MEM-C907, multiple DMACs (Direct Memory Access Controllers) that rotate image data using hardware logic, and a PCI unit that transfers data between scanner unit931, printer unit932, and facsimile unit via PCI bus922. In addition,
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。 MEM-C907 is a local memory used as an image buffer for copying and a code buffer. HD909 is a storage for storing image data, font data used during printing, and forms. HD909 controls the reading and writing of data from and to HD909 under the control of CPU901. AGP bus921 is a bus interface for a graphics accelerator card proposed to speed up graphic processing, and by directly accessing MEM-P902 with high throughput, the graphics accelerator card can be made faster.
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
The short-
更に、エンジン制御部930は、スキャナ部931、プリンター部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、プリンター20全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンター部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
The
なお、プリンター20は、操作パネル940のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンター20機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。プリンター20は、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンター20機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
The
また、ネットワークI/F950は、ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
The network I/
<機能について>
図4は、クライアントPC10、及び、プリントサーバー30が有する機能をブロックに分けて説明する機能ブロック図の一例である。
<About the function>
FIG. 4 is an example of a functional block diagram illustrating functions of the
まず、全体の流れを簡単に説明する。 First, let me briefly explain the overall process.
(1) エンドユーザーAがアプリケーション11に対し印刷対象のデータ(文書ファイル12)の印刷操作を入力する。印刷操作の際、エンドユーザーAは仮想プリンタードライバー14を選択する。仮想プリンタードライバー14とは、実際の印刷を行う実プリンタードライバー16と区別するための呼称であり、エンドユーザーからはプリンタードライバーに見えるが、実プリンタードライバー16との紐付けなどに使用される。エンドユーザーAが実プリンタードライバー16を使用すると、独自スプール41にスプールされずに印刷が開始されてしまう。仮想プリンタードライバー14があることで、プリントサーバー常駐プログラム33が独自スプール41にEMFデータを保存できる。
(1) End user A inputs a print operation for the data to be printed (document file 12) into
(2) GDI(Graphics Device Interface)13が、仮想プリンタードライバー14にEMFデータを渡す。EMFデータとは、Windows(登録商標)のGDIコマンドで記述された印刷データである。EMFデータはプリンター20の機種には依存しない。EMFデータは後にプリンター20に固有のRAWデータに変換されることから、中間データと呼ばれる場合がある。
(2) The GDI (Graphics Device Interface) 13 passes the EMF data to the
(3) 仮想プリンタードライバー14(ジョブ保存手段の一例)はEMFデータをEMFスプール(クライアント用)15に保存する(第一の記憶手段の一例)。 (3) The virtual printer driver 14 (an example of a job storage means) stores the EMF data in the EMF spool (for client) 15 (an example of a first storage means).
(4) EMFスプール(クライアント用)15に保存されたEMFデータは、Windows(登録商標)がRPC(Remote Procedure Call)プロトコルで自動的に(ほぼ瞬時に)EMFスプール(サーバー用)32に送信する。 (4) The EMF data stored in the EMF spool (for client) 15 is automatically (almost instantly) sent by Windows (registered trademark) to the EMF spool (for server) 32 using the RPC (Remote Procedure Call) protocol.
(5) プリントサーバー30のスプーラーは、クライアントPC10のスプーラー(スプールを管理・制御するプログラム)とRPCで通信しており、印刷要求があったことを検出して、実プリンタードライバー36を呼び出し、EMFデータの印刷を要求する。仮想プリンタードライバー31は自分が印刷する機能を有していない。
(5) The spooler of the
(6) ここで、本実施形態では、プリントサーバー常駐プログラム33(印刷制御手段の一例)が印刷要求を受け取り、EMFデータを印刷ジョブとして独自スプール41に保存する(第二の記憶手段の一例)。独自スプール41はOSが用意するスプールでなく、本実施形態の印刷システム1が用意するスプールである。スプールという名称だが、プリントサーバー常駐プログラム33が管理できる記憶手段であればよい。
(6) Here, in this embodiment, the print server resident program 33 (an example of a print control means) receives the print request and saves the EMF data as a print job in the unique spool 41 (an example of a second storage means). The
本実施形態のプリントサーバー常駐プログラム33は、印刷ジョブを1ページ以上単位に分割することで、1つの印刷ジョブを複数の印刷ジョブ(分割中間データの一例)として保存する。
The print
このように、機種依存がないEMFデータを分割するので、本実施形態の割り込み印刷はプリンタードライバーやプリンター20の機種に依存せずに、実現できる。
In this way, the EMF data, which is not model-dependent, is divided, so interrupt printing in this embodiment can be achieved without depending on the printer driver or the model of the
(7)また、印刷システム1は、独自スプール41に登録されている印刷ジョブの印刷順位の変更を受け付けるWebアプリケーション34(受付手段の一例)を提供する。エンドユーザーBはこのWebアプリケーション34に、独自スプール41に保存された印刷ジョブの印刷順位の変更を設定する。なお、Webアプリケーション34は、操作ログDB40に操作ログを記録しておく。これにより誰が割り込み印刷したか記録される。
(7) The
(8) プリントサーバー常駐プログラム33は、独自スプール41に保存されている印刷ジョブの印刷順に基づいて、実プリンタードライバー36(印刷手段の一例)で印刷を実行するようにGDI35に要求する。GDI35は、要求を受けて、印刷ジョブを独自スプール41から取り出し、実プリンタードライバー用スプール42(第三の記憶手段の一例)に保存する。実プリンタードライバー36は、実プリンタードライバー用スプール42のEMFデータをRAWデータに変換して、実プリンタードライバー用スプール42に保存し直す。
(8) The print
(9) プリントサーバー30のスプーラーは、実プリンタードライバー用スプール42のRAWデータをポートモニター37に渡す。ポートモニター37は、RAWデータを取得すると、プリンター20で印刷する。
(9) The spooler of the
<各機能の説明>
図4に示したように、クライアントPC10は、アプリケーション11、GDI13、仮想プリンタードライバー14、EMFスプール(クライアント)15、1つ以上の実プリンタードライバー16、及び、クライアントPC常駐プログラム17を有している。プリントサーバー30は、仮想プリンタードライバー31、EMFスプール(サーバー)32、プリントサーバー常駐プログラム33、Webアプリケーション34、GDI35、1つ以上の実プリンタードライバー36、及び、ポートモニター37を有する。なお、設定情報DB38、外部ユーザー情報DB39、及び、操作ログDB40はプリントサーバー30が有していてもネットワーク上にあってもよい。
<Explanation of each function>
4, the
以下、これらのうち、主に、本実施形態の印刷システム1が提供する機能について詳細に説明する。
Below, we will mainly explain in detail the functions provided by the
<<アプリケーション>>
まず、アプリケーション11は、エンドユーザーが印刷指示する文書ファイル12を編集するためのソフトウェアである。アプリケーション11は、ワープロアプリ、表計算アプリ、又は、Webブラウザアプリなどどのようなものでもよい。
<<Application>>
First, the
<<GDI>>
Windows(登録商標)の印刷アーキテクチャでは、アプリケーション11からの印刷設定及び印刷指示はAPIを使ってOSのGDIに対して通知される。このGDI13はOSの一部である。GDI13は直線や曲線等の描画、フォントのレンダリング、パレットの制御といった描画に関する処理を担当する。本実施形態では、GDI13はEMFデータを生成する。
<<GDI>>
In the Windows (registered trademark) printing architecture, print settings and print instructions from the
<<仮想プリンタードライバー>>
仮想プリンタードライバー14は、Windows(登録商標)のPoint&Print機能をエンドユーザーが使うことで、クライアントPC10にインストールされる。仮想プリンタードライバー14は、実際には印刷を行わず、プリントサーバー30に印刷を要求する。仮想プリンタードライバー14の印刷設定画面では、エンドユーザーが実際に印刷を行う実プリンタードライバー16を指定する。
<<Virtual printer driver>>
The
図5は、仮想プリンタードライバー14の印刷設定画面100の一例である。図5の印刷設定画面100は、エンドユーザーAが仮想プリンタードライバー14のアイコンを右クリックし、「印刷設定」を選択すると表示される。
Figure 5 is an example of the print settings screen 100 of the
・プリンター名欄101は、エンドユーザーがプルダウンメニューで実プリンタードライバー16を選択する欄である。エンドユーザーは、プリンター20の機種を問わず、任意の実プリンタードライバー16を指定できる。クライアントPC10にインストール済みの実プリンタードライバー16がプルダウンメニューで表示される。
The
・設定ボタン102は、プリンター名欄101で、現在選択されている実プリンタードライバー16の印刷設定画面をエンドユーザーが表示させるためのボタンである。
- The
エンドユーザーが仮想プリンタードライバー14を使って印刷を行うと、プリントサーバー30がEMFデータに対して図4で説明した処理を行い、実プリンタードライバー36にEMFデータが渡される。
When an end user prints using the
<<実プリンタードライバー>>
実プリンタードライバー16は、クライアントPC10からプリンター20に実際に印刷を行う際に使用されるプリンタードライバーであるが、本実施形態では、直接は使用されない。ただし、クライアントPC10には、プリントサーバー30上の仮想プリンタードライバー14だけでなく、エンドユーザーが利用するすべての実プリンタードライバー16がネットワークプリンターとしてインストールされる(Point&Printでインストールされたプリンタードライバー)。これにより、エンドユーザーは設定ボタン102の押下で所定の画面を表示できる。
<< Actual printer driver >>
The
<<クライアントPC常駐プログラム>>
本実施形態の印刷システム1は、直接印刷禁止機能を有している。直接印刷とは、エンドユーザーが、仮想プリンタードライバー14を使わずに、実プリンタードライバー16を使って印刷を行うことである。
<<Client PC resident program>>
The
図6は、仮想プリンタードライバー14のプロパティ画面の一例である。図6のプロパティ画面110は、管理者が仮想プリンタードライバー14のアイコンを右クリックし、「プリンターのプロパティ」を選択すると表示される。
Figure 6 is an example of a properties screen for the
図6に示すように、仮想プリンタードライバー14のプロパティで、管理者が「他のプリンタードライバーを使った印刷を禁止する」のチェックボックスにチェックを入れる。これにより、エンドユーザーは直接印刷ができなくなる。すなわち、実プリンタードライバー16を使って直接印刷しようとするとエラーが表示される。
As shown in Figure 6, in the properties of the
クライアントPC常駐プログラム17は、エンドユーザーの操作を監視することによって直接印刷禁止機能を実現する。
The client
なお、エンドユーザーがWindows(登録商標)の管理者権限を持っていると、クライアントPC常駐プログラム17を終了できてしまうため、この機能は無効になる可能性がある。Windows(登録商標)の管理者だけが行える設定なので、図6は印刷設定画面ではなく、プロパティ画面である必要がある。
Note that if the end user has administrator privileges for Windows (registered trademark), this function may be disabled because the end user may be able to terminate the client
<<プリントサーバーの仮想プリンタードライバー>>
プリントサーバー30の仮想プリンタードライバー31はクライアントPC10のものと同じである。
<<Virtual printer driver on the print server>>
The
<<Webアプリケーション>>
Webアプリケーション34は、後述するように、エンドユーザー用の印刷ジョブ一覧画面、各種の管理者用の画面、及び、印刷ログ管理画面を提供できる。
<<Web Applications>>
As described below, the
エンドユーザーは、印刷ジョブ一覧画面で、独自スプール41上の印刷ジョブ(実体はEMFデータ)の印刷順を変更できる。エンドユーザーは、Webアプリケーション34を使用する前に、Webアプリケーション34にログインする必要がある。
The end user can change the printing order of print jobs (actually EMF data) on the
これは、Webアプリケーション34が、エンドユーザーごとの操作履歴をログに残し、「誰が割り込み印刷を実施したのか」を後で確認できるようにするためである。
This is so that the
Webアプリケーション34のユーザー情報は、外部ユーザー情報DB39に保存されている。外部ユーザー情報DB39のユーザー情報はWebアプリケーション34独自で管理機能を提供してもよいし、LDAP(Lightweight Directory Access Protocol)などにより提供してもよい。
The user information of the
Webアプリケーション34上でのエンドユーザーの操作は、Webアプリケーション34が操作ログDB40に記録する。また、Webアプリケーション34上で設定されたプリントサーバー常駐プログラム33の制御に関する設定は設定情報DB38に保存される。
The end user's operations on the
Webアプリケーション34は、操作ログDB40に保存されたログの閲覧機能を提供する。個人情報保護のため、ログ閲覧機能を利用できるのは、Webアプリケーション34の管理者に限られる。割り込み印刷で「割り込まれた」エンドユーザーが「誰が割り込んだのか」を知りたいときは、管理者に情報提供を依頼する必要がある。
The
<<独自スプール>>
独自スプール41上では、管理者が設定した、1ページ以上の単位で分割されたEMFデータ群が、元の印刷ジョブごとにまとめて管理される。つまり、1つの印刷ジョブから分割された複数のEMFデータは元の印刷ジョブと対応付けられている。例えば、図4では独自スプール41が実プリンタードライバーグループXと実プリンタードライバーグループYを有している。実プリンタードライバーグループX内ではAが付された分割ジョブが1つの印刷ジョブから分割されたものであり、Bが付された分割ジョブが1つの印刷ジョブから分割されたものである。
<<Original spool>>
On the
Webアプリケーション34においても管理者又はエンドユーザーの操作の対象は、元の印刷ジョブである(分割後のEMFデータを管理者又はエンドユーザーが見ることができない)。つまり、管理者又はエンドユーザーは、実プリンタードライバーグループX内にAとBという2つの印刷ジョブがあるとしか認識しない。
In the
更に、独自スプール41の印刷ジョブは、実プリンタードライバーグループごとに管理される。各印刷ジョブの進捗(「何ページのジョブの何ページまで印刷完了したか」)を、Webアプリケーション34は、例えば「25/60ページ」のような形で表示する。実プリンタードライバーグループとは、実プリンタードライバー36が異なってもプリンター20が同じ実プリンタードライバー36がまとめられた実プリンタードライバー36のグループである。
Furthermore, print jobs in the
<<プリントサーバー常駐プログラムとWebアプリケーション>>
プリントサーバー常駐プログラム33とWebアプリケーション34は関連が深いので、まとめて説明する。
<<Print server resident programs and Web applications>>
The print
図7は、Webアプリケーション34のエンドユーザー向け画面例を示す。図7(a)は端末装置50が表示するログイン画面120の一例である。
・ユーザー名欄121は、エンドユーザーがユーザー名(又はユーザーID)を入力する欄である。
・パスワード欄122は、エンドユーザーがパスワードを入力する欄である。
7A and 7B show examples of end-user screens of the
The
The
図7(b)は、ログインボタン124の押下(ログイン成功)により端末装置50が表示するプリンター選択画面130の一例である。プリンター選択画面130は実プリンタードライバーグループの名称131と対応するラジオボタン132を有する。実プリンタードライバーグループの実プリンタードライバー36は、印刷先のプリンター20が同じなので、エンドユーザーは実プリンタードライバーグループ単位で印刷順を変更できる。エンドユーザーは、実プリンタードライバーグループの選択によりプリンター20を選択したことになる。エンドユーザーはラジオボタン132でプリンター20を選択し、次へボタン133を押下する。
Figure 7 (b) is an example of the
図8は、印刷ジョブ一覧画面140の一例を示す。印刷ジョブ一覧画面140は、エンドユーザーが選択した実プリンタードライバーグループ(プリンター20)に投入されている独自スプール41上の印刷ジョブの一覧を表示する。図8はWebアプリケーション34の画面であり、エンドユーザーがページ単位の割り込みを行う場合に割り込みすることができる。各項目について説明する。
Figure 8 shows an example of the print
・ドキュメント141は印刷対象のデータの名称である。Windows(登録商標)の印刷ジョブ画面に表示されている「ドキュメント名」と同じものである。独自スプール41の印刷ジョブは分割されているが、印刷ジョブ一覧画面140では、分割前の印刷ジョブが表示される。
-
・用紙142は、印刷に使用される用紙のサイズである。
-
・ジョブの状態143は、印刷ジョブがどのような状態かを示す。
-
独自スプール41上の印刷ジョブ(元の印刷ジョブごとにまとめられた複数のEMFデータ)は、以下の状態(ステータス)のどれかを持つ。
A print job (multiple EMF data organized by original print job) on the
a. 印刷待ち
印刷待ちは、独自スプール41から実プリンタードライバー用スプール42への送信を待っている状態である。
a. Waiting to print Waiting to print is a state in which transmission from the
b. 印刷中
印刷中は、独自スプール41から実プリンタードライバー用スプール42にEMFデータを送信している状態である。
b. Printing in progress During printing, EMF data is being sent from the
c. スプール中
スプール中は、独自スプール41への登録が始まっているが、まだ全ページ分は登録されていない状態。後述する図13で、管理者が「最初のページが到着したときに、ジョブをスプールに登録する」を選択していると、最初のページが独自スプール41に登録された時点でステータスが「スプール中」になる。全ページの登録が完了するとジョブの状態143は「印刷待ち」になる。「スプール中」のジョブは「印刷中」に遷移できない。言い換えると、独自スプール41に全ページが登録されていない状態では、印刷は開始できない。ただし、印刷ジョブ一覧画面140で印刷順の変更は可能である。こうすることで、プリントサーバー30は他のジョブを待たせるリスクを軽減できる。
c. Spooling In spooling, registration to the
d. 印刷停止
印刷停止は、独自スプール41内での印刷順は変わらないが印刷されない状態である。最上位の「印刷中」ジョブの次に位置しているときは、「印刷中」ジョブの印刷が完了すると、更に下の「印刷待ち」ジョブが最上位に移動して「印刷中」になる。「印刷停止」ジョブは第2位に居続ける。「印刷停止」の状態を持つ印刷ジョブは、例えばスケジューラーと連携して、深夜の時間帯に自動的に印刷を開始する使い方が想定される。
d. Printing stopped Printing stopped is a state in which the printing order in the
e. 停止中
停止中は、エンドユーザーが[停止]ボタンを押し、状態が「印刷中」又は「印刷待ち」から「印刷停止」に変わるまでの一時的な状態である。
e. Stopped The stopped state is a temporary state that occurs when the end user presses the [Stop] button and the status changes from "Printing" or "Waiting to print" to "Printing stopped."
f. 削除中
削除中は、エンドユーザーが[削除]ボタンを押し、印刷ジョブの削除が完了するまでの一時的な状態である。
f. Deleting Deleting is a temporary state until the end user presses the [Delete] button and the print job deletion is completed.
・印刷完了ページ144は、印刷ジョブの全体のページ数に対し、終了したページ数を示す。 - Printing completion pages 144 indicates the number of completed pages out of the total number of pages in the print job.
・受付時刻145は、印刷ジョブが投入された時刻(独自スプール41に印刷ジョブのスプールが開始された時刻)である。
- The
・実プリンタードライバー146は、印刷ジョブに対応付けられている実プリンタードライバー36の種類である。エンドユーザーが仮想プリンタードライバー14に対応付けた実プリンタードライバー16と同じである。 また、印刷ジョブ一覧画面140は、戻るボタン147、上へボタン148、下へボタン149、停止ボタン150、開始ボタン151、及び、削除ボタン152を有する。
The
・戻るボタン147は、印刷ジョブ一覧画面140からプリンター選択画面130に戻るためのボタンである。
- The
・上へボタン148は、エンドユーザーがラジオボタン153で選択した印刷ジョブの印刷順位を上げるためのボタンである。エンドユーザーが現在最上位の「印刷中」ジョブより上に印刷ジョブを移動すると、それまでの「印刷中」ジョブは「印刷待ち」にジョブの状態143が変わり、最上位に移動した印刷ジョブが「印刷中」になる。「印刷中」から「印刷待ち」に変わった「つまり割り込まれた」印刷ジョブは、印刷完了ページ144が例えば「25/60ページ」と表示されてジョブの状態143が「印刷待ち」に変わる。ジョブの状態143が「印刷待ち」で、かつ、ページ表示が「0/xxページ(xxは任意のページ数)」でない印刷ジョブは、いったん印刷を開始した後、別の印刷ジョブに「割り込まれた」印刷ジョブである。
- The
・下へボタン149は、エンドユーザーがラジオボタン153で選択した印刷ジョブの印刷順位を下げるためのボタンである。現在最上位の「印刷中」ジョブに対して下へボタン149をエンドユーザーが押下すると、「印刷中」から「印刷待ち」に、ジョブの状態143が変わる。代わりに最上位になったジョブの状態143が「印刷中」になる。
- The
・停止ボタン150は、エンドユーザーがラジオボタン153で選択した印刷中の印刷ジョブを停止させるためのボタンである。停止ボタン150は、エンドユーザーが選択したジョブの状態143が「印刷待ち」又は「印刷中」のときだけ押せる。
- The
・開始ボタン151は、エンドユーザーがラジオボタン153で選択した印刷停止の印刷ジョブを印刷待ちに変更するためのボタンである。開始ボタン151は、エンドユーザーが選択したジョブの状態143が「印刷停止」のときだけ押せる。
- The
・削除ボタン152は、エンドユーザーが印刷ジョブを削除するためのボタンである。印刷ジョブの削除確認ダイアログが表示される。
- The
続いて、Webアプリケーション34が表示する管理者向けのいくつかの画面を説明する。図7(a)で管理者が管理者用ユーザー名とパスワードを入力し、管理者画面へボタン123を押下する。
Next, we will explain some screens for administrators that are displayed by the
図9は、管理者画面へボタン123の押下(ログイン成功)により端末装置50が表示する管理者画面160の一例である。管理者画面160は、管理者が選択できるメニューを表示する。
Figure 9 shows an example of an
・「操作ログの閲覧」161とは、管理者が印刷ジョブの履歴、ログインユーザ、又は、各操作のログを閲覧するメニューである。 - "View operation log" 161 is a menu that allows the administrator to view the history of print jobs, logged-in users, or logs of each operation.
・「実プリンタードライバーグループの定義」162は、プリンター選択画面130に表示されるプリンター20を管理者が定義するためのメニューである。「実プリンタードライバーグループ」は、出力先の実際のプリンター20が同一であるような1つ以上のプリンタードライバーをまとめたものである。
- "Define real printer driver group" 162 is a menu that allows the administrator to define the
・「実プリンタードライバーグループの設定」163は、プリンター選択画面130に表示されるプリンター20ごとの設定を管理者が行うためのメニューである。
- "Real printer driver group settings" 163 is a menu that allows the administrator to configure settings for each
ここでは、管理者が、管理者画面160の「実プリンタードライバーグループの定義」162に対応付けられているラジオボタンを押下して、次へボタン164を押下した場合を説明する。
Here, we will explain what happens when the administrator presses the radio button associated with "Define actual printer driver group" 162 on the
管理者画面160で管理者はラジオボタンで「実プリンタードライバーグループの定義」162を選択し、次へボタン164を押下する。
On the
図10(a)は、実プリンタードライバーグループの定義画面(その1)170の一例である。実プリンタードライバーグループの定義画面(その1)170は、プリンター20(すなわち、実プリンタードライバーグループ)を管理者が選択するための画面である。実プリンタードライバーグループの定義画面(その1)170は、プリンター20のリスト171と「新しいプリンターを追加する」172に対応付けられているラジオボタンを有している。
Figure 10 (a) is an example of a real printer driver group definition screen (part 1) 170. The real printer driver group definition screen (part 1) 170 is a screen that allows the administrator to select a printer 20 (i.e., a real printer driver group). The real printer driver group definition screen (part 1) 170 has a list of
図10(b)は、実プリンタードライバーグループの定義画面(その1)170でプリンターAを管理者が選択して次へボタン173を押下することで端末装置50が表示する実プリンタードライバーグループの定義画面(その2)180の一例である。
Figure 10 (b) is an example of a real printer driver group definition screen (part 2) 180 that is displayed by the
・表181は、実プリンタードライバーグループに追加できる実プリンタードライバー36のリスト(プリントサーバー30にインストールされている)を有する。 - Table 181 contains a list of real printer drivers 36 (installed on the print server 30) that can be added to the real printer driver group.
・表182は、実プリンタードライバーグループに登録済みの実プリンタードライバー36のリストを有する。
- Table 182 contains a list of
管理者は左の表181から実プリンタードライバー36を選択して、追加ボタン183を押下することで、実プリンタードライバーグループに実プリンタードライバー36を追加できる。また、管理者は、削除する実プリンタードライバー36を右の表182で選択して、削除ボタン184を押下することで実プリンタードライバーグループから実プリンタードライバー36を削除できる。
The administrator can add a
左の表181に表示されているのは、現在どの実プリンタードライバーグループにも登録していない実プリンタードライバー36である。
Table 181 on the left shows
プリントサーバー30には、管理者が、仮想プリンタードライバー31と、エンドユーザーが利用するすべての実プリンタードライバー36をインストールしておく。クライアントPC10には、プリントサーバー30上の仮想プリンタードライバー31と、すべての実プリンタードライバー36が、ネットワークプリンターとしてインストールされる。こうすることにより、エンドユーザーがクライアントPC10上の仮想プリンタードライバー14の印刷設定画面100で設定ボタン102を押下した場合に、実プリンタードライバー36の印刷設定画面を表示できるようになる。印刷設定画面100にはどの実プリンタードライバーグループにも所属していない実プリンタードライバー36も表示されてよい。
On the
次に、図10(a)の実プリンタードライバーグループの定義画面(その1)170で「新しいプリンターを追加する」172のラジオボタンが選択され、次へボタン173が押下された場合を説明する。
Next, we will explain what happens when the "Add a new printer" 172 radio button is selected on the real printer driver group definition screen (part 1) 170 in Figure 10 (a) and the
図11は、実プリンタードライバーグループの定義画面(その3)190の一例である。図11の実プリンタードライバーグループの定義画面(その3)190は、図10(b)に対し、「新しく定義する実プリンタードライバーグループの名前」の入力欄191を有する。表181,182の構成は実プリンタードライバーグループの定義画面(その2)180と同様である。しかし、表182にはまだ実プリンタードライバーが登録されていない。
Figure 11 is an example of a real printer driver group definition screen (part 3) 190. The real printer driver group definition screen (part 3) 190 in Figure 11 has an
例えば、実プリンタードライバー36が4つあり、それぞれの印刷ポートが以下であるとする。aa.bb.cc.comのIPアドレスが192.168.0.4であるとすると、これらの印刷ポートに対応付けられている4つの実プリンタードライバー36は、同じプリンター20に印刷する。つまり、4つの実プリンタードライバー36は、単一の実プリンタードライバーグループに属する。管理者は、入力欄191に、例えば実際のプリンター名を設定する。
- aa.bb.cc.com (ポートの種類: Standard TCP/IP Port)
- aa.bb.cc.com:LP1 (ポートの種類: LPR Port)
- 192.168.0.4 (ポートの種類: Standard TCP/IP Port)
- 192.168.0.4:LP1 (ポートの種類: LPR Port)
For example, assume that there are four
- aa.bb.cc.com (Port type: Standard TCP/IP Port)
- aa.bb.cc.com:LP1 (Port type: LPR Port)
- 192.168.0.4 (Port type: Standard TCP/IP Port)
- 192.168.0.4:LP1 (Port type: LPR Port)
例えば、あるオフィスに設置されている1つのプリンター20は、以下のどの実プリンタードライバーでも出力が可能であるとする。
実プリンタードライバーA
実プリンタードライバーB
実プリンタードライバーC
実プリンタードライバーD
実プリンタードライバーE
実プリンタードライバーF
For example, assume that one
Actual printer driver A
Actual printer driver B
Actual printer driver C
Actual printer driver D
Actual printer driver E
Actual printer driver F
1つのプリントサーバー30に上のすべての実プリンタードライバー36がインストールされていて、印刷ポートが同一のプリンター20を指している場合、これらすべてのプリンタードライバーは、同一の実プリンタードライバーグループに属している。管理者は、この知見に基づいて、実プリンタードライバーグループの定義画面(その3)190で、この実プリンタードライバーグループに対して、例えば1つのプリンター20の名称を設定する。
When all of the above
管理者が印刷ポートに基づいて実プリンタードライバー36をグループ化することにより、「実プリンタードライバーは異なるが、プリンター20が同一」というケースでも割り込み印刷が可能になる。
By allowing the administrator to group
管理者は入力欄191に実プリンタードライバーグループの名前を入力することで、実プリンタードライバーグループの定義画面(その1)170に実プリンタードライバーグループを表示できる。
By entering the name of the real printer driver group in
管理者は、実プリンタードライバーグループの定義画面(その3)190で、実プリンタードライバーグループを定義し、プリンター名を与える。例えばオフィスのプリンター20の入れ替えが行われたときは、実プリンタードライバーグループの再定義を管理者が行う。
The administrator defines the real printer driver group and gives it a printer name on the real printer driver group definition screen (part 3) 190. For example, when the
次に、図9の「実プリンタードライバーグループの設定」163について説明する。 Next, we will explain "Real printer driver group settings" 163 in Figure 9.
管理者画面160において管理者はラジオボタンで「実プリンタードライバーグループの設定」163を選択し、次へボタン164を押下する。
On the
図12は、実プリンタードライバーグループの設定画面(その1)200の一例である。実プリンタードライバーグループの設定画面(その1)200は、プリンター20(すなわち、実プリンタードライバーグループ)を管理者が選択するための画面である。実プリンタードライバーグループの設定画面(その1)200は、プリンター20(実プリンタードライバーグループ)のリスト201を有している。 Figure 12 is an example of a real printer driver group setting screen (part 1) 200. The real printer driver group setting screen (part 1) 200 is a screen that allows the administrator to select a printer 20 (i.e., a real printer driver group). The real printer driver group setting screen (part 1) 200 has a list 201 of printers 20 (real printer driver groups).
図13は、実プリンタードライバーグループの設定画面(その2)210の一例である。実プリンタードライバーグループの設定画面(その2)210は、管理者が、実プリンタードライバーグループの各種の設定を行うための画面である。以下、実プリンタードライバーグループの設定画面(その2)210の各項目を説明する。 Figure 13 is an example of a real printer driver group setting screen (part 2) 210. The real printer driver group setting screen (part 2) 210 is a screen on which the administrator can configure various settings for the real printer driver group. Each item on the real printer driver group setting screen (part 2) 210 is explained below.
・「独自スプールにジョブを登録するタイミング」211
管理者は、全ページ分のデータが揃ってから(1ジョブの全ページ数はジョブ情報に含まれている)、印刷ジョブを独自スプール41に登録するか、最初のページが到着したときに、印刷ジョブを独自スプール41に登録するかを選択できる。
"Timing for registering a job in a unique spool" 211
An administrator can select whether to register the print job in the
・「割り込み印刷が可能なジョブ分割の単位」212
「割り込み印刷が可能なジョブ分割の単位」212は、印刷ジョブを分割するページ数欄212a、及び、分割単位をEMFデータのデータ容量(サイズ)で指定するサイズ欄212bを有する。
"Unit of job division for which interrupt printing is possible" 212
The "job division unit for which interrupt printing is possible" 212 has a
ページ数欄212aの設定により、常に1ページ単位に分割すると、印刷速度が低下する可能性がある。しかし、例えば100ページ単位に分割すると、割り込み印刷の開始が遅くなる。印刷速度が速いプリンター20なら数ページをまとめて分割する方が、全体的なスループットが向上する。印刷速度が遅いプリンター20では、1ページ単位で分割してもスループットが低下せず、しかも割り込み印刷の実効性が上がる。
If the number of
サイズ欄212bの設定により、プリントサーバー常駐プログラム33は、ページ数でなく、データ量で分割単位を制御できる。管理者がデータ容量により印刷ジョブの分割を行うことを選択した場合、分割後のEMFデータのページ数は一定でない場合がある。なお、大きなイメージデータを含むページについては、プリントサーバー常駐プログラム33は、そのページの前後で分割する。
By setting the size field 212b, the print
また、チェックボックス212cは、ページ数欄212a又はサイズ欄212bの値に係数を掛け合わせるかどうかを管理者が設定するためのものである。係数は、例えば、「実プリンタードライバー36から取得した印刷速度〔ppm〕÷10」等でよい。印刷速度が速いプリンター20なら数ページをまとめて分割する方が、全体的なスループットが向上する、という知見がある。印刷速度が遅いプリンター20では、1ページ単位で分割してもスループットが低下せず、しかも割り込み印刷の実効性が上がる、という知見がある。上記の係数は10〔ppm〕を基準に、印刷速度がより早いプリンター20について、印刷ジョブを分割するページ数又はEMFデータのデータ容量を大きくし、印刷速度がより遅いプリンター20については、印刷ジョブを分割するページ数又はEMFデータのデータ容量を小さくできる。すなわち、管理者は、印刷ジョブの出力先のプリンターの印刷速度に応じて、ページ数又はデータ容量の大きさを変更することができる。
The
このように、ページ数やデータ容量の明示的な指定以外に、「プリンターの印刷速度」を考慮してプリントサーバー常駐プログラム33が、上記の係数を自動決定し、ページ数やデータ容量を変更できるようになる。
In this way, in addition to explicitly specifying the number of pages and data capacity, the print
・「実プリンタードライバーのスプール管理」213
プリントサーバー常駐プログラム33が独自スプール41から実プリンタードライバー用スプール42に印刷ジョブを送信する条件として、実プリンタードライバー用スプール42の印刷キューに存在する印刷ジョブの数入力欄213aを有する(デフォルトは例えば2)。
・"Spool management of actual printer driver" 213
As a condition for the print
実プリンタードライバー用スプール42の印刷キューに存在する分割ジョブが数入力欄213aに設定された数以下の場合のみ、プリントサーバー常駐プログラム33が独自スプール41から実プリンタードライバー用スプール42にEMFデータ(分割済み)を送信する。実プリンタードライバー用スプール42は実プリンタードライバーごとに用意されている。
Only when the number of divided jobs in the print queue of the spool for
ここで管理者が小さい値を指定するほど、割り込み印刷の効果は上がるが、印刷速度が低下する可能性がある。管理者が大きい値を指定すると、印刷速度は向上するが、割り込み印刷が実際に始まるまでに待たされる(=割り込み印刷を指示した後も現在のジョブが引き続き数ページ印刷される)可能性がある。 The smaller the value the administrator specifies here, the more effective the interrupt printing will be, but the printing speed may decrease. If the administrator specifies a larger value, the printing speed will increase, but there is a possibility that the user will have to wait until the interrupt printing actually begins (i.e. several pages of the current job will continue to be printed even after the interrupt printing is specified).
例えば管理者が「0」を指定したとする。このとき、プリントサーバー常駐プログラム33が、実プリンタードライバー36にEMFデータを渡すのは、実プリンタードライバー用スプール42の印刷キューが空(から)のときだけになる。実プリンタードライバー用スプール42の印刷キューに複数の印刷ジョブが滞留しないので、割り込み印刷の開始が早くなる長所がある。一方で、1つの印刷ジョブをプリンター20が印刷してから、プリントサーバー常駐プログラム33が次の印刷ジョブを実プリンタードライバー用スプール42に送るので、全体としての印刷速度が遅くなる短所がある。
For example, suppose the administrator specifies "0". In this case, the print
逆に管理者が大きい値を指定すると、全体としての印刷速度が速くなる長所がある。しかし、割り込み印刷が実際に行われるタイミングが遅れる短所がある。 Conversely, if the administrator specifies a large value, the overall printing speed will be faster. However, the disadvantage is that the timing at which interrupt printing actually occurs will be delayed.
<端末装置の機能について>
図14は、端末装置50が有する機能をブロックに分けて説明する機能ブロック図の一例である。端末装置50は通信部51、表示制御部52、及び、操作受付部53を有している。これら各機能部は、端末装置50にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザが想定されるが、プリントサーバー30と通信するための専用のソフトウェアでもよい。
<Functions of terminal device>
14 is an example of a functional block diagram explaining the functions of the
通信部51は、プリントサーバー30が提供するHTML、XML、CSS(Cascade Style Sheet)、及びJavaScript(登録商標)等により記述された画面情報を受信する。Webアプリケーション34はこのJavaScript(登録商標)等により実現される。通信部51は、管理者又はエンドユーザーが端末装置50に入力した情報をプリントサーバー30に送信する。
The
表示制御部52は各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部53は、ディスプレイ506に表示された各種画面における管理者又はエンドユーザーの各種操作を受け付ける。
The
<印刷システム1の流れ>
以下では、図15を参照して、印刷システム1の処理を説明する。図15は、印刷システム1が印刷ジョブを分割してページ単位の割り込み印刷を受け付け、印刷ジョブを実行する手順を示すシーケンス図の一例である。
<Flow of
The process of the
S1:エンドユーザーがクライアントPC10上で仮想プリンタードライバー14を使って、アプリケーション11で生成した文書ファイル12の印刷操作を行う。
S1: An end user uses a
S2:GDI13はクライアントPC10の仮想プリンタードライバー14に文書から生成されたジョブデータ(EMFデータ)を渡す。EMFデータはEMFスプール(クライアント)15に保存される。
S2: The
S3:クライアントPC10の仮想プリンタードライバー14はEMFデータをプリントサーバー30の仮想プリンタードライバー31に送信する(RPCを使用したEMFスプール(クライアント用)15からEMFスプール(サーバー用)32への移動)。
S3: The
S4:プリントサーバー30の仮想プリンタードライバー31は、EMFデータをEMFスプール(サーバー)32に保存する。
S4: The
S5:仮想プリンタードライバー31は、プリントサーバー常駐プログラム33に印刷ジョブの実行を要求する。プリントサーバー常駐プログラム33は、EMFスプール(サーバー)32に保存された印刷ジョブの分割を行う。
S5: The
プリントサーバー常駐プログラム33は、ページ単位等に分割した後の個々のEMFデータに、ジョブヘッダーとジョブトレーラーを付加する。このようにすることで、分割されたEMFデータは、それぞれ独立した印刷ジョブとしてプリントサーバー30が印刷できるようになる。
The print
分割の単位は必ずしもページ単位でなくてもよい。プリントサーバー常駐プログラム33は、印刷ジョブやプリンター20の特性により、複数ページをひとまとまりにして分割してもよい。
The division does not necessarily have to be in units of pages. The print
また、EMFデータは図16に示すような構成を有している。図16(a)はEMFデータの構成例を示す。 Moreover, EMF data has a structure as shown in FIG. 16. FIG. 16(a) shows an example of the structure of EMF data.
プリントサーバー常駐プログラム33は、図16(a)のEMFデータを分割して、図16(b)のn個のEMFデータを作る。図16(b)は、ページ単位で分割した場合である。分割後のEMFデータは、それぞれ独立した印刷ジョブとみなされて印刷される。
The print
S6:図15に戻って説明する。プリントサーバー常駐プログラム33は、ページ単位等に分割したEMFデータ(これらも印刷ジョブである)を独自スプール41に保存する。印刷ジョブには、エンドユーザーが選択した実プリンタードライバー36が設定されているので、プリントサーバー常駐プログラム33は、この実プリンタードライバー36が所属する実プリンタードライバーグループに対応づけて分割後のEMFデータを保存する。
S6: Returning to FIG. 15, the print
独自スプール41にジョブを登録するタイミングは、実プリンタードライバーグループの設定画面(その2)210で、実プリンタードライバーグループごとに、管理者が選択した(図13)。プリントサーバー常駐プログラム33は設定情報DB38から設定を取得し、プリントサーバー常駐プログラム33が独自スプール41の管理に利用する。
The timing for registering a job in the
プリントサーバー30上のEMFスプール(サーバー)32に印刷ジョブの1ページ目がスプールされたとする。このとき、プリントサーバー常駐プログラム33は、その印刷ジョブが所属する実プリンタードライバーグループの上記設定を参照する。
Let's say that the first page of the print job is spooled in the EMF spool (server) 32 on the
「全ページ分のデータが揃ってから、ジョブをスプールに登録する」が設定されていたら、プリントサーバー常駐プログラム33は、EMFデータを直ちに独自スプール41に登録することはしない。全ページ分がEMFスプール(サーバー)32にスプールされてから、独自スプール41に登録する。
If "Register the job in the spool after all pages of data are available" is set, the print
「最初のページが到着したときに、ジョブをスプールに登録する」が設定されていたら、プリントサーバー常駐プログラム33は、EMFスプール(サーバー)32の1ページ目のEMFデータを独自スプール41にすぐに登録する。
If "Register job in spool when first page arrives" is set, the print
このように、実プリンタードライバーグループごとに設定を行えるようにすることで、プリンター20ごとの特性に合わせた、柔軟な運用が可能になる。例えば、1印刷ジョブで200ページを超えるような印刷ジョブを比較的低速なプリンター20で頻繁に印刷する運用では、管理者が「全ページ分のデータが揃ってから、ジョブをスプールに登録する」を選択することにより、「他のジョブの印刷がいつ始まるのか予測しづらい」状況が生じることを回避できる。
In this way, being able to configure settings for each real printer driver group allows for flexible operation tailored to the characteristics of each
これは、「最初のページが到着したときに、ジョブをスプールに登録する」が設定されていると、200ページを超えるジョブが「スプール中」のステータスのまま、印刷ジョブ一覧画面の上から2番目(つまり「印刷中」ジョブの直下)に長時間滞留し、スプールが完了して印刷が始まるタイミングを予測しづらくなるからである。 This is because if "Post job in spool when first page arrives" is set, jobs over 200 pages long will remain in "Spooling" status for a long time, second from the top of the print job list screen (i.e. directly below the "Printing" job), making it difficult to predict when spooling will finish and printing will begin.
この場合、開発者が印刷ジョブ一覧画面に「スプール完了ページ」のカラムを追加し、例えば「50/200」と表示することで、スプール完了までにかかる時間を予測しやすくしてもよい。 In this case, the developer could add a "Spooled pages completed" column to the print job list screen and display, for example, "50/200," to make it easier to predict how long it will take to complete spooling.
S7:次に、エンドユーザーBが、Webアプリケーション34を操作して、割り込みを指示する。Webアプリケーション34にエンドユーザーがログインすると、プリンター選択画面130がまず表示される(図7(b))。エンドユーザーが、割り込み印刷を行うプリンター20を選択し次へボタン133を押下すると、そのプリンター20での印刷を予定している印刷ジョブ一覧画面140(図8)が表示される。エンドユーザーは、印刷ジョブ一覧画面140で、印刷ジョブの印刷順位を上へボタン148、下へボタン149で変更することにより、割り込み印刷を指示できる。
S7: Next, end user B operates the
S8:Webアプリケーション34は割り込みを受け付ける。Webアプリケーション34はプリントサーバー常駐プログラム33に割り込みを指示する。
S8: The
S9:プリントサーバー常駐プログラム33が実プリンタードライバー36に渡すEMFデータの順序(印刷順)は、通常は実プリンタードライバーグループごとに独自スプール41に印刷ジョブが登録された順序により決まる。エンドユーザーが、Webアプリケーション34を使って印刷ジョブの印刷順を変更した場合、Webアプリケーション34は、変更情報を保存して、プリントサーバー常駐プログラム33に伝える。プリントサーバー常駐プログラム33は、変更情報に従い、独自スプール41上のEMFデータの印刷順を変更する。プリントサーバー常駐プログラム33は、割り込みの指示に応じて、独自スプール41に保存されている分割データの並べ替えを行う。
S9: The order (printing order) of the EMF data that the print
S10:プリントサーバー常駐プログラム33は、割り込み前まで優先順位が最も高く印刷中だった印刷ジョブの一部のEMFデータの印刷が終了すると、割り込み後に独自スプール41において優先順位が最も高いEMFデータの印刷を開始する。
S10: When the print
S11:プリントサーバー常駐プログラム33は、該EMFデータを実プリンタードライバー36で印刷するようにGDI35に要求する。GDI35は、要求を受けて、該EMFデータを独自スプール41から取り出し、実プリンタードライバー用スプール42に保存する。
S11: The print
S12:実プリンタードライバー36は、実プリンタードライバー用スプール42のEMFデータをRAWデータに変換して、実プリンタードライバー用スプール42に保存し直す。
S12: The
S13:プリントサーバー30のスプーラーは、実プリンタードライバー用スプール42のRAWデータをポートモニター37に渡す。
S13: The spooler of the
S14:ポートモニター37はRAWデータをプリンター20に投入する。これにより、プリンター20が印刷ジョブを実行し、RAWデータを印刷できる。なお、プリントサーバー常駐プログラム33は、割り込み後に独自スプール41において優先順位が最も高い印刷ジョブの全てのEMFデータの印刷が終了した場合、ステップS10で割り込まれた印刷ジョブの残りのEMFデータの印刷を開始する。
S14: The port monitor 37 inputs the RAW data to the
以上により、エンドユーザーは機種に依存しないでページ単位の割り込み印刷を行うことができた。 This allows end users to perform page-by-page interrupt printing regardless of the printer model.
<<ログ管理>>
図17は、端末装置50が表示する印刷ログ管理画面220の一例である。印刷ログ管理画面220は、図9の管理者画面160に操作ログの閲覧161を管理者が押下することで表示される。
<<Log management>>
17 is an example of a print
印刷ログ管理画面220は、以下の項目を有する。
The print
・ドキュメント221は印刷ジョブのドキュメント名である。
-
・用紙サイズ222は、印刷ジョブで指定された用紙のサイズである。
-
・ページ数223は、印刷ジョブで印刷された全体のページ数である。
- Number of
・受付日時224は、印刷ジョブが独自スプール41に登録された日時である。
- The reception date and
・ユーザー名225は、印刷順を変更したエンドユーザーのユーザーID又は名称である。したがって、割り込み印刷を指示したエンドユーザーが明らかになる。
-
・割り込み先ドキュメント226は、割り込まれたドキュメントのファイル名である。
- The interrupted
・割り込み先ページ227は、割り込み先ドキュメントがページ単位で割り込まれた場合にどのページで割り込まれたかを示す。例えば、5ページの場合、プリンター20が売上日報を5ページまで印刷した時点で、会議資料に割り込まれたことを示す。
- The
<主な効果>
以上説明したように、本実施形態の印刷システム1では、プリントサーバー常駐プログラム33が、仮想プリンタードライバー31と実プリンタードライバー36の間でEMFデータをページ単位に分割し、分割後のEMFデータを実プリンタードライバーに処理させる。この結果、印刷ジョブの印刷順に応じて、プリントサーバー常駐プログラム33が印刷中の印刷ジョブの処理を一時的に中断して、優先順位が最も高い別の印刷ジョブを実プリンタードライバー36に処理させる。プリントサーバー常駐プログラム33は、処理完了後に元の印刷ジョブの続きのEMFデータを実プリンタードライバー36に処理させることにより、ページ単位の割り込み印刷を実現できる。EMFデータは機種依存しないので、任意のプリンタードライバーが使用されてもページ単位の割り込みが可能になる。
<Major Effects>
As described above, in the
また、従来は、割り込み印刷の操作方法がプリンターや複合機の機種によって異なっていたが、本実施形態では、機種依存しないEMFデータに対して割り込み印刷が行われるので、エンドユーザーは機種に関係なく同じ割り込み印刷の手順で割り込みできる。 In addition, conventionally, the method of operating interrupt printing differed depending on the model of printer or multifunction device, but in this embodiment, interrupt printing is performed on EMF data that is model-independent, so end users can interrupt using the same interrupt printing procedure regardless of the model.
また、従来は、誰が割り込み印刷を実行したのかわからないことがあったが、本実施形態では、誰が割り込み印刷したかログ操作に記録されるので、誰が割り込み印刷を実行したのかは、エンドユーザーが知ることができる。 In addition, in the past, it was sometimes impossible to know who performed the interrupt printing, but in this embodiment, who performed the interrupt printing is recorded in the log operation, so the end user can know who performed the interrupt printing.
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
<Other application examples>
The above describes the best mode for carrying out the present invention using examples, but the present invention is not limited to these examples in any way, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention.
例えば、本実施形態では、エンドユーザーと管理者の役割を明記したが、エンドユーザーと管理者のどちらかが、本実施形態で説明した全ての操作を行ってもよい。 For example, in this embodiment, the roles of the end user and the administrator are clearly stated, but either the end user or the administrator may perform all of the operations described in this embodiment.
また、図4などの構成例は、クライアントPC10、及び、プリントサーバー30による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。クライアントPC10、及び、プリントサーバー30の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
The configuration examples in FIG. 4 and other figures are divided according to the main functions to make it easier to understand the processing by the
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、プリントサーバー30は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
Furthermore, the devices described in the examples are merely illustrative of one of several computing environments for implementing the embodiments disclosed herein. In one embodiment, the
更に、プリントサーバー30は、本実施形態で開示された処理ステップ、例えば図15等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、プリントサーバー30が有する複数の情報処理装置によって実行され得る。また、プリントサーバー30は、1つのサーバー装置にまとめられていても良いし、複数の装置に分けられていても良い。
Furthermore, the
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。 Each function of the embodiments described above can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to execute each function by software, such as a processor implemented by an electronic circuit, and devices such as an ASIC (Application Specific Integrated Circuit), DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), and conventional circuit modules designed to execute each function described above.
1 印刷システム
10 クライアントPC
20 プリンター
30 プリントサーバー
50 端末装置
1
20
Claims (16)
前記情報処理端末から受け取った印刷に使用する実プリンタードライバーが選択された印刷対象のデータを、仮想プリンタードライバーを用いてEMFデータに変換して印刷ジョブとして第一の記憶手段に保存するジョブ保存手段と、
前記第一の記憶手段に保存された前記EMFデータを1ページ単位以上の分割中間データに分割し、各分割中間データを前記印刷ジョブに対応付けて第二の記憶手段に保存する印刷制御手段と、
前記印刷ジョブの一覧画面を表示し、該一覧画面において表示される複数の前記印刷ジョブの印刷順の変更を受け付ける受付手段と、
前記受付手段により受け付けた前記印刷順の変更により、前記第二の記憶手段に保存されている分割中間データの並べ替えを行い、並べ替えによって最も印刷順が早くなった第二の印刷ジョブの第二の分割中間データの印刷順を最優先と決定する決定手段と、を有し、
前記印刷制御手段は、印刷中である第一の印刷ジョブの第一の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置が終了した場合、前記決定手段により最優先の印刷順と決定された前記第二の印刷ジョブの前記第二の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置で開始する印刷システム。 A printing system in which an information processing device prints a print job transmitted from an information processing terminal using an image forming device,
a job storage means for converting print target data received from the information processing terminal and selected by a real printer driver to be used for printing into EMF data using a virtual printer driver , and storing the EMF data as a print job in a first storage means;
a print control means for dividing the EMF data stored in the first storage means into divided intermediate data of one or more pages, and storing each divided intermediate data in a second storage means in association with the print job;
a receiving unit for receiving a change to a print order of the plurality of print jobs displayed on the list screen ;
a determination means for rearranging the divided intermediate data stored in the second storage means based on the change in the printing order received by the reception means, and determining that the printing order of the second divided intermediate data of the second print job that has been rearranged to be the earliest in the printing order is to be given the highest priority;
The printing control means converts first divided intermediate data of a first print job that is being printed into RAW data using the real printer driver, and when printing of the RAW data is completed by the image forming device, converts the second divided intermediate data of the second print job that has been determined by the determination means to have the highest printing priority into RAW data using the real printer driver, and starts printing of the RAW data by the image forming device.
前記印刷制御手段は、前記印刷ジョブが指定する前記実プリンタードライバーが所属するプリンタードライバーグループごとに、前記印刷ジョブから分割された各分割中間データを前記第二の記憶手段に保存する請求項1又は2に記載の印刷システム。 A plurality of real printer drivers for the same image forming device as the output destination of the print job are grouped together,
3. The printing system according to claim 1, wherein the print control means stores each divided intermediate data divided from the print job in the second storage means for each printer driver group to which the real printer driver specified by the print job belongs.
前記端末装置は、前記Webアプリケーションを介して、前記プリンタードライバーグループに関する設定を受け付ける画面を表示し、前記プリンタードライバーグループの登録及び設定、又は、前記プリンタードライバーグループへの実プリンタードライバーの登録を管理者から受け付け、
前記プリンタードライバーグループに関する設定を前記情報処理装置に送信する請求項3に記載の印刷システム。 The information processing device provides a web application to a terminal device;
the terminal device displays a screen for accepting settings related to the printer driver group via the Web application, and accepts registration and settings of the printer driver group or registration of a real printer driver in the printer driver group from an administrator;
The printing system according to claim 3 , wherein the settings relating to the printer driver group are transmitted to the information processing device.
前記印刷制御手段は、前記第三の記憶手段に保存されている前記分割中間データの数が予め定められている数以下の場合に、前記第二の記憶手段の前記分割中間データを前記第三の記憶手段に保存する請求項1~8のいずれか1項に記載の印刷システム。 the print control means stores the divided intermediate data in a third storage means provided for each image forming apparatus, and requests the image forming apparatus as an output destination to print the divided intermediate data;
A printing system described in any one of claims 1 to 8, wherein the printing control means stores the divided intermediate data of the second storage means in the third storage means when the number of the divided intermediate data stored in the third storage means is less than or equal to a predetermined number.
前記第一の記憶手段に全ページ分のデータが揃ってから、前記印刷ジョブを前記第二の記憶手段に登録するという前記設定、又は、
前記第一の記憶手段に最初のページが到着した場合に、前記印刷ジョブを前記第二の記憶手段に登録するという前記設定に応じて、
各分割中間データを前記印刷ジョブに対応付けて前記第二の記憶手段に保存する請求項1~9のいずれか1項に記載の印刷システム。 The print control means includes the following predetermined settings:
The setting that the print job is registered in the second storage means after data for all pages is collected in the first storage means, or
In response to the setting that the print job is to be registered in the second storage means when the first page arrives in the first storage means,
10. The printing system according to claim 1, wherein each divided intermediate data is stored in the second storage means in association with the print job.
前記端末装置は、前記Webアプリケーションを介して、前記ページ数の設定を受け付ける画面を表示し、前記ページ数の設定を管理者から受け付け、
前記ページ数の設定を前記情報処理装置に送信する請求項5に記載の印刷システム。 The information processing device provides a web application to a terminal device;
the terminal device displays a screen for accepting the setting of the number of pages via the web application, and accepts the setting of the number of pages from an administrator;
The printing system according to claim 5 , wherein the setting of the number of pages is transmitted to the information processing device.
前記端末装置は、前記Webアプリケーションを介して、前記データ容量の設定を受け付ける画面を表示し、前記データ容量の設定を管理者から受け付け、
前記データ容量の設定を前記情報処理装置に送信する請求項6に記載の印刷システム。 The information processing device provides a web application to a terminal device;
the terminal device displays a screen for accepting the setting of the data capacity via the web application, and accepts the setting of the data capacity from an administrator;
The printing system according to claim 6 , wherein the setting of the data capacity is transmitted to the information processing device.
前記端末装置は、前記Webアプリケーションを介して、前記第三の記憶手段に保存されている前記分割中間データの数と比較される予め定められている数の設定を受け付ける画面を表示し、前記予め定められている数の設定を管理者から受け付け、
前記予め定められている数の設定を前記情報処理装置に送信する請求項9に記載の印刷システム。 The information processing device provides a web application to a terminal device;
the terminal device displays, via the Web application, a screen for receiving a setting of a predetermined number to be compared with the number of the divided intermediate data stored in the third storage means, and receives the setting of the predetermined number from an administrator;
The printing system according to claim 9 , wherein the predetermined number of settings is transmitted to the information processing device.
ジョブ保存手段が、前記情報処理端末から受け取った印刷に使用する実プリンタードライバーが選択された印刷対象のデータを、仮想プリンタードライバーを用いてEMFデータに変換して印刷ジョブとして第一の記憶手段に保存するステップと、
印刷制御手段が、前記第一の記憶手段に保存された前記EMFデータを1ページ単位以上の分割中間データに分割し、各分割中間データを前記印刷ジョブに対応付けて第二の記憶手段に保存するステップと、
受付手段が、前記印刷ジョブの一覧画面を表示し、該一覧画面において表示される複数の前記印刷ジョブの印刷順の変更を受け付けるステップと、
決定手段が、前記受付手段により受け付けた前記印刷順の変更により、前記第二の記憶手段に保存されている分割中間データの並べ替えを行い、並べ替えによって最も印刷順が早くなった第二の印刷ジョブの第二の分割中間データの印刷順を最優先と決定するステップと、
前記印刷制御手段が、印刷中である第一の印刷ジョブの第一の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置が終了した場合、前記決定手段により最優先の印刷順と決定された前記第二の印刷ジョブの前記第二の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置で開始するステップと、
を有する印刷方法。 A printing method performed by a printing system in which an information processing device prints a print job transmitted from an information processing terminal using an image forming device, comprising:
a step in which a job storage means converts data to be printed, for which a real printer driver to be used for printing has been selected and which is received from the information processing terminal, into EMF data using a virtual printer driver , and stores the data in a first storage means as a print job;
A print control means divides the EMF data stored in the first storage means into divided intermediate data of one or more pages, and stores each divided intermediate data in a second storage means in association with the print job;
a step of accepting a change in the print order of the plurality of print jobs displayed on the list screen by a receiving means ;
a determining step of rearranging the divided intermediate data stored in the second storage step based on the change in the printing order received by the receiving step, and determining that the printing order of the second divided intermediate data of the second print job that has been rearranged to be the earliest in the printing order is the highest priority;
a step in which the print control means converts first divided intermediate data of a first print job being printed into RAW data by the real printer driver, and when printing of the RAW data is completed by the image forming device, converts the second divided intermediate data of the second print job determined by the determination means to have the highest printing priority into RAW data by the real printer driver, and starts printing of the RAW data by the image forming device;
A printing method comprising the steps of:
前記情報処理端末から受け取った印刷に使用する実プリンタードライバーが選択された印刷対象のデータを、仮想プリンタードライバーを用いてEMFデータに変換して印刷ジョブとして第一の記憶手段に保存するジョブ保存手段と、
前記第一の記憶手段に保存された前記EMFデータを1ページ単位以上の分割中間データに分割し、各分割中間データを前記印刷ジョブに対応付けて第二の記憶手段に保存する印刷制御手段と、
前記印刷ジョブの一覧画面を表示し、該一覧画面において表示される複数の前記印刷ジョブの印刷順の変更を受け付ける受付手段と、
前記受付手段により受け付けた前記印刷順の変更により、前記第二の記憶手段に保存されている分割中間データの並べ替えを行い、並べ替えによって最も印刷順が早くなった第二の印刷ジョブの第二の分割中間データの印刷順を最優先と決定する決定手段と、を有し
前記印刷制御手段は、印刷中である第一の印刷ジョブの第一の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置が終了した場合、前記決定手段により最優先の印刷順と決定された前記第二の印刷ジョブの前記第二の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置で開始する情報処理装置。 An information processing apparatus that prints a print job transmitted from an information processing terminal by an image forming apparatus,
a job storage means for converting print target data received from the information processing terminal and selected by a real printer driver to be used for printing into EMF data using a virtual printer driver , and storing the EMF data as a print job in a first storage means;
a print control means for dividing the EMF data stored in the first storage means into divided intermediate data of one or more pages, and storing each divided intermediate data in a second storage means in association with the print job;
a receiving unit for receiving a change to a print order of the plurality of print jobs displayed on the list screen ;
and a determination means for rearranging the divided intermediate data stored in the second storage means based on the change in the printing order accepted by the acceptance means, and determining that the printing order of the second divided intermediate data of the second print job which has been rearranged to be the earliest in the printing order is to be the highest priority, wherein the print control means converts the first divided intermediate data of the first print job which is being printed into RAW data by the real printer driver, and when printing of the RAW data is completed by the image forming device, converts the second divided intermediate data of the second print job which has been determined to have the highest printing order by the determination means into RAW data by the real printer driver, and starts printing of the RAW data by the image forming device.
前記情報処理端末から受け取った印刷に使用する実プリンタードライバーが選択された印刷対象のデータを、仮想プリンタードライバーを用いてEMFデータに変換して印刷ジョブとして第一の記憶手段に保存するジョブ保存手段と、
前記第一の記憶手段に保存された前記EMFデータを1ページ単位以上の分割中間データに分割し、各分割中間データを前記印刷ジョブに対応付けて第二の記憶手段に保存する印刷制御手段と、
前記印刷ジョブの一覧画面を表示し、該一覧画面において表示される複数の前記印刷ジョブの印刷順の変更を受け付ける受付手段と、
前記受付手段により受け付けた前記印刷順の変更により、前記第二の記憶手段に保存されている分割中間データの並べ替えを行い、並べ替えによって最も印刷順が早くなった第二の印刷ジョブの第二の分割中間データの印刷順を最優先と決定する決定手段、として機能させ、
前記印刷制御手段は、印刷中である第一の印刷ジョブの第一の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置が終了した場合、前記決定手段により最優先の印刷順と決定された前記第二の印刷ジョブの前記第二の分割中間データを前記実プリンタードライバーによりRAWデータに変換し、該RAWデータの印刷を前記画像形成装置で開始するプログラム。 An information processing apparatus that prints a print job transmitted from an information processing terminal using an image forming apparatus,
a job storage means for converting print target data received from the information processing terminal and selected by a real printer driver to be used for printing into EMF data using a virtual printer driver , and storing the EMF data as a print job in a first storage means;
a print control means for dividing the EMF data stored in the first storage means into divided intermediate data of one or more pages, and storing each divided intermediate data in a second storage means in association with the print job;
a receiving unit for receiving a change to a print order of the plurality of print jobs displayed on the list screen ;
a determining unit that rearranges the divided intermediate data stored in the second storage unit based on the change in the printing order received by the receiving unit, and determines the printing order of the second divided intermediate data of the second print job that has been rearranged to be the earliest in the printing order as a top priority;
The printing control means is a program that converts first divided intermediate data of a first print job that is being printed into RAW data using the real printer driver, and when printing of the RAW data is completed by the image forming device, converts the second divided intermediate data of the second print job that has been determined by the determination means to have the highest printing priority into RAW data using the real printer driver, and starts printing of the RAW data on the image forming device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021046484A JP7608907B2 (en) | 2021-03-19 | 2021-03-19 | Printing system, printing method, information processing device, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021046484A JP7608907B2 (en) | 2021-03-19 | 2021-03-19 | Printing system, printing method, information processing device, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022145184A JP2022145184A (en) | 2022-10-03 |
| JP7608907B2 true JP7608907B2 (en) | 2025-01-07 |
Family
ID=83453582
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021046484A Active JP7608907B2 (en) | 2021-03-19 | 2021-03-19 | Printing system, printing method, information processing device, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7608907B2 (en) |
-
2021
- 2021-03-19 JP JP2021046484A patent/JP7608907B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022145184A (en) | 2022-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5857611B2 (en) | Information processing device, system, program | |
| JP5763904B2 (en) | Printing system, printing method, print server, control method therefor, and program | |
| JP5458909B2 (en) | Information processing apparatus, print control program, computer-readable storage medium, image processing apparatus, and print system | |
| US10956095B2 (en) | Server system that improves availability of a plurality of printers, print controller, information processing apparatus, and print service system | |
| JP2019135814A (en) | Image forming apparatus, method therefor, and program | |
| JP5371726B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
| US9160888B2 (en) | Information processing apparatus, user information management control method, and storage medium | |
| JP2005242781A (en) | Information processing apparatus, print control method, storage medium storing computer-readable program, and program | |
| US9386082B2 (en) | Information processing apparatus, and control method and storage medium therefor | |
| JP7608907B2 (en) | Printing system, printing method, information processing device, and program | |
| JP2010284852A (en) | Printing apparatus and printing method | |
| JP5144429B2 (en) | Image forming apparatus, method, and program | |
| JP2014041599A (en) | Program, information processing apparatus, and system | |
| JP2007122282A (en) | Distributed processing system and distributed processing method | |
| JP2018067042A (en) | Information processing apparatus, display control method and program | |
| US20230134065A1 (en) | Information processing system, service providing system, and application execution method | |
| JP7608908B2 (en) | Printing system, printing method, information processing device, and program | |
| JP2001080142A (en) | PRINTING APPARATUS, PRINTING SYSTEM, PRINT CONTROL METHOD, AND INFORMATION RECORDING MEDIUM WHERE PRINTING CONTROL PROGRAM IS RECORDED | |
| JP6341016B2 (en) | Image forming system, image forming apparatus, and program | |
| EP4553638A1 (en) | Cloud print system, cloud print server system and printing method | |
| US20250147708A1 (en) | Cloud print server, cloud print system, cloud printing setting method, and storage medium | |
| JP6204305B2 (en) | Layout setting program and image forming apparatus | |
| JP5043993B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
| JP7472655B2 (en) | Information processing device, printing system, printing management method and program | |
| JP2007305143A (en) | Information processing apparatus and information processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240119 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240809 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240820 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241008 |
|
| 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: 20241119 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241202 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7608907 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |