(57)【特許請求の範囲】
【請求項１】
リニアライズド及び非リニアライズド・ポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイルを印刷用に処理する方法であって、
前記ＰＤＦファイルがリニアライズされていることをプリンタ・ドライバが検出したか否かプリンタ・ファームウェアによって判定する工程と、
前記ＰＤＦファイルがリニアライズされていることを前記プリンタ・ドライバが検出したと前記プリンタ・ファームウェアが判定した場合に、前記ＰＤＦファイルのストリーム・データを前記プリンタ・ファームウェアによって保存する工程と、
前記ＰＤＦファイルがリニアライズされていることが前記プリンタ・ドライバによって未確認の場合、前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ファームウェアによって判定する工程と、
を備え、
前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ファームウェアによって判定する工程は、
前記プリンタ・ファームウェアによって受信される前記ＰＤＦファイルの前記ストリーム・データの第１部分にリニアライズド・キー文字列がないかモニタリングする工程と、
前記リニアライズド・キー文字列が見つかった場合、前記リニアライズド・キー文字列を解釈する工程と、
前記リニアライズド・キー文字列が見つかった場合は、前記ＰＤＦファイルをリニアライズドとして処理する工程と、
前記受信されたＰＤＦファイルの前記第１部分に前記リニアライズド・キー文字列が未確認の場合は、前記ＰＤＦファイルを非リニアライズドとして処理する工程と、
を含み、
前記リニアライズド・キー文字列を解釈する工程は、前記ＰＤＦファイルのリニアライズド特定ファイル・サイズを前記ＰＤＦファイルの実際のファイル・サイズと比較する工程を含む方法。
【請求項２】
請求項１に記載の方法であって、
前記プリンタ・ファームウェアによって受信される前記ＰＤＦファイルの前記ストリーム・データの前記第１部分に前記リニアライズド・キー文字列がないかモニタリングする工程は、前記ＰＤＦファイルの１０２４バイトのストリーム・データを受信した後、前記リニアライズド・キー文字列がないか前記プリンタ・ファームウェアによってモニタリングする工程を含む方法。
【請求項３】
請求項１又は２に記載の方法であって、
前記リニアライズド・キー文字列が見つかった場合に、前記ＰＤＦファイルをリニアライズドとして処理する工程は、
前記ＰＤＦファイルのリニアライズド特定ファイル・サイズと前記ＰＤＦファイルの第１ページ・ファイル・サイズとの間のサイズ差を比較する工程と、
前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと前記ＰＤＦファイルの前記第１ページ・ファイル・サイズとの間の前記サイズ差が閾値サイズよりも大きい場合、前記ＰＤＦファイルをリニアライズドとして処理する工程と、
前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと前記ＰＤＦファイルの前記第１ページ・ファイル・サイズとの間の前記サイズ差が閾値サイズ未満の場合、前記ＰＤＦファイルを非リニアライズドとして処理する工程と、
を含む方法。
【請求項４】
請求項３に記載の方法であって、
前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと前記ＰＤＦファイルの前記第１ページ・ファイル・サイズとの間の前記サイズ差が前記閾値サイズよりも大きい場合、前記ＰＤＦファイルをリニアライズドとして処理する工程は、
前記ＰＤＦファイルの第１ページ・ストリーム・データを記憶及び解釈する工程と、    前記ＰＤＦファイルの非第１ページ・ストリーム・データを記憶及び解釈する工程と、
を含む方法。
【請求項５】
請求項３に記載の方法であって、
前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと前記ＰＤＦファイルの前記第１ページ・ファイル・サイズとの間の前記サイズ差が前記閾値サイズよりも大きい場合、前記ＰＤＦファイルをリニアライズドとして処理する工程は、
前記ＰＤＦファイルの第１ページ・ストリーム・データを記憶する工程と、
前記ＰＤＦファイルの前記第１ページ・ストリーム・データを解釈する工程と、
前記ＰＤＦファイルの非第１ページ・ストリーム・データを記憶する工程と、
前記ＰＤＦファイルの前記非第１ページ・ストリーム・データを解釈する工程と、
を含み、
前記ＰＤＦファイルの前記第１ページ・ストリーム・データを解釈する工程及び前記ＰＤＦファイルの前記非第１ページ・ストリーム・データを記憶する工程は、並行して行われる方法。
【請求項６】
請求項５に記載の方法であって、
前記ＰＤＦファイルの前記第１ページ・ストリーム・データを記憶する工程は、前記ＰＤＦファイルの前記第１ページ・ストリーム・データをランダム・アクセス・メモリ（ＲＡＭ）内に記憶し、前記ＲＡＭが満杯又は前記ＲＡＭが利用できない場合、前記ＰＤＦファイルの前記第１ページ・ストリーム・データは他のシステム・メモリに内に記憶される方法。
【請求項７】
請求項５に記載の方法であって、
前記ＰＤＦファイルの前記第１ページ・ストリーム・データを解釈する工程は、リニアライゼーション・パラメータ・ディクショナリ内の情報からデータを直接解釈する方法。
【請求項８】
請求項３乃至７のいずれかに記載の方法であって、
前記ＰＤＦファイルをリニアライズドとして処理している際に処理エラーがないかモニタリングする工程と、
前記処理エラーが起きた場合に、前記ＰＤＦファイルのファイル・サイズと前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズとを比較する工程と、
前記ＰＤＦファイルの前記ファイル・サイズが前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと等しい場合、エラー・メッセージを送信する工程と、
前記ＰＤＦファイルの前記ファイル・サイズと前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズとが等しくなく、所定閾値限界を超えている場合、前記エラー・メッセージを送信することを中止し、前記リニアライズド処理を終了し、前記ＰＤＦファイルを非リニアライズドとして再処理する工程と、
を備える方法。
【請求項９】
リニアライズド及び非リニアライズド・ポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイルを印刷用に処理する方法であって、
前記ＰＤＦファイルがリニアライズされていることをプリンタ・ドライバが検出したか否かプリンタ・ファームウェアによって判定する工程と、
前記ＰＤＦファイルがリニアライズされていることを前記プリンタ・ドライバが検出したと前記プリンタ・ファームウェアが判定した場合に、前記ＰＤＦファイルのストリーム・データを前記プリンタ・ファームウェアによって保存する工程と、
前記ＰＤＦファイルがリニアライズされていることが前記プリンタ・ドライバによって未確認の場合、前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ファームウェアによって判定する工程と、
を備え、
エラーを検出する工程を備え、
ストリーム・ストレージが完了する前にエラーが記録される場合、エラー・ページ印刷及びストリーム・ストレージの残りの消費に対処するために２つの分離したタスク・スレッドが使用される方法。
【請求項１０】
請求項９に記載の方法であって、
前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ファームウェアによって判定する工程は、
前記プリンタ・ファームウェアによって受信される前記ＰＤＦファイルの前記ストリーム・データの第１部分にリニアライズド・キー文字列がないかモニタリングする工程と、
前記リニアライズド・キー文字列が見つかった場合、前記リニアライズド・キー文字列を解釈する工程と、
前記リニアライズド・キー文字列が見つかった場合は、前記ＰＤＦファイルをリニアライズドとして処理する工程と、
前記受信されたＰＤＦファイルの前記第１部分に前記リニアライズド・キー文字列が未確認の場合は、前記ＰＤＦファイルを非リニアライズドとして処理する工程と、
を含み、
前記リニアライズド・キー文字列を解釈する工程は、前記ＰＤＦファイルのリニアライズド特定ファイル・サイズを前記ＰＤＦファイルの実際のファイル・サイズと比較する工程を含む方法。
【請求項１１】
請求項１０に記載の方法であって、
前記プリンタ・ファームウェアによって受信される前記ＰＤＦファイルの前記ストリーム・データの前記第１部分に前記リニアライズド・キー文字列がないかモニタリングする工程は、前記ＰＤＦファイルの１０２４バイトのストリーム・データを受信した後、前記リニアライズド・キー文字列がないか前記プリンタ・ファームウェアによってモニタリングする工程を含む方法。
【請求項１２】
請求項１乃至１１のいずれかに記載の方法であって、
前記プリンタ・ドライバを介して前記ＰＤＦファイルが印刷のため送信される際、前記ＰＤＦファイルがリニアライズされているか前記プリンタ・ドライバによって判定する工程と、
前記ＰＤＦファイルが非リニアライズドの場合、前記プリンタ・ドライバによって前記ＰＤＦファイルをリニアライズする工程と、
を備える方法。
【請求項１３】
請求項１２に記載の方法であって、
プリンタ・コマンド情報を前記ＰＤＦファイルに前記プリンタ・ドライバによって追加する工程と、
前記プリンタ・コマンド情報を前記プリンタ・ドライバによって前記プリンタ・ファームウェアに送信する工程と、
を備える方法。
【請求項１４】
請求項１３に記載の方法であって、
前記プリンタ・コマンド情報は、ファイル・サイズ・データ及びリニアライゼーション・データを含む方法。
【請求項１５】
請求項１乃至１４のいずれかに記載の方法であって、
前記ＰＤＦファイルをＰＤＦアプリケーション内で開く工程と、
前記ＰＤＦアプリケーションがリニアライゼーション・モジュールを有する場合、前記ＰＤＦファイルをリニアライズドＰＤＦファイルとして保存する工程と、
を備える方法。
【請求項１６】
リニアライズド及び非リニアライズド・ポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイルを印刷用に処理する方法であって、
プリンタ・ドライバを介して前記ＰＤＦファイルが印刷のために送信された場合、前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ドライバによって判定する工程と、
前記ＰＤＦファイルが非リニアライズドの場合、前記ＰＤＦファイルを前記プリンタ・ドライバによってリニアライズする工程と、
プリンタ・コマンド情報を前記プリンタ・ドライバによって前記ＰＤＦファイルに追加する工程と、
前記プリンタ・コマンド情報を前記プリンタ・ドライバによってプリンタ・ファームウェアに送信する工程と、
前記ＰＤＦファイルがリニアライズされていることを前記プリンタ・ドライバが検出しているか否かをプリンタ・ファームウェアによって判定する工程と、
前記ＰＤＦファイルがリニアライズされていることを前記プリンタ・ドライバが検出していると前記プリンタ・ファームウェアが判定している場合、前記プリンタ・ファームウェアによって前記ＰＤＦファイルのストリーム・データを保存する工程と、
前記ＰＤＦファイルがリニアライズされていることが前記プリンタ・ドライバによって未確認の場合、前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ファームウェアによって判定する工程と、
前記プリンタ・ファームウェアによってリニアライゼーション・エラーを特定する工程と、
ストリーム・データを保存及び解釈している間に、前記プリンタ・ファームウェアによって印刷エラーを並行で特定及び処理する工程と、
を備える方法。
【請求項１７】
請求項１６に記載の方法であって、
前記プリンタ・ファームウェアによってリニアライゼーション・エラーを特定する工程は、
前記ＰＤＦファイルのファイル・サイズを前記ＰＤＦファイルのリニアライズド特定ファイル・サイズと比較する工程と、
前記ＰＤＦファイルの前記ファイル・サイズが前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと等しい場合、エラー・メッセージを送信する工程と、
前記ＰＤＦファイルの前記ファイル・サイズと前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズとが等しくなく、所定閾値限界を超えている場合、前記エラー・メッセージを送信することを中止し、前記リニアライズド処理を終了し、前記ＰＤＦファイルを非リニアライズドとして再処理する工程と、
を含む方法。
【請求項１８】
請求項１７に記載の方法であって、
ストリーム・データを保存及び解釈している間に、前記プリンタ・ファームウェアによって印刷エラーを並行で特定及び処理する工程は、ストリーム・ストレージが完了する前にエラーが記録される場合、エラー・ページ印刷及びストリーム・ストレージの残りの消費に対処するための２つの分離したタスク・スレッドを処理する工程を含む方法。
【請求項１９】
リニアライズド及び非リニアライズド・ポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイルを印刷用に処理するシステムであって、
前記ＰＤＦファイルがプリンタ・ドライバを介して印刷のために送信される際に前記ＰＤＦファイルを受信し、前記ＰＤＦファイルがリニアライズされているか否かを判定し、前記ＰＤＦファイルが非リニアライズドの場合、前記ＰＤＦファイルをリニアライズし、前記ＰＤＦファイルをリニアライズする際、プリンタ・コマンド情報を前記ＰＤＦファイルに追加する、プリンタ・ドライバ・モジュールと、
前記ＰＤＦファイルがリニアライズされていると前記プリンタ・ドライバが検出しているか否かを判定し、前記プリンタ・ドライバによって前記ＰＤＦファイルがリニアライズされていることが未確認の場合、前記ＰＤＦファイルをリニアライズし、前記ＰＤＦファイルのリニアライズド特定ファイル・サイズと前記ＰＤＦファイルの第１ページ・ファイル・サイズとの間のサイズ差が閾値サイズよりも大きい場合、前記ＰＤＦファイルをリニアライズドとして処理し、前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと前記ＰＤＦファイルの前記第１ページ・ファイル・サイズとの間のサイズ差が閾値サイズ未満の場合、前記ＰＤＦファイルを非リニアライズドとして処理し、受信される前記ＰＤＦファイルの第１部分でリニアライズド・キー文字列が未確認の場合、前記ＰＤＦファイルを非リニアライズドとして処理する、プリンタ・ファームウェア・モジュールとを備え、
前記プリンタ・ファームウェアは、リニアライゼーション・エラーの真偽を特定し、ストリーム・データを保存及び解釈している間に並行で、印刷エラーを特定し処理するシステム。
【請求項２０】
請求項１９に記載のシステムであって、
前記プリンタ・ファームウェア・モジュールに記憶され、前記ＰＤＦファイルをリニアライズドとして処理する場合、処理エラーをモニタリングし、処理エラーが起こった場合に前記ＰＤＦファイルのファイル・サイズを前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと比較し、前記ＰＤＦファイルの前記ファイル・サイズが前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと等しい場合、エラー・メッセージを送信し、前記ＰＤＦファイルの前記ファイル・サイズと前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズとが等しくない場合、前記ＰＤＦファイルを非リニアライズドとして処理する、エラー検出モジュールを備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般に印刷デバイスに関する。より具体的には、非リニアライズド及びリニアライズドＰＤＦ形式を含むすべてのＰＤＦ形式を、指定される印刷速度で解釈及び印刷するよう構成されるＰＤＦ画像形成システムで、リニアライズド及び非リニアライズド両方のＰＤＦ処理用のファイルの受信タイミング中にエラーが発生した場合のエラー処理性能を改善し、ＰＤＦファイルの線形処理中に発生し得る誤ったエラー・ページの印刷を回避する、エラー対処機構を有するＰＤＦ画像形成システムに関する。
【背景技術】
【０００２】
ポータブル・ドキュメント・フォーマット（ＰＤＦ）は、ソフトウェア、ハードウェア、又はオペレーティング・システムから独立している原稿を提示及び交換するために使用されるファイル形式である。ＰＤＦファイルに変換又はＰＤＦファイルとして保存される原稿は、一般的に特定のＰＤＦ規格として保存されるオプションを有している。選択されるＰＤＦ規格は、一般的にＰＤＦ原稿が作成された目的によって判定される。
【０００３】
ＰＤＦファイルを印刷する場合、ユーザは、ネットワーク・コマンド（例えば、ＬＰＲ）又はＵＳＢ印刷を使用して、プリンタ・ドライバからＰＤＦファイル・データを送信してもよい。プリンタ・ファームウェアは、ＰＤＦ  １．２、１．５、１．７等のすべての種類のＰＤＦ形式も他のＰＤＦ形式タイプも取り扱う必要があってもよい。簡潔には、ＰＤＦファイルは、２つのタイプのレイアウトを有すると定義されてもよい。非リニアライズドとリニアライズドである。
【０００４】
非リニアライズドＰＤＦファイルは、リニアライズドＰＤＦファイルよりも消費するディスクスペースは小さくてもよいが、原稿のページを集約するために必要なデータ部分が、ＰＤＦファイル中に散在してもよいため、リニアライズドＰＤＦファイルよりもアクセスに時間がかかかることがある。このように、非リニアライズドＰＤＦファイルを印刷することは、重要な解釈情報がファイルの最後に位置してもよいため、すべてのファイル・データが受信されるまでプリンタを待機させることが必要な場合がある。
【０００５】
リニアライズドＰＤＦファイル（『最適化』又は『ウェブ最適化』ＰＤＦファイルとも呼ばれる）は、線形（ページ順序のような）でディスクに書き込まれている。そのため、ファイル全体がダウンロードされるまで待機せずに、ウェブ・ブラウザ・プラグインで読まれることを可能にする方法で構成されてもよい。リニアライズドＰＤＦファイルは、ファイルの最初にリニアライゼーション・パラメータ・ディクショナリを含み、合計ファイル・サイズ（ＬＳｉｚｅ）や第１ページのサイズ（１ｓｔＰｇＳｉｚｅ）等のリニアライゼーション情報及び他のリニアライゼーション情報を特定してもよい。リニアライズドＰＤＦファイルにおいて、解釈情報及び第１ページ・データの両方ともファイルの最初に置かれる。このように、プリンタ・ファームウェアは、ページ・データ全体を受信するまで待機する必要なしに、リニアライズドＰＤＦファイルの第１ページ・データの解釈及び印刷を開始してもよい。このように、リニアライズドＰＤＦファイルは、一般的に非リニアライズドＰＤＦファイルよりも優れた印刷性能を有すると期待される。
【０００６】
非リニアライズドＰＤＦファイルをリニアライズドＰＤＦファイルに変換することは不可能ではない。しかしながら、プリンタ・システムのメモリ構成及び印刷速度の制限に起因して、プリンタ・ファームウェアにリニアライズドＰＤＦコンバータを追加することは費用がかかり、プリンタ速度も遅くなるかもしれない。さらに、リニアライズドＰＤＦファイルとは反対に非リニアライズドＰＤＦファイルとしてＰＤＦファイルを印刷することがより望ましいかもしれない状況もあるため、プリンタ・ファームウェア内に両方の形式をサポートすることが必要となる。
【０００７】
そのため、上記を克服するシステム及び方法を提供することが望まれるだろう。本システム及び方法は、非リニアライズド及びリニアライズドＰＤＦ形式を含むすべてのＰＤＦ形式を解釈及び印刷できる。本システム及び方法は、異なるＰＤＦ印刷フローのパイプラインベース内の異なる装置内でリニアライズドＰＤＦ形式検出及び変換機構を提供する。本システム及び方法は、ストリーム・データ・ストレージ内にエラー対処機構を提供して、エラー対処性能とＰＤＦファイルの解釈を向上させ、誤ったエラー・ページの印刷を回避する。
【発明の概要】
【０００８】
一実施形態によると、リニアライズド及び非リニアライズド・ポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイルを印刷用に処理する方法が開示されている。本方法は、前記ＰＤＦファイルがリニアライズされていることをプリンタ・ドライバが検出したか否かプリンタ・ファームウェアによって判定する工程と、前記ＰＤＦファイルがリニアライズされていることを前記プリンタ・ドライバが検出したと前記プリンタ・ファームウェアが判定した場合に、前記ＰＤＦファイルのストリーム・データを前記プリンタ・ファームウェアによって保存及び処理する工程と、前記ＰＤＦファイルがリニアライズされていることが前記プリンタ・ドライバによって未確認の場合、前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ファームウェアによって判定する工程とを含む。
【０００９】
一実施形態によると、リニアライズド及び非リニアライズド・ポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイルを印刷用に処理する方法が開示されている。本方法は、前記ＰＤＦファイルのファイル・サイズをプリンタ・ドライバによって取得する工程と、前記プリンタ・ドライバを介して前記ＰＤＦファイルが印刷のために送信された場合、前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ドライバによって判定する工程と、前記ＰＤＦファイルが非リニアライズドの場合、前記ＰＤＦファイルを前記プリンタ・ドライバによってリニアライズする工程と、プリンタ・コマンド情報を前記プリンタ・ドライバによって前記ＰＤＦファイルに追加する工程と、前記プリンタ・コマンド情報を前記プリンタ・ドライバによってプリンタ・ファームウェアに送信する工程と、前記ＰＤＦファイルがリニアライズされていることを前記プリンタ・ドライバが検出しているか否かをプリンタ・ファームウェアによって判定する工程と、前記ＰＤＦファイルがリニアライズされていることを前記プリンタ・ドライバが検出していると前記プリンタ・ファームウェアが判定している場合、前記プリンタ・ファームウェアによって前記ＰＤＦファイルのストリーム・データを保存する工程と、前記ＰＤＦファイルがリニアライズされていることが前記プリンタ・ドライバによって未確認の場合、前記ＰＤＦファイルがリニアライズされているか否かを前記プリンタ・ファームウェアによって判定する工程と、前記プリンタ・ファームウェアによってリニアライゼーション・エラーを特定する工程と、並びにストリーム・データを保存及び解釈している間に、前記プリンタ・ファームウェアによって印刷エラーを並行で特定及び処理する工程とを含む。
【００１０】
一実施形態によると、リニアライズド及び非リニアライズド・ポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイルを印刷用に処理するシステムが開示されている。本システムは、プリンタ・ドライバとプリンタ・ファームウェア・モジュールとを備える。前記プリンタ・ドライバは、前記ＰＤＦファイルが前記プリンタ・ドライバを介して印刷のために送信される際に前記ＰＤＦファイルを受信し、前記ＰＤＦファイルがリニアライズされているか否かを判定し、前記ＰＤＦファイルが非リニアライズドの場合、前記ＰＤＦファイルをリニアライズし、前記ＰＤＦファイルをリニアライズする場合、プリンタ・コマンド情報を前記ＰＤＦファイルに追加する。前記プリンタ・ファームウェア・モジュールは、前記ＰＤＦファイルがリニアライズされていると前記プリンタ・ドライバが検出しているか否かを判定し、前記ＰＤＦファイルがリニアライズされていることが前記プリンタ・ドライバによって未確認の場合、前記ＰＤＦファイルをリニアライズし、前記ＰＤＦファイルのリニアライズド特定ファイル・サイズと前記ＰＤＦファイルの第１ページ・ファイル・サイズとの間のサイズ差が閾値サイズよりも大きい場合、前記ＰＤＦファイルをリニアライズドとして処理し、前記ＰＤＦファイルの前記リニアライズド特定ファイル・サイズと前記ＰＤＦファイルの前記第１ページ・ファイル・サイズとの間のサイズ差が閾値サイズ未満の場合、前記ＰＤＦファイルを非リニアライズドとして処理し、受信される前記ＰＤＦファイルの第１部分でリニアライズド・キー文字列が未確認の場合、前記ＰＤＦファイルを非リニアライズドとして処理する。前記プリンタ・ファームウェアは、リニアライゼーション・エラーの真偽を特定し、ストリーム・データを保存及び解釈している間に並行で、印刷エラーを特定し処理する。
【図面の簡単な説明】
【００１１】
本願は、以下の図面により、さらに詳細なものとなる。これらの図は、本発明の適用範囲の制限を意図するものではなく、むしろ、本発明のある属性を例示しているものである。
【図１】本願の一態様に係るリニアライズド及び非リニアライズドＰＤＦファイルを印刷するシステムの一例の図である。
【図２】本願の一態様による図１に描写される例示のコンピューティング・デバイスを示す簡略化された構成図である。
【図３】本願の一態様に係る図１に描写される例示の画像形成装置を示す簡略化された構成図である。
【図４】本願の一態様に係るリニアライズド及び非リニアライズドＰＤＦファイルの印刷方法を描写するフローチャートの実施形態の一例である。
【図５】本願の一態様に係る図１のシステム内で使用されるアプリケーション・ツールの操作を描写するフローチャートの実施形態の一例である。
【図６】本願の一態様に係る図１のシステム内で使用されるプリンタ・ドライバの操作を描写するフローチャートの実施形態の一例である。
【図７】本願の一態様に係る図１のシステム内で使用されるプリンタ・ファームウェアの操作を描写するフローチャートの実施形態の一例である。
【図８】本願の一態様に係る図７のプリンタ・ファームウェア内で使用されるリニアライズド検出部の操作を描写するフローチャートの実施形態の一例である。
【図９】本願の一態様に係る図７のプリンタ・ファームウェアによるＰＤＦファイルの非リニアライズド処理を描写するフローチャートの実施形態の一例である。
【図１０】本願の一態様に係る図７のプリンタ・ファームウェアによるＰＤＦファイルのリニアライズド処理を描写するフローチャートの実施形態の一例である。
【図１１】本願の一態様に係る図７のプリンタ・ファームウェア内で使用されるエラー対処機構の操作を描写するフローチャートの実施形態の一例である。
【図１２Ａ】本願の一態様に係るプリンタ・ファームウェアによるエラー・ページ印刷を描写する先行技術のフローチャートである。
【図１２Ｂ】本願の一態様に係る図７のプリンタ・ファームウェアによるエラー・ページ印刷を描写するフローチャートの実施形態の一例である。
【発明を実施するための形態】
【００１２】
添付の図面に関連して以下に明記される説明は、本開示の現在の好適な実施形態の説明を意図し、当該開示を構成及び／又は利用できる唯一の形態を表す意図はない。本説明は、本開示を構成及び操作するステップの機能及び順序を例示の実施形態を交えて明記する。しかしながら、同一又は同等の機能及び順序は、当該開示の主旨及び適用範囲内に包括されることを意図する異なる実施形態によって達成できることを理解されたい。
【００１３】
一例のシステム及び方法の実施形態は、非リニアライズド及びリニアライズドＰＤＦ形式を含むすべてのＰＤＦ形式を解釈及び印刷するように構成されるＰＤＦ画像形成システム及び方法に関する。一例のシステム及び方法は、印刷パイプライン内の異なる装置にリニアライズドＰＤＦ形式検出及び変換機構を提供する。検出及び変換機構の使用は、ＰＤＦ印刷フローに依存する。プリンタ・ファームウェア内でのリニアライゼーション検出は、ストリーム・データを受信し、ＰＤＦファイルが保存された後、待機する必要がない場合に、オンザフライで起こる。これにより、最適な方法で決定することができる。リニアライズドＰＤＦファイルに関して、一例のシステム及び方法は、合計ファイル・サイズと第１ページサイズ（１ｓｔＰｇＳｉｚｅ）との間のサイズ差を照合する。サイズ差が所定値を超えると検出された場合、リニアライズド処理は、後のページに費やされるファイル格納時間を保存するために使用されてもよい。そうでない場合は、非リニアライズド処理が使用されてもよい。リニアライズドＰＤＦ処理において、高速印刷のために２つの処理段階を導入して、並行処理を模索してもよい。リニアライズド段階１は、すべてのデータが受信されるまで第１ページの印刷を待機する必要がないように、ＲＡＭに第１ページ・データを保存すること、及び第１ページ・データを解釈することを含んでもよい。リニアライズド段階２は、後のページ・データを保存すること、及び解釈することを含んでもよい。結果的に、第１ページの印刷速度を最適化し、ＰＤＦ原稿の全体の印刷速度も同様に最適化してもよい。一例のシステム及び方法は、誤ったエラー・ページの印刷を回避できるＰＤＦファイルの解釈のためのエラー対処機構を提供してもよい。第１ページの解釈中の未確認のファイル・サイズによって引き起こされるリニアライズされた具体的なエラーは検出されてもよく、エラー・ページの印刷を回避するため、非リニアライズド・インタープリタを使用してもよい。
【００１４】
図１を参照すると、システム１０が示される。システム１０は、非リニアライズド及びリニアライズドＰＤＦファイルを含むすべてのＰＤＦ形式を最適な印刷速度で解釈及び印刷するよう構成されてもよい。システム１０は、異なるＰＤＦ印刷フローのパイプラインベース内の異なる装置内でリニアライズドＰＤＦ形式検出及び変換機構を提供する。システム１０は、ＰＤＦファイルのリニアライゼーション処理中に起こるかもしれない誤ったエラー・ページの印刷を回避するエラー対処機構を有してもよい。システム１０の構成要素は、有線又は無線接続を通して接続されてもよい。
【００１５】
システム１０は画像形成装置１４を有してもよい。画像形成装置１４は、印刷能力を有する任意のタイプの装置であってもよい。例えば、画像形成装置１４は、プリンタ、複写機、ファクス、スキャナ並びに複写機、ファクシミリ装置、及びプリンタの１つ以上の機能を含む多機能周辺装置、並びに／又は他のタイプのレンダリング装置であってもよい。画像形成装置１４は、後述するように印刷ジョブを出力するために使用されてもよい。
【００１６】
画像形成装置１４は印刷サーバ１６に接続されてもよい。印刷サーバ１６は、ネットワーク２２を通して画像形成装置１４を１つ以上のコンピューティング・デバイス１８に接続するために使用されてもよい。ネットワーク２２はローカル・エリア・ネットワーク（ＬＡＮ）、一般的な広域ネットワーク（ＷＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）及び／又は公衆網であってもよい。印刷サーバ１６は、コンピューティング・デバイス１８から印刷ジョブを受け入れてもよく、適切な画像形成装置１４に印刷ジョブを送信してもよい。画像形成装置１４が印刷できるよりも早く印刷ジョブが到着してもよいため、印刷サーバ１６は、ジョブをローカルで並べてもよい。代替的又は追加的に、コンピューティング・デバイス１８は画像形成装置１４に直接的に接続されてもよい。
【００１７】
個人１２は１つ以上のコンピューティング・デバイス１８を使用して、画像形成装置１４に印刷ジョブを送信してもよい。コンピューティング・デバイス１８は、デスクトップ・コンピュータ、ハンドヘルド又はラップトップ装置、タブレット、携帯電話装置、サーバ・コンピュータ・システム、マルチプロセッサ・システム、マイクロプロセッサベースのシステム、ネットワーク・パソコン、及び上記のシステム又は装置いずれかを含む分散型のクラウド・コンピューティング環境等のクライアント・コンピュータ・システム等であってよい。コンピューティング・デバイス１８は、後述のように、コンピュータ・システムによって実行される、プログラム・モジュール等のコンピュータ・システムが実行可能な指示の一般的な文脈で説明されてもよい。図１に示される実施形態において、コンピューティング・デバイス１８はデスクトップ／ラップトップ・コンピューティング・システム１８Ａ（パーソナル・コンピューティング・システムとも呼ばれる）、タブレット装置１８Ｂ、及び携帯電話装置１８Ｃとして見なされてもよい。しかしながら、このことは、上記のいかなるコンピューティング・デバイス１８でも使用してよいため、限定ととらえるべきではない。
【００１８】
コンピューティング・デバイス１８は、オペレーティング・システムを搭載してもよい。コンピューティング・デバイス１８のオペレーティング・システムは、コンピューティング・デバイス１８のハードウェア及びソフトウェア資産を管理してもよいし、コンピューティング・デバイス１８で動作するコンピュータ・プログラム向けの一般的サービスを提供してもよい。コンピューティング・デバイス１８は、線形変換モジュール２０（リニアライズドＰＤＦコンバータとも呼ばれる）を搭載してもよい。線形変換モジュール２０は、下に説明するように、非線形ＰＤＦファイルを線形ＰＤＦファイルに変換してもよい。
【００１９】
図２を参照すると、本明細書中に開示のシステム及び方法に機能性を提供する機械的要素に関して、より詳細にコンピューティング・デバイス１８が説明される。コンピューティング・デバイス１８の構成要素には、１つ以上のプロセッサ又は処理装置３０、システム・メモリ３２、及びシステム・メモリ３２からプロセッサ３０を含む様々なシステム構成要素を接続するシステム・バス３４が含まれてもよいが、これらに限らない。コンピューティング・デバイス１８は、典型的に様々なコンピュータ・システム読み取り可能媒体を含んでもよい。そのような媒体は、コンピューティング・デバイス１８によってアクセス可能な任意の利用可能な媒体から選択されてもよく、非一時的、揮発性及び不揮発性媒体、取り外し可能及び取り外し不能媒体が含まれる。システム・メモリ３２は、ランダム・アクセス・メモリ（ＲＡＭ）３６及び／又はキャッシュ・メモリ３８等の、揮発性メモリの形態の１つ以上のパーソナル・コンピューティング・システム読み取り可能媒体を含むことができる。一例として、典型的に『ハード・ドライブ』と呼ばれる取り外し不能の不揮発性磁気媒体装置からの読み出し及び書き込みのためにストレージ・システム４０が提供されてもよい。
【００２０】
システム・メモリ３２は、本発明の実施形態の機能を実施するように構成されてもよいプログラム・モジュール４４のセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品／ユーティリティ４２を含んでもよい。プログラム・モジュール４４は、オペレーティング・システム、１つ以上のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを含んでもよいが、これらに限らない。各オペレーティング・システム、１つ以上のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの組み合わせは、ネットワーク環境の実装を含んでもよい。プログラム・モジュール４４は、本明細書中に説明されている本発明の実施形態の機能及び／又は方法体系を一般的に実施する。例えば、プログラム・モジュール４４は線形変換モジュール２０を有してもよい。一実施形態によると、線形変換モジュール２０は、コンピューティング・デバイス１８のシステム・メモリ３２に記憶されるプリンタ・ドライバの一部を形成してもよい。
【００２１】
コンピューティング・デバイス１８は、キーボード、位置指示装置、表示部４８、又は任意の類似装置（例えば、ネットワーク・カード、モデム等）等の１つ以上の外部装置４６と通信を行ってもよい。表示部４８は発光ダイオード（ＬＥＤ）表示、液晶ディスプレイ（ＬＣＤ）表示、陰極線管（ＣＲＴ）表示及び類似の表示装置であってもよい。外部装置４６は、コンピューティング・デバイス１８が画像形成装置１４（図１）と通信を行うことを可能にできてもよい。そのような通信は、入出力（Ｉ／Ｏ）インターフェース５０を介して発生してもよい。代替的に、パーソナル・コンピューティング・システム１８Ａが、ネットワーク・アダプタ５２を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的な広域ネットワーク（ＷＡＮ）、及び／又は公衆網等の１つ以上のネットワーク２２（図１）と通信を行ってもよい。コンピューティング・デバイス１８は、有線又は無線接続を介して１つ以上のネットワークに接続してもよい。描写の通り、ネットワーク・アダプタ５２は、コンピューティング・デバイス１８の他の構成要素とシステム・バス３４を介して通信を行ってもよい。
【００２２】
当業者には理解されるように、開示の発明の態様はシステム、方法若しくはプロセス、又はコンピュータ・プログラム製品として、具現化されてもよい。従って、開示の発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等）、又は本明細書中ですべて概して『回路』、『モジュール』、又は『システム』と呼ばれてもよいソフトウェア及びハードウェア態様を組み合わせた実施形態の形態を呈してもよい。さらに、開示の発明の態様は、コンピュータ読み込み可能なプログラム・コードをその中に具現化した１つ以上のコンピュータ読み込み可能な媒体を具現化したコンピュータ・プログラム製品の形態を呈してもよい。
【００２３】
１つ以上のコンピュータ読み込み可能な媒体の任意の組み合わせ（例えば、ストレージ・システム４０）が利用されてもよい。当該開示と関連して、コンピュータ読み込み可能な記憶媒体は、指示実行システム、器具、又は装置によって又は関連して使用されるプログラム（例えばプログラム製品４２）を含む又は記憶できる任意の有形的又は非一時的な媒体でもよい。コンピュータ読み込み可能な記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、又は半導体システム、器具、若しくは装置、又は上述の適切な任意の組み合わせであってもよいが、これらに限らない。
【００２４】
図３を参照すると、本明細書中に開示されるシステム及び方法に機能性を提供する機械的要素に関して、より詳細に画像形成装置１４が説明される。画像形成装置１４の構成要素には、１つ以上のプロセッサ又は処理装置６０、システム・メモリ６２、及びシステム・メモリ６２から処理部６０を含む様々なシステム構成要素を接続してもよいシステム・バス６３が含まれてもよいが、これらに限らない。画像形成装置１４は、典型的に様々なコンピュータ・システム読み取り可能媒体を含んでもよい。そのような媒体は、画像形成装置１４によってアクセス可能な任意の利用可能な媒体から選択されることもでき、非一時的、揮発性及び不揮発性媒体、取り外し可能及び取り外し不能媒体が含まれる。システム・メモリ６２は、ランダム・アクセス・メモリ（ＲＡＭ）及び／又はキャッシュ・メモリ等の、揮発性メモリの形態の１つ以上の画像形成装置読み取り可能媒体を含むこともできる。ほんの一例として、典型的に『ハード・ドライブ』と呼ばれる取り外し不能の不揮発性磁気媒体装置からの読み出し及び書き込みのためにシステム・メモリ６２が提供されてもよい。
【００２５】
システム・メモリ６２は、本発明の実施形態の機能を実施するように構成されてもよいプログラム・モジュール６６のセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品／ユーティリティ６４を含んでもよい。プログラム・モジュール６６は、オペレーティング・システム、１つ以上のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを含んでもよいが、これらに限らない。各オペレーティング・システム、１つ以上のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの組み合わせは、ネットワーク環境の実装を含んでもよい。プログラム・モジュール６６は、ページ・コンバータ、ラスタライザ、圧縮コード、ページ印刷スケジューラ、印刷エンジン・マネージャ、及び類似の印刷アプリケーション（すなわち、プリンタ・ファームウェア）等の手順を含んでもよい。プログラム・モジュール６６は、本明細書中に説明されている本発明の実施形態の機能及び／又は方法体系を一般的に実施する。
【００２６】
画像形成装置１４は、１つ以上の通信モジュール６８を有してもよい。通信モジュール６８は、画像形成装置１４が、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的な広域ネットワーク（ＷＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）及び／又は公衆網等の１つ以上のネットワーク（すなわち、図１に示されるネットワーク２２）と通信を行うことを許可してもよい。一実施形態によると、通信モジュール６８は、ネットワーク通信インターフェース７０Ｂに接続されるネットワーク通信処理部７０Ａを含んでもよい。ネットワーク通信処理部７０Ａ及びネットワーク通信インターフェース７０Ｂは画像形成装置１４が１つ以上のネットワーク２２と通信を行うことを許可してもよい。これらネットワーク２２はローカル・エリア・ネットワーク（ＬＡＮ）、一般的な広域ネットワーク（ＷＡＮ）、無線ローカル・エリア・ネットワーク、公衆網、セルラー・ネットワークであってもよいし、他のタイプのネットワークであってもよい。通信モジュール６８は、近距離無線通信インターフェース７２Ｂに接続される近距離無線通信処理部７２Ａを含んでもよい。近距離無線通信処理部７２Ａ及び近距離無線通信インターフェース７２Ｂは、画像形成装置１４がＢＬＵＥＴＯＯＴＨ（登録商標）、赤外線又は類似の無線通信プロトコルを使用して、画像形成装置１４周辺に位置する他の電子装置と通信を行うことを許可してもよい。
【００２７】
画像形成装置１４は、操作パネル７４を含んでもよい。操作パネルは、人間の画像形成装置１４との相互作用を容易化するための表示部７６及び入力部７８を含んでもよい。表示部７６は、ＬＣＤ表示、ＬＥＤ表示、及び類似の表示タイプ等の任意の電子映像表示でもよい。入力部７８は、ユーザが操作パネル７４に情報を入力することを許可する、ボタン、キーボード、スイッチ、及び／又はダイヤル等の、任意の装置の組み合わせを含んでもよい。これに加えて、入力部７８は、タッチを感知でき、表示部７６との相互作用を可能にする、表示部７６に重ねられたタッチスクリーン・デジタイザを含んでもよい。
【００２８】
当業者には理解されるように、開示の発明の態様はシステム、方法若しくはプロセス、又はコンピュータ・プログラム製品として、具現化されてもよい。従って、開示の発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又は本明細書中ですべて概して『回路』、『モジュール』、又は『システム』と呼ばれてもよいソフトウェア及びハードウェア態様を組み合わせた実施形態の形態を呈してもよい。さらに、開示の発明の態様は、コンピュータ読み込み可能なプログラム・コードをその中に具現化した１つ以上のコンピュータ読み込み可能な媒体を具現化したコンピュータ・プログラム製品の形態を呈してもよい。
【００２９】
１つ以上のコンピュータ読み込み可能な媒体（例えば、システム・メモリ６２）の任意の組み合わせが利用されてもよい。当該開示と関連して、コンピュータ読み込み可能な記憶媒体は、指示実行システム、器具、又は装置によって又は関連して使用されるプログラム（例えばプログラム・モジュール６６）を含む又は記憶できる任意の有形的又は非一時的な媒体でもよい。コンピュータ読み込み可能な記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、又は半導体システム、器具、若しくは装置、又は上述の適切な任意の組み合わせであってもよいが、これらに限らない。
【００３０】
図１乃至１２Ｂを参照すると、実施形態の一例に従ったシステム１０の操作が説明される。図４に示されるように、システム１０の操作は、ＰＤＦファイルがいかに画像形成装置１４に送信されるかに基づいてもよい。システム１０の操作は２つの処理フローに分けられてもよい。フロー１は、ＰＤＦ原稿が、Ａｄｏｂｅ（商標）Ｒｅａｄｅｒ、Ａｄｏｂｅ（商標）Ｐｒｏ、Ｍｉｃｒｏｓｏｆｔ（商標）Ｏｆｆｉｃｅ等のアプリケーション・ツールで開かれ、プリンタ・ドライバを介して印刷のために送信される場合と定義してもよい。フロー２は、ＰＤＦ原稿が、ネットワーク又はＵＳＢ印刷を介して印刷ために直接的に送信される場合と定義してもよい。
【００３１】
フロー１において、１０１に示されるように、ＰＤＦアプリケーション・ツールはＰＤＦ原稿を開くために使用されてもよい。図５からわかるように、アプリケーション・ツールでＰＤＦファイルを開いた個人１２は、１０１Ａに示されるように、アプリケーション・ツールがリニアライズドＰＤＦコンバータを含んでいるか判定する必要があるかもしれない。Ａｃｒｏｂａｔ  Ｐｒｏ、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ等のアプリケーション・ツールには、ファイル保存オプションを有するものがあってよく、これによって個人１２は、ＰＤＦファイルをリニアライズドＰＤＦファイル規格で保存することができる。このように、これらのアプリケーション・ツールは、個人１２が、アプリケーション・ツール内で非リニアライズドＰＤＦファイルをリニアライズドＰＤＦファイルに変換することを許可してもよい。アプリケーション・ツールがリニアライズドＰＤＦコンバータを有する場合、個人１２は、１０１Ｂに示されるように、ＰＤＦファイルをリニアライズドＰＤＦファイルとして保存して、ＰＤＦファイルをリニアライズするだろう。ＰＤＦファイルをリニアライズドＰＤＦファイルとして保存することは、画像形成装置１４がページ・データ全体を受信するまで待機する必要なく、ＰＤＦファイルの第１ページ・データの解釈及び印刷を開始できるため、ＰＤＦファイルの印刷性能を最適化できる。ＰＤＦファイルをアプリケーション・ツール内でリニアライズすることは、さらに、後の印刷パイプラインが使用するためのリニアライズ処理フローを許可できる。ところが、Ａｄｏｂｅ（商標）Ｒｅａｄｅｒ等のアプリケーション・ツールには、リニアライズドＰＤＦコンバータを提供しないものがあってもよい。このように、ＰＤＦファイルが非リニアライズドＰＤＦファイルである場合、ＰＤＦファイルは、１０１Ｃに示されるように、依然として非リニアライズドＰＤＦファイルのままかもしれない。
【００３２】
ＰＤＦファイルからのデータは、１０２（図４）に示されるように、コンピューティング・デバイス１８のプリンタ・ドライバに送信されてもよい。図６からわかるように、プリンタ・ドライバは、１０２Ａに示されるように、ＰＤＦファイルからデータを受信してもよい。プリンタ・ドライバは、１０２Ｂに示されるように、データを審査して、ＰＤＦファイルのサイズを照合してもよい。当該情報は、プリンタ・ドライバ及び下記に説明される画像形成装置１４（図１及び３）のシステム・メモリ６２（図３）に記憶されるファームウェアによって使用されてもよい。
【００３３】
ＰＤＦデータは、１０２Ｃに示されるように、プリンタ・ドライバのリニアライズドＰＤＦコンバータ２０（図１及び２）に送信されてもよい。プリンタ・ドライバのリニアライズドＰＤＦコンバータ２０は、１０２Ｄに示されるように、ＰＤＦの日付を審査して、ＰＤＦファイルがリニアライズド又は非リニアライズドかどうかを判定してもよい。ＰＤＦファイルが非リニアライズドＰＤＦファイルの場合、プリンタ・ドライバのリニアライズドＰＤＦコンバータ２０が、１０２Ｅに示されるように、ＰＤＦファイルをリニアライズしてもよい。
【００３４】
プリンタ・ドライバは、１０２Ｆに示されるように、印刷ジョブ言語（ＰＪＬ）コマンド・モジュールを有してもよい。ＰＪＬコマンド・モジュールはＰＪＬコマンドを生成するために使用されてもよい。例えば、ＰＪＬコマンド・モジュールは、ファイル・サイズ及びリニアライゼーション情報に対してＰＪＬコマンドを生成してもよい。一実施形態によると、プリンタ・ドライバのリニアライズドＰＤＦコンバータ２０がＰＤＦファイルをリニアライズする場合、ＰＪＬコマンド・モジュールは、画像形成装置１４内のプリンタ・ファームウェアに以下のＰＪＬコマンドを送信してもよい。
＠ＰＪＬ  ＳＥＴ  ＬＰＡＲＭ：ＰＤＦ  ＫＬＩＮＥＡＲＩＺＥＤＰＤＦ＝ＹＥＳ
＠ＰＪＬ  ＳＥＴ  ＬＰＡＲＭ：ＰＤＦ  ＫＦＩＬＥＳＩＺＥ＝ＰＤＦ  ＦＩＬＥ  ＳＩＺＥ
【００３５】
ＰＤＦファイルが線形ＰＤＦファイルの場合、ＰＤＦファイルを、１０２Ｅに示されるように、リニアライズドＰＤＦコンバータ２０を通さずにＰＪＬコマンド・モジュールに直接送信してもよい。ＰＪＬコマンドが生成された後、すでにリニアライズド済みのＰＤＦファイルは、１０３（図４）に示されるように、画像形成装置１４に送信されてもよい。一実施形態によると、ＰＪＬコマンド・モジュールは、画像形成装置１４内のプリンタ・ファームウェアに以下のＰＪＬコマンドを送信してもよい。
＠ＰＪＬ  ＳＥＴ  ＬＰＡＲＭ：ＰＤＦ  ＫＬＩＮＥＡＲＩＺＥＤＰＤＦ＝ＮＯ
＠ＰＪＬ  ＳＥＴ  ＬＰＡＲＭ：ＰＤＦ  ＫＦＩＬＥＳＩＺＥ＝ＰＤＦ  ＦＩＬＥ  ＳＩＺＥ
【００３６】
図４からわかるように、フロー２の印刷では、ＰＤＦファイルは、１０３に示されるように、画像形成装置１４に直接送信されてもよい。フロー２では、ＰＤＦ原稿がネットワーク又はＵＳＢ印刷を介して印刷のために直接送信されるので、フロー２では、アプリケーション・ツール又はプリンタ・ドライバを使用しない。このように、フロー２では、画像形成装置１４内のプリンタ・ファームウェアはすべての入力形式を取り扱う必要があってもよい。
【００３７】
プリンタ・ファームウェアは、フロー１及びフロー２の両方で使用されてもよい。図７に、１０３（図４）に示される画像形成装置１４のプリンタ・ファームウェアの操作を説明する。画像形成装置１４のプリンタ・ファームウェアは、３０１に示されるように、受信されたＰＤＦファイルのリニアライズド検出を実行してもよい。プリンタ・ファームウェアは、３０２に示されるように、ＰＤＦファイルがリニアライズされているか否かを判定してもよい。プリンタ・ファームウェアは、ＰＪＬコマンドが受信されたか確認するように照合してもよい。一実施形態によると、プリンタ・ファームウェアは、プリンタ・ドライバでリニアライゼーション照合が行われたか否かを調べるためにＰＪＬ  ＫＬＩＮＥＡＲＩＺＥＤＰＤＦ設定を照合してもよい。リニアライゼーション照合がプリンタ・ドライバで行われた場合、プリンタ・ファームウェアは、ＫＬＩＮＥＡＲＩＺＥＤＰＤＦ設定に基づき、ストリーム・データを保存し始めてもよく、そうでない場合は、プリンタ・ファームウェアは、３０１に示されるように、ＰＤＦファイルタイプを判定するリニアライゼーション検出を実行してもよい。
【００３８】
プリンタ・ファームウェアは、すべてのストリーム・データを画像形成装置１４に保存してからではなく、ストリーム・データの受信中にリニアライゼーションを検出し始めてもよい。これによって、画像形成装置１４が、第１ページの印刷を開始する速度を最適化することを許可してもよい。図８に示されるように、画像形成装置１４は、ストリーム・データを受信し始めてもよい。プリンタ・ファームウェアは、３０１Ｂに示されるように、画像形成装置１４が１０２４バイトのストリーム・データを受信したか否か判定してもよい。１０２４バイト未満のストリーム・データが受信された場合、画像形成装置１４はストリーム・データを受信し続けてよい。プリンタ・ファームウェアは、１０２４バイトのストリーム・バッファ（ＰＤＦ仕様ごとに、リニアライゼーション・パラメータ・ディクショナリは１０２４バイト内で配置される）を受信した後、リニアライズド検出を開始してもよい。リニアライズド検出は、３０１Ｃに示されるように、ストリーム・バッファを使用することで、及びリニアライゼーション・パラメータ・ディクショナリ内に含まれる“／Ｌｉｎｅａｒｉｚｅｄ”キーワードとパラメータ情報（すなわちリニアライズド・キー文字列）を検索するデータを審査することで、起こってもよい。リニアライズド・キー文字列が見つからない場合、３０１Ｄに示されるように、ＰＤＦファイルは非リニアライズドＰＤＦファイルである。文字列が見つかる場合、プリンタ・ファームウェアは、３０２Ｅに示されるように、リニアライゼーション・パラメータ・ディクショナリを試して解釈してもよい。プリンタ・ファームウェアは、３０２Ｆに示されるように、ＰＪＬ指定のファイル・サイズ（ＦｉｌｅＳｉｚｅ）がわかるか確認するためにリニアライズド・ディクショナリの解釈を試してもよい。ＦｉｌｅＳｉｚｅがわかる場合、プリンタ・ファームウェアは、３０２Ｇに示されるように、リニアライズド指定ファイル・サイズ（ＬＳｉｚｅ）をＦｉｌｅＳｉｚｅと比較してもよい。ＬＳｉｚｅがＦｉｌｅＳｉｚｅと等しい場合、ＰＤＦファイルは、３０２Ｈに示されるように、リニアライズドＰＤＦファイルと定義されてもよい。そうでない場合は、３０１Ｄに示されるように、ＰＤＦファイルは、非リニアライズドＰＤＦファイルと定義されてもよい。プリンタ・ドライバのない状況でＦｉｌｅＳｉｚｅが判定できない場合、ＰＤＦファイルは、それでも、３０２Ｈに示されるように、リニアライズドＰＤＦファイルとして定義されてもよい。
【００３９】
図７を再度参照し、ＰＤＦファイルが非リニアライズドＰＤＦファイルと定義された場合、非リニアライズド処理は、３０５に示されるように、ＰＤＦファイルに施されてもよい。図９からわかるように、ＰＤＦファイルの非リニアライズド処理の場合、５０１に示されるように、ＰＤＦファイル全体が画像形成装置１４のシステム・メモリ６２に保存される。ＰＤＦファイルが一旦保存されると、５０２に示されるように、解釈されて、印刷データが生成される。
【００４０】
ＰＤＦファイルが、リニアライズドＰＤＦファイルとして定義されている場合、画像形成装置１４のファームウェアは、３０３に示されるように、リニアライゼーション・パラメータ・ディクショナリによって指定されるＬＳｉｚｅと１ｓｔＰｇＳｉｚｅとの間のサイズ差を照合してもよい。ＬＳｉｚｅと１ｓｔＰｇＳｉｚｅとの間のサイズ差が、所定の閾値サイズ（ＴｈｒｅｓｈｏｌｄＳｉｚｅ）よりも大きな場合、リニアライズド処理を、３０４に示されるように、ＰＤＦファイルに施してもよい。ＬＳｉｚｅと１ｓｔＰｇＳｉｚｅとの間のサイズ差が所定のＴｈｒｅｓｈｏｌｄＳｉｚｅよりも小さな場合、非リニアライズド処理を、３０５に示されるように、施してもよい。印刷時間の節約を最小限とするため、非リニアライズド処理は、サイズ差が所定閾値よりも小さくなってから施してもよく、下記に開示するリニアライズド処理に施される２段階の処理を行う必要はない。
【００４１】
リニアライズドと特定されたＰＤＦファイルには、図７の３０４に示されるように、リニアライズド処理を行ってもよい。３０４に関する図１０からわかるように、ストリーム・データは、４０１からわかるように、ストリーム・ストレージ・タスク・ジェネレータに送信されてもよい。ストリーム・ストレージ・タスク・ジェネレータは、リニアライズド処理を２段階に分割してもよい。段階１は、第１ページのストリーム・ストレージ及び解釈が含まれてもよい。段階２は、後のページのストレージと解釈が含まれてもよい。図１０からわかるように、段階１及び段階２は並行で処理されてもよい。これによって、すべてのデータが保存されるまで待機する必要がないため、第１ページの印刷速度が著しく向上できる。
【００４２】
一実施形態によると、段階１は、４０２に示されるように、第１ページのストリーム・ストレージを含んでもよい。第１ページのストリーム・データが、４０４に示されるように、処理されている間に、後のページのストリーム・ストレージを、４０３に示されるように、並行で行ってもよい。後のページ・データは、４０５に示されるように、その後、解釈されてもよい。
【００４３】
一実施形態によると、段階１の第１ページ・ストリーム・データは、システム・メモリ装置がハード・ドライブであっても、高速でＲＡＭメモリに保存されてもよい。これは、ＲＡＭにアクセスする方が、ハード・ドライブにアクセスするよりも速いかもしれないからである。しかしながら、段階１の第１ページ・ストリーム・データのサイズが使用可能なＲＡＭのサイズよりも大きな場合は、第１ページ・ストリーム・データはハード・ドライブ又は他のメモリ・ストレージ装置に保存されてもよい。ＲＡＭメモリ・バッファは、リニアライズド第１ページ・インタープリタによって直接使用されてもよく、ハード・ドライブの使用により必要とされる一時的メモリ・バッファを減らしてもよい。
【００４４】
４０４では、リニアライズド段階１インタープリタが、ＸＲＥＦテーブル等の解釈情報及びページ情報をリニアライゼーション・パラメータ・ディクショナリから直接利用してもよい。これは、５０２に示される非リニアライズド・インタープリタと比べて解釈速度が速くなってもよい。
【００４５】
ストリーム・データの保存中及び解釈中にエラーが生じた場合、エラー・ページは印刷され、メモリなし、フォントの欠陥等のエラー情報をもって個人１２に通知してもよい。しかしながら、リニアライゼーション処理に起因する誤ったエラーを生成してしまう特別な事態の場合もある。これは、リニアライゼーション・パラメータ・ディクショナリによって指定されたサイズが、実際のファイル・サイズに合致しない事態である。本願のプリンタ・ファームウェアは、３０６に示されるように、上記のエラー事態に対し、誤ったエラー・ページを印刷することなく、インタープリタ・エラー・ハンドラを提供してもよい。
【００４６】
図１１からわかるように、インタープリタ・エラー・ハンドラの操作が示される。インタープリタ・エラー・ハンドラは、６０１に見られるような、インタープリタ・エラーがあるか否かを判定する。インタープリタ・エラーがない場合、６０９に示されるように、エラー・メッセージは戻ってこない。インタープリタ・エラー・ハンドラがエラーを認識した場合、インタープリタ・エラー・ハンドラは、６０２に示されるように、リニアライズド段階１にエラーがあるか否かを判定する。リニアライズド段階１にエラーがない場合、６０８に示されるように、エラー・メッセージが戻ってくる。リニアライズド段階１エラーである場合、インタープリタ・エラー・ハンドラは、６０４に示されるように、ファイル・サイズ設定を判定する。ファイル・サイズがすでにわかっている場合、インタープリタ・エラー・ハンドラは、６０５に示されるように、ファイル・サイズがリニアライゼーション・パラメータ・ディクショナリの指定サイズであるＬＳｉｚｅと合致するか照合する。合致する場合、エラーは真のエラーで、６０８に示されるように、エラーが戻ってくる。そうでない場合は、誤ったリニアライズド・エラーである。この場合、エラー・ページの印刷は、６０６に示されるように、中止されてもよく、６０７に示されるように、誤ったリニアライズド・エラーの返信が報告されてもよい。ファイル・サイズが不明な場合、プリンタ・ファームウェアは、６０３に示されるように、ファイル・サイズを知るために、段階２でストリーム・データの保存が行われるまで待機してもよい。ＦｉｌｅＳｉｚｅがＬＳｉｚｅに合致する場合、６０８に示されるように、真のＰＤＦ解釈エラーが戻ってきてもよい。
【００４７】
図１２Ａを参照すると、現行では、エラーが検出された場合、７００に示されるように、ストリーム・データ・ストレージの完了後にエラー・ページが印刷されてもよい。しかしながら、図１２Ｂの８００に示されるように、ＰＤＦインタープリタ・タスク及びＰＤＦストリーム・ストレージ・タスクが異なるタスク・スレッドを使用するようにプリンタ・ファームウェアは構成されてもよい。ストリーム・ストレージ・データが完了する前にエラーが記録された場合、２つの分離したタスク・スレッドを使用してエラー・ページ印刷を対処し、同時に残りのストリーム・データを消費してもよい。このように、ストリーム・ストレージ及びエラー・ページ印刷は、並行して処理されてもよい。これは、ストリーム・データ・ストレージが完了した後のみエラー・ページが印刷できる先行技術とは反対に、よりタイムリーに行うことができるため、エラー・ジョブ印刷性能を向上できる。
【００４８】
上述の説明は、本発明の特定の実施形態の例示であり、その実践に対して制限する意図はない。以下の請求項は、そのすべての同意義のものを含め、本発明の適用範囲を明らかにする意図のものである。
【符号の説明】
【００４９】
１０  システム
１４  画像形成装置
１６  印刷サーバ
２２  ネットワーク
２０  リニアライズドＰＤＦコンバータ（線形変換モジュール）
１２  個人
１８Ａ  デスクトップ／ラップトップ・コンピューティング・システム  （パーソナル・コンピューティング・システム）
１８Ｂ  タブレット装置
１８Ｃ  携帯電話装置
【図１】
0006839389.tif 000002
【図２】
0006839389.tif 000003
【図３】
0006839389.tif 000004
【図４】
0006839389.tif 000005
【図５】
0006839389.tif 000006
【図６】
0006839389.tif 000007
【図７】
0006839389.tif 000008
【図８】
0006839389.tif 000009
【図９】
0006839389.tif 000010
【図１０】
0006839389.tif 000011
【図１１】
0006839389.tif 000012
【図１２Ａ】
0006839389.tif 000013
【図１２Ｂ】
0006839389.tif 000014