JP3829798B2 - 画像形成装置およびプログラム - Google Patents
画像形成装置およびプログラム Download PDFInfo
- Publication number
- JP3829798B2 JP3829798B2 JP2002372354A JP2002372354A JP3829798B2 JP 3829798 B2 JP3829798 B2 JP 3829798B2 JP 2002372354 A JP2002372354 A JP 2002372354A JP 2002372354 A JP2002372354 A JP 2002372354A JP 3829798 B2 JP3829798 B2 JP 3829798B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- storage unit
- predetermined
- file
- printing
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
本発明は、画像形成装置およびプログラムに関し、特に、ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷するための画像形成装置およびプログラムに関する。
【0002】
【従来の技術】
パーソナルコンピュータ(以下、「PC」という)は、たとえばハードディスクに保存されている文書ファイルを、LANなどのネットワークを介してプリンタに送信して印刷することができる。
【0003】
この場合、文書ファイルは、通常、PCにインストールされているプリンタドライバによって、プリンタで解析可能なPS(PostScript(R))等のPDL(Page Description Language:ページ記述言語)で記述されたプリントデータに変換されてから、送信される。
【0004】
一方、インターネット上で配布される文書ファイルとして、ハードウェアやアプリケーションの種類にかかわらずにオリジナル文書と同じ体裁を再現できるPDF(Portable Document Format)ファイルが広く普及してきている。このPDFファイルは、ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定している。
【0005】
ところで、PDFファイルは、たとえば数百ページものデータを有している場合がある。このような特にデータサイズの大きいPDFファイルをPCでプリントデータに変換すると、変換に時間がかかること、処理が複雑になること、および変換によりデータサイズが却って大きくなってデータ転送時間が増えることなどの理由により、PCの負荷が増大することになる。かかるPCの負荷を軽減するために、プリントデータに変換せずにPCからプリンタに送信されたPDFファイルを直接印刷すること(以下、「PDFダイレクトプリント」という)が可能なプリンタが提案されている。
【0006】
しかし、PDFファイルは印刷すべきデータに関するオブジェクトがファイル内でページ順とは関係なく配置可能であり、しかもオブジェクトのファイル内での位置を示す参照情報がファイルの末尾部分に配置されているため、プリンタはPDFファイル全体を受信した後でないと印刷することができない。このため、プリンタは、搭載されるメモリの容量(使用可能容量ないし空き容量)が足りないためにPDFファイル全体を受信できず、印刷を実行できない場合があった。
【0007】
この問題に関連して、PDFファイル全体を受信しなくても受信したデータから順にディスプレイ上での表示が可能となるように、PDFファイルの中身を変更して再構成する装置が知られている(例えば、特許文献1参照。)。
【0008】
【特許文献1】
特表平11−502954号公報
【0009】
【発明が解決しようとする課題】
しかしながら、上記特許文献1に記載の装置にあっては、結果的に、ファイル転送前にPCなどの送信側で、PDFファイルを再構成するための複雑な処理が必要となってしまう。したがって、上記装置の技術は、PDFファイルをPS等のPDLで記述されたプリントデータに変換することと比較して、PCの負荷の軽減を図ることにならないという問題がある。しかも、上記技術は、ディスプレイ上での表示に関する技術に過ぎないため、プリンタでの印刷に関しては十分な考慮が払われていない。
【0010】
本発明は、上述の課題を解決するためになされたものであり、本発明の目的は、記憶部の使用可能容量が少ない画像形成装置であっても、送信側の負荷を防止しつつPDFファイルなどの文書ファイルをプリントデータに変換されることなく受信して、印刷することが可能となる画像形成装置およびプログラムを提供することである。
【0011】
【課題を解決するための手段】
本発明の上記目的は、下記の手段によって達成される。
【0012】
(1)ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置であって、前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを順次記憶する記憶手段と、所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断手段と、前記判断手段により前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施す印刷手段とを有し、前記記憶手段は、前記画像処理装置から受信したデータから得られる、オブジェクトの番号を記憶する第1記憶部と、前記画像処理装置から受信したデータから得られる、ページの番号および当該ページを構成するのに必要なオブジェクトの番号を相互に関係付けて記憶する第2記憶部とを備え、前記判断手段は、前記第2記憶部に記憶されている所定のページを構成するすべてのオブジェクトの番号が前記第1記憶部に存在するか否かを検出することにより、所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断することを特徴とする画像形成装置。
【0013】
(2)前記所定のページは、未だ印刷処理が終了していないページのうちの先頭のページである上記(1)に記載の画像形成装置。
【0014】
(3)前記記憶手段に既に記憶されている所定のオブジェクトを前記記憶手段から削除する削除手段をさらに有する上記(1)または(2)に記載の画像形成装置。
【0015】
(4)前記記憶手段の使用量が所定の限界使用量を越えたか否かを判断する第2の判断手段をさらに有し、前記削除手段は、前記第2の判断手段により前記記憶手段の使用量が所定の限界使用量を越えたと判断された場合、前記所定のオブジェクトを前記記憶手段から削除する上記(3)に記載の画像形成装置。
【0016】
(5)前記第1記憶部には、前記画像処理装置から送信される文書ファイルの先頭から各オブジェクトの先頭までのバイト数がカウントされて得られたオフセットが、オブジェクトの番号に関係付けられてさらに記憶され、前記画像形成装置は、前記所定のページを構成するオブジェクトが前記削除手段により前記記憶手段から削除されている場合、削除されているオブジェクトについての送信要求を、前記第1記憶部から抽出される当該オブジェクトのオフセットとともに送信する送信手段をさらに有する上記(3)または(4)に記載の画像形成装置。
(6)ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置で用いられるプログラムであって、前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを記憶手段に順次記憶させる手順と、前記画像処理装置から受信したデータから得られる、オブジェクトの番号を前記記憶手段の第1記憶部に記憶させる手順と、前記画像処理装置から受信したデータから得られる、ページの番号および当該ページを構成するのに必要なオブジェクトの番号を相互に関係付けて前記記憶手段の第2記憶部に記憶させる手順と、前記第2記憶部に記憶されている所定のページを構成するすべてのオブジェクトの番号が前記第1記憶部に存在するか否かを検出することにより、所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断手順と、前記判断手順において前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施すための印刷手段に当該所定のページを出力する出力手順とを前記画像形成装置に実行させるためのプログラム。
【0017】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【0018】
図1は、本発明の一実施形態に係るPCおよびプリンタが適用されたプリントシステムの構成を示すブロック図である。
【0019】
図1に示すように、プリントシステムは、画像処理装置としての機能を有するPC100A、100Bと、画像形成装置としてのプリンタ200とを備え、これらはネットワーク300を介して相互に通信可能に接続されている。ネットワーク300は、イーサネット(R)、トークンリング、FDDI等の規格によるLANや、LAN同士を専用線で接続したWAN等からなる。
【0020】
なお、ネットワークに接続される機器の種類および台数は、図1に示す例に限定されない。また、プリンタ200は、ネットワーク300を介することなく、PC100Aまたは100Bと直接機器間で接続(ローカル接続)されていてもよい。
【0021】
図2は、図1に示されるPC100A、100Bの構成を示すブロック図である。図2に示すように、PC100A、100Bは、装置全体の制御および各種演算処理を行うCPU101、プログラムやデータを格納するためのROM102、作業領域として一時的にプログラムやデータを記憶するためのRAM103、各種のプログラムやデータを保存するための外部記憶装置としてのハードディスク104、各種情報の表示のための液晶ディスプレイなどの表示部105、各種指示の入力のためのキーボードやマウスなどからなる入力部106、およびネットワーク300に接続するためのLANカードなどのネットワークインタフェース107を含み、これらは信号を遣り取りするためのバス108を介して相互に接続されている。
【0022】
図3は、図1に示されるプリンタ200の構成を示すブロック図である。図3に示すように、プリンタ200は、CPU201、ROM202、RAM203、操作パネル部204、印刷部205、およびネットワークインタフェース206を含み、これらは信号を遣り取りするためのバス207を介して相互に接続されている。なお、プリンタ200の構成要素のうち、PC100A、100Bの構成要素と同様の機能を有する部分についての重複する説明を省略する。
【0023】
RAM203は、PCから受信したデータを一時的に記憶できる。ROM202には、文字の書体を示すフォントに関するフォント情報が格納され得る。なお、プリンタ200は、各種のプログラムやデータを保存するための外部記憶装置としてのハードディスクを有していてもよい。操作パネル部204は、各種情報の表示および各種指示の入力に使用される。印刷部205は、電子写真式プロセス等の周知の作像プロセスを用いて、各種データを用紙などの記録材上に印刷する。
【0024】
PC100A、100B、およびプリンタ200は、上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。以下においては、たとえばPC100Aからプリンタ200にデータが送信されて印刷が行われる場合について説明する。
【0025】
図1に示されるプリントシステムでは、通常プリントと、PDFダイレクトプリントとの2種類の印刷が実行可能である。通常プリントを実行する場合、所定のファイルは、PC100Aのハードディスク104にインストールされたプリンタドライバによってPS等のPDLで記述されたプリントデータに変換された後、プリンタ200に送信される。一方、PDFダイレクトプリントを実行する場合、PDFファイルは、ハードディスク104にインストールされた後述するプログラムにしたがって、プリントデータに変換されることなく、PC100Aからプリンタ200に送信される。
【0026】
PCとプリンタとの間のデータ通信プロトコルとしては、双方向通信が可能で、ジョブごとにセッションを確立することができ、ファイル内の任意の部分のデータを送信可能な、所定のプロトコルが使用される。たとえば、Raw(TCP/IP 9100)、LPR(Line Printer Remote)、IPP(Internet Printing Protocol)などの各種プロトコルが使用され得る。ただし、独自のプロトコルが使用されてもよい。
【0027】
ここで、図4および図5を参照して、標準的なPDFファイルの構造および解析方法について簡単に説明する。図4は、標準的なPDFファイルの構成を説明するための図、図5は、PDFファイルのサンプルを示す図である。なお、図4および図5は、「PDF Reference third edition Adobe Portable Document Format Version 1.4」(アドビシステムズ社)を参考にして作成されている。
【0028】
図4および図5に示すように、標準的なPDFファイル500は、ヘッダ510、ボディ520、相互参照表530、およびトレーラ540から構成される。
【0029】
ヘッダ510には、「%」で始まるコメントが記述される。図5のヘッダ510から、ファイルのフォーマットがPDFであること、および準拠するPDF仕様のバージョン(ここでは1.4)がわかる。
【0030】
ボディ520は、複数のオブジェクトから構成される(図5ではオブジェクト1〜6)。オブジェクトとは、文書を構成する個々の要素をいう。
【0031】
最初のオブジェクト1は、「1 0 obj」から「endobj」までの記述により定義され、他のオブジェクトも同様に定義される。ここで、たとえば「1 0 obj」における数字はオブジェクトの番号であり、最初の数字およびその次の数字は、それぞれオブジェクトのID番号および生成番号(generation)を表す。
【0032】
オブジェクトとしては、たとえば、ページオブジェクト、ページ一覧オブジェクト、カタログオブジェクト、データオブジェクト、およびフォントオブジェクトなどが挙げられる。
【0033】
ページオブジェクトには、特定のページを構成するのに必要なオブジェクトの番号が列挙されたページ情報が記述されている。また、ページオブジェクトは、「/Type/Page」の記述を含む。ページ一覧オブジェクトには、ページ順にページオブジェクトの番号が列挙されたページ番号情報が記述されている。つまり、ページ一覧オブジェクトには、各ページオブジェクトの番号と、そのページオブジェクトが示すページが文書全体の何ページ目に当たるかが記述される。また、ページ一覧オブジェクトは、「/Type/Pages」の記述を含む。カタログオブジェクトには、文書の構造情報が記述されており、ページ一覧オブジェクトの番号が含まれる。データオブジェクトには、ページオブジェクトにより参照される特定のページの中身が記述されており、当該ページを描画するために使用される。フォントオブジェクトには、文字の書体を示すフォントに関するフォント情報が記述されている。
【0034】
データオブジェクトには、画素の集まりで表された画像データを含む画像オブジェクト、文字コードで表された文字データを含む文字オブジェクト、および線などの図形の集まりで表された図形データを含む図形オブジェクトが含まれる。なお、図5において、オブジェクト1はカタログオブジェクト、オブジェクト3はページ一覧オブジェクト(図5の場合、文書は1ページのみで構成される)、オブジェクト4はページオブジェクト、オブジェクト5はデータオブジェクトである。
【0035】
相互参照表530は、ファイル内におけるオブジェクトの位置を示す参照情報である。相互参照表530において、各オブジェクトの位置がオフセットで表される。ここで、オフセットとは、ファイル先頭から注目するデータの先頭までのバイト数をいう。これにより、ボディ520に並んでいるオブジェクトに対して、ランダムにアクセスすることが可能となる。この相互参照表530は、ファイル中では、「xref」というキーワードを含む行で始まる。
【0036】
トレーラ540は、ファイルの解析開始時にアクセスすべき情報である。具体的には、トレーラ540には、ファイル内における相互参照表530の位置を示す情報、および最初に参照すべきオブジェクト(階層構造のルートとなるルートオブジェクト)の番号が記述される。「startxref」の次に示される数字は、相互参照表530のオフセットである。「Root」を含む行は、ルートオブジェクトの番号を示している。また、「Size」を含む行は、相互参照表530の最初のエントリ(オブジェクトのID番号が「0」)を含めて、ファイル内に存在するオブジェクトの個数を示している。このトレーラ540は、ファイルの末尾部分に存在し、「trailer」というキーワードを含む行で始まる。
【0037】
PDFファイルを解析する装置は、標準的なPDFファイルを解析する場合、まずファイルの末尾部分にあるトレーラ540を解析し、次いで相互参照表530を解析する。そして、これらの解析で得られた情報に基づいて、ボディ520に記述されたページの内容を解析することができる。オブジェクトには、次に必要となるデータが記述された別のオブジェクトの番号が含まれている。このため、次に必要なオブジェクトの番号をたどることにより、PDFファイルの全体的な解析が可能となる。したがって、オブジェクトは、PDFファイルのボディ内においてオブジェクト単位で任意の順序で記述されることができ、結果として、ページ順と異なる順序でファイル内に配置可能となる。
【0038】
次に、図6を参照して、PC100Aで行われる処理について説明する。なお、図6のフローチャートにより示されるアルゴリズムは、PC100Aのハードディスク104などの記憶装置にプログラムとして記憶されており、CPU101により実行される。
【0039】
ここでは、PDFファイルに対して、プリンタドライバを使用した通常プリントではなく、PDFダイレクトプリントが実行され、プリンタ200でPDFファイルの印刷が行われる場合について説明する。
【0040】
ユーザによるPDFダイレクトプリントの実行の指示の前に、あらかじめ初期設定が行われる。初期設定には、出力先プリンタの設定、および印刷条件の設定が含まれる。出力先プリンタ、および印刷条件は、入力部106を通したユーザの操作に基づいて設定される。印刷条件には、ページについての印刷順序に関連する属性が含まれる。具体的には、印刷条件には、たとえば印刷部数、片面印刷/両面印刷の指定、部単位で出力するためのコレートの指定、および正順印刷する(ファイルの先頭ページから最終ページに向かって順番に印刷する)旨/正順印刷を必ずしも必要としない旨の指定が含まれる。ただし、印刷条件には、他の属性が含まれていてもよく、上記した属性の一部が省略されていてもよい。なお、印刷条件は、プリンタ200において操作パネル部204を通して設定されてもよい。
【0041】
初期設定がなされた状態で、PC100Aは、ユーザによるPDFファイルに対するPDFダイレクトプリントの実行の指示を受け付ける(S101)。ここで、PC100Aのデスクトップ上には、PDFダイレクトプリントについてのアプリケーションプログラムファイルのアイコンがあらかじめ表示される。ユーザは、印刷すべきPDFファイルを当該アイコンにドラッグ&ドロップしてアプリケーションプログラムを起動することにより、PDFダイレクトプリントの実行の指示を行うことができる。なお、PDFダイレクトプリントの実行の指示は、他の方法により行われてもよい。
【0042】
続いて、PC100Aと出力先であるプリンタ200との間のセッションが自動的に確立される(S102)。セッションは、後述するステップS113において閉じられるまで、維持される。
【0043】
そして、PDFダイレクトプリントの対象とされたPDFファイルが、プリンタ200に送信される(S103)。このとき、PC100Aは、PDFファイルに何ら処理を施さず、そのまま送信する。あらかじめ設定された印刷条件もまた、プリンタ200に送信される。
【0044】
PDFファイルの送信後、送信したPDFファイルのパスがキューに記録される(S104)。パスとはファイルの保存場所を示すための文字列であり、このパスにはファイルが保存されているドライブ名とディレクトリ名とが含まれる。キューは、PDFダイレクトプリント専用の、パスの一時的な保存領域である。
【0045】
ステップS105では、プリンタ200から、セッションを閉じることの要求であるセッションクローズ要求を受信したか否かが判断される。セッションクローズ要求を受信した場合(S105でYES)、ステップS112に進む。
【0046】
セッションクローズ要求を受信していない場合(S105でNO)、プリンタ200から、所定のオブジェクトの送信要求を受信したか否かが判断される(S106)。オブジェクトの送信要求を受信していない場合(S106でNO)、ステップS105に戻る。
【0047】
オブジェクトの送信要求を受信した場合(S106でYES)、当該オブジェクトを含むPDFファイルが検索される(S107)。ここで、キューの先頭に位置するパスが参照され、このパスが示すPDFファイルの検索が行われる。そして、検索したPDFファイルが存在するか否かが判断される(S108)。
【0048】
検索したPDFファイルが見つかった場合(S108でYES)、要求されたオブジェクトが、当該PDFファイルから抽出されてプリンタ200に送信され(S109)、ステップS105に戻る。ここで、プリンタ200からのオブジェクトの送信要求には、後述するように、当該オブジェクトのオフセットおよびサイズの情報が含まれている。したがって、オブジェクトのPDFファイルからの抽出は、オフセットおよびサイズの情報に基づいて行われる。
【0049】
一方、検索したPDFファイルが見つからなかった場合(S108でNO)、ユーザにエラーが発生したことを通知するための所定のエラー表示が表示部105上に表示される(S110)。続いて、プリンタ200に対して、当該PDFダイレクトプリントを行うためのジョブをキャンセルすることの要求であるジョブキャンセル要求が送信される(S111)。
【0050】
ステップS112では、キューの先頭に位置するパスを削除し、現在維持中のセッションが閉じられる(S113)。
【0051】
次に、図7〜図10を参照して、プリンタ200で行われる処理について説明する。なお、図7〜図10のフローチャートにより示されるアルゴリズムは、プリンタ200のROM202などの記憶装置にプログラムとして記憶されており、CPU201により実行される。
【0052】
ここでは、プリンタ200が、PC100Aから送信される印刷すべきPDFファイルを受信して、受信したPDFファイルに対して、PDFダイレクトプリントを実行する場合について、以下に説明する。
【0053】
まず、プリンタ200は、本アプリケーションで使用される図11および図12に示すテーブルを初期化する(S201)。図11は、各オブジェクトのオフセットを管理するためのオフセット情報管理テーブルを示す図、図12は、各ページに関連するオブジェクトの番号を管理するためのページ情報管理テーブルを示す図である。これらのテーブルの内容および使用方法については後述する。
【0054】
テーブルの初期化が終了すると、プリンタ200は、PC100Aから送信されたPDFファイルを順次受信し、受信されたデータを解析する(S202)。
【0055】
ステップS203では、受信されたデータがジョブキャンセル要求であるか否かが判断される。ジョブキャンセル要求である場合(S203でYES)、当該PDFダイレクトプリントを行うためのジョブをキャンセルして(S204)、アプリケーションの実行を終了する。ジョブキャンセル要求でない場合(S203でNO)、ステップS205に進む。
【0056】
ステップS205では、受信されたデータがオブジェクトの先頭であるか否かが判断される。オブジェクトの先頭である場合(S205でYES)、ステップS206に進み、オブジェクトの先頭でない場合(S205でNO)、ステップS207に進む。
【0057】
ステップS206では、注目するオブジェクトのオフセットが記録される。ここで、ファイル先頭から当該オブジェクトの先頭までのバイト数がカウントされることにより、当該オブジェクトのオフセットが得られる。具体的には、図11に示すように、オフセット情報管理テーブルに、該当するオブジェクトの番号とオフセットが記録される。なお、図11に示す削除済みフラグは、後述するステップS303においてオブジェクトに対して削除処理が行われた場合に「1」とされるフラグである。
【0058】
ステップS207では、受信されたデータがページオブジェクトであるか否かが判断される。ページオブジェクトである場合(S207でYES)、ステップS208に進み、ページオブジェクトでない場合(S207でNO)、ステップS209に進む。
【0059】
ステップS208では、注目するページオブジェクトのページ情報が記録される。具体的には、注目するページオブジェクトから、ページオブジェクトの番号と、対応するページを構成するのに必要なオブジェクトの番号とが抽出され、図12に示すようにページ情報管理テーブルに記録される。
【0060】
ステップS209では、受信されたデータがページ一覧オブジェクトであるか否かが判断される。ページ一覧オブジェクトである場合(S209でYES)、ステップS210に進み、ページ一覧オブジェクトでない場合(S209でNO)、ステップS211に進む。
【0061】
ステップS210では、ページ一覧オブジェクトのページ番号情報が記録される。具体的には、ページ一覧オブジェクトを解析することにより、各ページオブジェクトの番号と、そのページオブジェクトに対応するページ番号とが取得され、図12に示すようにページ情報管理テーブルに記録される。
【0062】
ステップS208およびステップS210の処理により、ページ情報管理テーブルにおける出力済みフラグの列以外の列が作成される。なお、図12に示す出力済みフラグは、必要なオブジェクトが揃ったページが印刷部205に対して出力された場合に「1」とされるフラグである。
【0063】
なお、オフセット情報管理テーブル、およびページ情報管理テーブルにおいて、オブジェクトの解析順にテーブルの各欄が埋められていくため、必ずしもオブジェクトの番号順、あるいはページ順に各情報がテーブル内で配置されるとは限らない(図11および図12参照)。ただし、オフセット情報管理テーブルにおいて、各情報がオブジェクトの番号順に配置され、ページ情報管理テーブルにおいて、各情報がページ順に配置されるように管理することも可能である。
【0064】
ステップS211では、データの保存処理が行われる。すなわち、受信したデータのうち、ページオブジェクトでもページ一覧オブジェクトでもないデータに対して保存処理が行われる。
【0065】
図9に示すように、データの保存処理では、受信した上記データは、保存が可能である限り、メモリ(RAM203)の所定の保存領域に保存される(S301)。
【0066】
続いて、メモリなどの記憶装置の使用量が所定の限界使用量を越えたか否かが判断される。ここでは、メモリオーバーフローが発生したか否かが判断される(S302)。メモリオーバーフローとは、メモリの所定の保存領域がデータでフルとなってそれ以上データを保存できない状態をいう。なお、所定の限界使用量は、メモリの所定の保存領域がフルになる場合に限定されるものではなく、たとえばフルの状態に対して80%の使用量など、適宜設定され得る。
【0067】
メモリオーバーフローが発生した場合(S302でYES)、メモリに既に保存されている所定のオブジェクトが削除される(S303)。これにより、未だ保存されていないオブジェクトを保存するための空き容量を確保することができ、PDFファイルの確実な印刷が可能となる。ここで、メモリオーバーフローが発生した場合にのみ所定のオブジェクトの削除を行うことにより、削除処理が頻繁に行われて処理時間を浪費する事態を防止できる。
【0068】
削除されるべき所定のオブジェクトは、既に印刷部205への出力処理(S213参照)が終了したページを構成するオブジェクトのうち、未だ出力処理が終了していない他のページの出力処理に必要でないオブジェクトである。これにより、他のページの出力処理に支障を与えることを防止でき、PDFダイレクトプリントの速度低下を防止できる。ただし、削除されるべき所定のオブジェクトは、上記のオブジェクトに必ずしも限定されるものではなく、データサイズの大きいオブジェクトなどの他のオブジェクトであってもよい。また、未だ出力処理が終了していないページのうちの先頭ページを構成するオブジェクトは、削除の対象にしないことが好ましい。かかるページは早く出力して印刷すべきだからである。さらに、削除されるべきオブジェクトの選定条件が複数設定され、これらの選定条件に優先順位が付けられて、メモリオーバーフローが発生しなくなるまで当該複数の選定条件にしたがった処理が段階的に実行されてもよい。
【0069】
本実施形態では、上記のように、プリンタ200はメモリオーバーフローが発生した場合にのみ所定のオブジェクトの削除を行う。ただし、印刷部205への出力処理(S213参照)が終了したオブジェクトは、未だ出力処理が終了していない他のページの出力処理に必要でない限り、メモリオーバーフローの発生にかかわらず、削除される構成が採用されてもよい。
【0070】
なお、図11に示すオフセット情報管理テーブルにおいて、削除処理が行われたオブジェクトについての削除済みフラグが、「1」に設定される。
【0071】
所定のオブジェクトの削除(S303)が行われた後、ステップS301に戻り、メモリオーバーフローが発生したために保存できなかったデータの保存が実行される。
【0072】
一方、メモリオーバーフローが発生しない場合(S302でNO)、図7および図8のフローチャートに戻る。
【0073】
図8のステップS212では、印刷部205に対して出力可能なページがあるか否かが判断される。すなわち、あるページを構成するオブジェクトがメモリにすべて記憶されたか否かが判断される。
【0074】
ここで、図11のオフセット情報管理テーブル、および図12のページ情報管理テーブルが参照される。具体的には、未だ出力されていないページ(図12に示す出力済みフラグが「0」のページ)であって、かつ当該ページを構成するのに必要なオブジェクト(図12に示すオブジェクトの番号の欄)が揃っているページが存在するか否かが判断される。なお、必要なオブジェクトが揃っている場合とは、図11に示すオフセット情報管理テーブルに当該オブジェクトの番号とオフセットが記録されており、かつ削除済みフラグが「0」の場合である。
【0075】
出力可能なページがあると判断された場合(S212でYES)、当該ページの出力処理が行われる(S213)。
【0076】
図10に示すように、出力可能なページの出力処理では、あらかじめ設定されている印刷条件を参照することによって、正順印刷する旨の指定が行われているか否かが判断される(S401)
正順印刷する旨の指定が行われていない場合(S401でNO)、つまり正順印刷を必ずしも必要としない旨の指定が行われている場合、ステップS212で印刷部205に対して出力可能であると判断されたページが、ラスタライズされた上ですべて印刷部205に出力され(S402)、用紙上に印刷される。そして、ページ情報管理テーブルにおいて、ステップS402で出力されたページについての出力済みフラグが「1」に設定される。したがって、PDFファイルの全体を受信しなくても、所定のページを構成するオブジェクトがすべて記憶された結果、当該ページが出力可能となった時点で、当該ページを印刷することが可能となる。
【0077】
一方、正順印刷する旨の指定が行われている場合(S401でYES)、図11および図12のテーブルを参照することにより、未だ印刷部205への出力処理が終了していないページのうちの先頭のページが出力可能であるか否かが判断される(S403)。
【0078】
未出力ページのうちの先頭のページが出力可能である場合(S403でYES)、当該ページがラスタライズされた上で印刷部205に出力され(S404)、用紙上に印刷される。そして、ページ情報管理テーブルにおいて、ステップS404で出力されたページについての出力済みフラグが「1」に設定される。したがって、PDFファイルの全体を受信しなくても、未出力ページのうちの先頭のページが出力可能となった時点で、当該ページを印刷することが可能となる。これにより、正順印刷が実現される。当該ページの印刷部205への出力後、ステップS403に戻る。一方、未出力ページのうちの先頭のページが出力可能でない場合(S403でNO)、図8のフローチャートに戻る。
【0079】
図8のステップS212において、出力可能なページがないと判断された場合(S212でNO)、ステップS303で削除したオブジェクトが必要か否かが判断される(S216)。ここで、図11に示すオフセット情報テーブルが参照され、所定のオブジェクトがステップS303で削除された(削除済みフラグが「1」)ために出力可能なページがない場合、削除したオブジェクトが必要であると判断される。削除したオブジェクトが必要でない場合(S216でNO)、図7のステップS202に戻る。
【0080】
削除したオブジェクトが必要な場合(S216でYES)、削除したオブジェクトの送信要求が、PDFファイルの送信元であるPC100Aに送信される(S217)。これにより、PDFファイルの印刷がより確実となる。
【0081】
ここで、プリンタ200は、まず、図11に示すオフセット情報管理テーブルを参照して、要求するオブジェクトのオフセット、およびファイル内で次に配置されるオブジェクトのオフセットから、要求するオブジェクトのデータサイズを計算する。そして、プリンタ200は、要求するオブジェクトのオフセットおよびサイズの情報を含むオブジェクトの送信要求を、PC100Aに対して送信する。図13は、オブジェクトの送信要求に含まれる情報の一例を示す図である。オブジェクトの送信要求には、要求するオブジェクトの番号、あるいは出力先であるプリンタ200のIPアドレスなどの他の情報が含まれていてもよい。プリンタ200は、削除したオブジェクトを要求した後、図7のステップS202に戻る。
【0082】
ステップS214では、PDFファイルの全ページ分の印刷部205への出力が完了したか否かが判断される(S214)。全ページ分の出力が完了していない場合(S214でNO)、図7のステップS202に戻り、上記処理が繰り返される。
【0083】
一方、全ページ分の出力が完了した場合(S214でYES)、PDFファイルの送信元であるPC100Aに対して、セッションクローズ要求が送信される(S215)。
【0084】
このように本実施形態によれば、プリンタは、PCから送信されたPDFファイルに含まれるオブジェクトを順次記憶し、所定のページを構成するオブジェクトがすべて記憶されたと判断した場合、当該所定のページに対して印刷処理を施すことができる。
【0085】
したがって、PDFファイルの全体を受信しなくても、所定のページを構成するオブジェクトがすべて記憶された結果、当該ページが出力可能となった時点で、当該ページを印刷することが可能となる。これにより、メモリの使用可能容量が少ないプリンタであっても、送信側の負荷を防止しつつPDFファイルをプリントデータに変換されることなく受信して、印刷することが可能となる。また、未出力ページのうちの先頭のページが出力可能となった時点で、当該ページを印刷する構成を採用することにより、正順印刷を行うことも可能となる。
【0086】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【0087】
たとえば、画像処理装置としての機能を有する装置として、PCの代わりに、たとえばワークステーション、サーバなどのコンピュータが用いられてもよい。また、プリンタの代わりに、ファクシミリ装置、コピー機、およびそれらを複合した機能を有する多機能周辺機器(MFP:Multi-Function Peripheral)などの画像形成装置が用いられてもよい。
【0088】
また、上述した実施形態では、PCでの操作に基づいてPCからプリンタにPDFファイルを送信する場合について説明したが、本発明はこれに限定されるものではない。本発明は、プリンタで印刷したいPDFファイルの保存場所を指定することにより、印刷すべきPDFファイルが保存されている保存装置から当該PDFファイルを取得してプリンタで印刷する場合にも適用することができる。
【0089】
本発明において、PDFファイルをプリントデータに変換せずに画像処理装置から画像形成装置に送信して印刷するための各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやCD−ROMなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶装置に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【0090】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項1〜5に記載した発明以外にも、以下の付記1〜7に示すような発明が含まれる。
【0091】
[付記1] 前記所定のオブジェクトは、既に印刷処理が終了したページを構成するオブジェクトのうち、未だ印刷処理が終了していない他のページの印刷処理に必要でないオブジェクトである請求項3または4に記載の画像形成装置。
【0092】
[付記2] 前記所定のページを構成するオブジェクトが前記削除手段により前記記憶手段から削除されている場合、削除されているオブジェクトについての送信要求を送信する送信手段をさらに有する請求項3または4に記載の画像形成装置。
【0093】
[付記3] 前記文書ファイルは、PDF(Portable Document Format)ファイルである請求項1〜4のいずれか1つに記載の画像形成装置。
【0094】
[付記4] 前記文書ファイルは、PDF(Portable Document Format)ファイルである請求項5に記載のプログラム。
【0095】
[付記5] 請求項5に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0096】
[付記6] ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成方法であって、
前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを記憶手段に順次記憶する記憶ステップと、
所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断ステップと、
前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施す印刷ステップと
を有する画像形成方法。
【0097】
[付記7] 前記文書ファイルは、PDF(Portable Document Format)ファイルである付記6に記載の画像形成方法。
【0098】
【発明の効果】
上述したように、本発明によれば、PDFファイルなどの文書ファイルの全体を受信しなくても、所定のページを構成するオブジェクトがすべて記憶された結果、当該ページが出力可能となった時点で、当該ページを印刷することが可能となる。これにより、記憶部の使用可能容量が少ない画像形成装置であっても、送信側の負荷を防止しつつ文書ファイルをプリントデータに変換されることなく受信して、印刷することが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係るPCおよびプリンタが適用されたプリントシステムの構成を示すブロック図である。
【図2】 図1に示されるPCの構成を示すブロック図である。
【図3】 図1に示されるプリンタの構成を示すブロック図である。
【図4】 標準的なPDFファイルの構成を説明するための図である。
【図5】 PDFファイルのサンプルを示す図である。
【図6】 PCで行われる処理について説明するためのフローチャートである。
【図7】 プリンタで行われる処理について説明するためのフローチャートである。
【図8】 図7から続く、プリンタで行われる処理について説明するためのフローチャートである。
【図9】 図7に示されるデータの保存処理について説明するためのフローチャートである。
【図10】 図8に示される出力可能なページの出力処理について説明するためのフローチャートである。
【図11】 オフセット情報管理テーブルの一例を示す図である。
【図12】 ページ情報管理テーブルの一例を示す図である。
【図13】 オブジェクトの送信要求に含まれる情報の一例を示す図である。
【符号の説明】
1〜6…オブジェクト、
100A、100B…PC、
101、201…CPU、
102、202…ROM、
103、203…RAM、
104…ハードディスク、
105…表示部、
106…入力部、
107、206…ネットワークインタフェース、
108、207…バス、
200…プリンタ、
204…操作パネル部、
205…印刷部、
300…ネットワーク、
500…標準的なPDFファイル、
510…ヘッダ、
520…ボディ、
530…相互参照表、
540…トレーラ。
Claims (6)
- ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置であって、
前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを順次記憶する記憶手段と、
所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断手段と、
前記判断手段により前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施す印刷手段と
を有し、
前記記憶手段は、前記画像処理装置から受信したデータから得られる、オブジェクトの番号を記憶する第1記憶部と、前記画像処理装置から受信したデータから得られる、ページの番号および当該ページを構成するのに必要なオブジェクトの番号を相互に関係付けて記憶する第2記憶部とを備え、
前記判断手段は、前記第2記憶部に記憶されている所定のページを構成するすべてのオブジェクトの番号が前記第1記憶部に存在するか否かを検出することにより、所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断することを特徴とする画像形成装置。 - 前記所定のページは、未だ印刷処理が終了していないページのうちの先頭のページである請求項1に記載の画像形成装置。
- 前記記憶手段に既に記憶されている所定のオブジェクトを前記記憶手段から削除する削除手段をさらに有する請求項1または2に記載の画像形成装置。
- 前記記憶手段の使用量が所定の限界使用量を越えたか否かを判断する第2の判断手段をさらに有し、
前記削除手段は、前記第2の判断手段により前記記憶手段の使用量が所定の限界使用量を越えたと判断された場合、前記所定のオブジェクトを前記記憶手段から削除する請求項3に記載の画像形成装置。 - 前記第1記憶部には、前記画像処理装置から送信される文書ファイルの先頭から各オブジェクトの先頭までのバイト数がカウントされて得られたオフセットが、オブジェクトの番号に関係付けられてさらに記憶され、
前記画像形成装置は、前記所定のページを構成するオブジェクトが前記削除手段により前記記憶手段から削除されている場合、削除されているオブジェクトについての送信要求を、前記第1記憶部から抽出される当該オブジェクトのオフセットとともに送信する送信手段をさらに有する請求項3または4に記載の画像形成装置。 - ページ順と異なる順序でファイル内に配置可能なオブジェクトと当該オブジェクトのファイル内での位置を示す参照情報とを備え、所定のオブジェクトから構成されるページを規定する文書ファイルを、プリントデータに変換されることなく画像処理装置から受信して印刷する画像形成装置で用いられるプログラムであって、
前記画像処理装置から送信された文書ファイルに含まれるオブジェクトを記憶手段に順次記憶させる手順と、
前記画像処理装置から受信したデータから得られる、オブジェクトの番号を前記記憶手段の第1記憶部に記憶させる手順と、
前記画像処理装置から受信したデータから得られる、ページの番号および当該ページを構成するのに必要なオブジェクトの番号を相互に関係付けて前記記憶手段の第2記憶部に記憶させる手順と、
前記第2記憶部に記憶されている所定のページを構成するすべてのオブジェクトの番号が前記第1記憶部に存在するか否かを検出することにより、所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたか否かを判断する判断手順と、
前記判断手順において前記所定のページを構成するオブジェクトが前記記憶手段にすべて記憶されたと判断された場合、当該所定のページに対して印刷処理を施すための印刷手段に当該所定のページを出力する出力手順と
を前記画像形成装置に実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002372354A JP3829798B2 (ja) | 2002-12-24 | 2002-12-24 | 画像形成装置およびプログラム |
US10/730,935 US8310713B2 (en) | 2002-12-24 | 2003-12-10 | Image forming device, image forming program, computer readable recording medium on which the program is recorded, and image forming method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002372354A JP3829798B2 (ja) | 2002-12-24 | 2002-12-24 | 画像形成装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004202754A JP2004202754A (ja) | 2004-07-22 |
JP3829798B2 true JP3829798B2 (ja) | 2006-10-04 |
Family
ID=32810983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002372354A Expired - Fee Related JP3829798B2 (ja) | 2002-12-24 | 2002-12-24 | 画像形成装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3829798B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006116858A (ja) * | 2004-10-22 | 2006-05-11 | Kyocera Mita Corp | 画像形成装置及び印刷プログラム |
JP2007060505A (ja) * | 2005-08-26 | 2007-03-08 | Fuji Xerox Co Ltd | 画像読取装置およびその画像処理方法、画像形成装置、画像処理システムおよびその印刷時間短縮方法 |
JP2007272832A (ja) * | 2006-03-31 | 2007-10-18 | Ricoh Co Ltd | 印刷システム、ホスト装置、印刷装置、印刷制御方法、印刷方法、それらの方法をコンピュータに実行させるプログラム、および記録媒体 |
US7948651B2 (en) * | 2007-03-01 | 2011-05-24 | Konica Minolta Systems Laboratory, Inc. | Non-sequential transfer of PDF data for PDF direct printing |
JP5455587B2 (ja) * | 2009-08-07 | 2014-03-26 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム |
JP5659099B2 (ja) * | 2011-07-20 | 2015-01-28 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び画像形成プログラム |
-
2002
- 2002-12-24 JP JP2002372354A patent/JP3829798B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004202754A (ja) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7940413B2 (en) | Image processing device, image forming device, image processing method, image forming method, program, and computer readable recording medium on which the program is recorded | |
US6965958B1 (en) | Searching for printers over a network using intermediate print data | |
JP3775381B2 (ja) | 画像処理装置 | |
US7461069B2 (en) | Log information management device, log information generation device, and computer-readable medium storing log information management program therein | |
JP2010009318A (ja) | 画像処理システム、その制御方法、コンピュータプログラム及び記憶媒体 | |
US7800775B2 (en) | Device and method for image processing, as well as device and method for file preparation | |
JP2007257592A (ja) | 印刷システム、情報処理装置、および印刷装置 | |
JP4144392B2 (ja) | 画像処理装置、画像形成システム、画像形成方法、およびプログラム | |
JP4110945B2 (ja) | 画像処理装置、画像形成装置、およびプログラム | |
JP5836051B2 (ja) | 印刷制御装置及びその制御方法並びにプログラム | |
JP3829798B2 (ja) | 画像形成装置およびプログラム | |
JP2002373064A (ja) | 印刷装置および情報処理装置 | |
JP2004070871A (ja) | ネットワークプリンタ及びデータ共有印刷システム | |
JP4144369B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2004188865A (ja) | 画像形成装置およびプログラム | |
US20030011818A1 (en) | Printing system and management method therefor | |
JP3709695B2 (ja) | 印刷システム、印刷システムに用いられるプリンタサーバ装置、プリンタサーバの処理方法およびプリンタサーバ処理プログラムが記録された記録媒体 | |
JP2008027217A (ja) | 情報処理装置および印刷装置を備える印刷システム | |
JP4150850B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP4049003B2 (ja) | 画像形成装置、画像形成方法、および画像形成プログラム | |
JP2004202755A (ja) | 画像形成装置、画像形成方法、およびプログラム | |
JP3810238B2 (ja) | プリントジョブ管理装置およびプリントジョブ管理方法並びにプログラムを記録した記録媒体 | |
JP2006146490A (ja) | 印刷制御装置及び印刷制御プログラム | |
JP3221211B2 (ja) | 電子印刷システムのキュー管理装置およびその方法 | |
JP2007293513A (ja) | ジョブ送信装置および方法、ジョブ送信プログラムを記憶した媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040426 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060208 |
|
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: 20060620 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060703 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100721 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110721 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130721 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |