(57)【要約】      （修正有）【課題】文書データおよび描画命令を含むデータファイルを難読化する場合に、それぞれの描画要素を置換する場合と比較して、発生した障害の再現性の低下を少なくする。【解決手段】印刷制御装置は、文書データおよび複数の描画命令を含むデータファイルから前記描画命令に含まれる描画要素を順次抽出するＰＤＬ（ページ記述言語）解析部４０６と、ＰＤＬ解析部４０６によって抽出された描画要素それぞれに含まれる各描画位置情報に対して、個別の移動量を付加して描画要素をそれぞれ当初と異なる描画位置情報を有する描画要素に変換する要素再編部４０８と、を備える。【選択図】図４
2017062557.tif 000002
【特許請求の範囲】
【請求項１】
文書データおよび描画命令を含むデータファイルから複数の描画要素を抽出する抽出手段と、
前記抽出手段によって抽出された複数の描画要素の相対的な描画位置が移動前と異なる描画位置となるように移動する移動手段と、
を備える画像処理装置。
【請求項２】
前記データファイルが含んでいるラスタ形式の画像を抽出し、該抽出したラスタ形式の画像を異なる画像に置換する、
請求項１記載の画像処理装置。
【請求項３】
置換後の前記画像は、置換前の前記ラスタ形式の画像と縦横の画素数、色空間、各色成分当たりの階調数、および圧縮形式を含む属性の少なくとも一部を同一とする、
請求項２記載の画像処理装置。
【請求項４】
前記データファイルが含んでいる複数の文字データを抽出し、前記複数の文字データの移動量が異なる、
請求項１記載の画像処理装置。
【請求項５】
前記移動手段は、前記文字データを移動する際に、前記文字データに含まれるフォント情報を維持する、
請求項４記載の画像処理装置。
【請求項６】
前記データファイルが含んでいるベクタ形式の画像から複数の線素を抽出し、前記複数の線素の移動量が異なる、
請求項１記載の画像形成装置。
【請求項７】
前記移動手段は、予め定めた条件を満たす描画要素を移動する、請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記予め定めた条件は、ユーザによって指定された特定の領域内に位置する描画要素である、請求項７記載の画像処理装置。
【請求項９】
前記予め定めた条件は、ユーザによって指定された特定の領域外に位置する描画要素である、請求項７記載の画像処理装置。
【請求項１０】
前記予め定めた条件は、名前、電話番号、顔写真の個人情報の属性を付与された描画要素である、請求項７記載の画像処理装置
【請求項１１】
前記移動手段は、予め定めた条件を満たす描画要素を描画させる描画命令として出力し、予め定めた条件を満たさない描画要素を描画命令として出力しないまたは移動せずに描画する、請求項７から９のいずれか１項に記載の画像処理装置。
【請求項１２】
描画命令として出力しない描画要素を含む場合に、前記描画命令によって生成されるサンプル文書ファイルに空白ページが生じる場合には、当該空白ページを削除する、請求項１１記載の画像処理装置。
【請求項１３】
前記描画要素が描画可能範囲外にかかっている場合には、当該描画要素の描画可能範囲外にかかっている部位がそのまま描画可能範囲外にかかるように前記描画要素を移動する、請求項１記載の画像処理装置。
【請求項１４】
文書データおよび描画命令を含むデータファイルから複数の描画要素を抽出する抽出手段と、
前記抽出手段によって抽出された複数の描画要素の相対的な描画位置が移動前と異なる描画位置となるように移動する移動手段と、
前記データファイルに基づいて画像を形成する出力手段と、
を備える画像形成装置。
【請求項１５】
文書データおよび描画命令を含むデータファイルから複数の描画要素を抽出する抽出処理と、
前記抽出処理によって抽出された描画要素の相対的な描画位置が移動前と異なる描画位置となるように移動する移動処理と、
をコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、および画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、障害発生時における障害の再現と機密情報の漏洩防止を目的として、印刷データに含まれる画像データ、文字コード、およびグラフィックをそれぞれ当初とは異なる画像データ、文字コード、およびグラフィックに置換する画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３３４５３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
文書データおよび描画命令を含むデータファイルの描画画像生成、印刷処理等の画像処理を行う際、命令解釈エラー、図形印字不良、文字の不正印字等の印刷トラブルが生じることがある。その場合、原因がプリンタドライバ、つまり図形データをベクタデータ形式の描画命令列に変換して画像ファイルを書き出す命令生成系にあるのか、それとも描画命令列を解釈して描画画像を作成する、いわゆるＲＩＰ（Raster Image Processing）処理系にあるのか、或いは両者間の通信経路にあるのか等の原因を特定する必要がある。
【０００５】
画像処理で印刷トラブルが生じたのと同一のデータを画像処理装置や印刷システム等の解析環境に投入することで障害や問題を再現して解析することができるが、サービスマンによる解析や外部の解析環境での解析等、第三者が解析に介在すると、ユーザはデータファイルに含まれる個人情報や営業秘密等の機密情報が漏洩する可能性を懸念する。
【０００６】
本発明は、文書データおよび描画命令を含むデータファイルを難読化する場合に、それぞれの描画要素を置換する場合と比較して、発生した障害の再現性の低下が少ない画像処理装置、画像形成装置、および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の画像処理装置の発明は、文書データおよび描画命令を含むデータファイルから複数の描画要素を抽出する抽出手段と、前記抽出手段によって抽出された複数の描画要素の相対的な描画位置が移動前と異なる描画位置となるように移動する移動手段と、を備えることを特徴とする。
【０００８】
また、請求項２に記載の発明は、請求項１に記載の画像処理装置において、前記データファイルが含んでいるラスタ形式の画像を抽出し、該抽出したラスタ形式の画像を異なる画像に置換することを特徴とする。
【０００９】
また、請求項３に記載の発明は、請求項２に記載の画像処理装置において、置換後の前記画像は、置換前の前記ラスタ形式の画像と縦横の画素数、色空間、各色成分当たりの階調数、および圧縮形式を含む属性の少なくとも一部を同一とすることを特徴とする。
【００１０】
また、請求項４に記載の発明は、請求項１に記載の画像処理装置において、前記データファイルが含んでいる複数の文字データを抽出し、前記複数の文字データの移動量が異なることを特徴とする。
【００１１】
また、請求項５に記載の発明は、請求項４に記載の画像処理装置において、前記移動手段は、前記文字データを移動する際に、前記文字データに含まれるフォント情報を維持することを特徴とする。
【００１２】
また、請求項６に記載の発明は、請求項１に記載の画像処理装置において、前記データファイルが含んでいるベクタ形式の画像から複数の線素を抽出し、前記複数の線素の移動量が異なることを特徴とする。
【００１３】
また、請求項７に記載の発明は、請求項１から６のいずれか１項に記載の画像処理装置において、前記移動手段は、予め定めた条件を満たす描画要素を移動することを特徴とする。
【００１４】
また、請求項８に記載の発明は、請求項６に記載の画像処理装置において、前記予め定めた条件は、ユーザによって指定された特定の領域内に位置する描画要素であることを特徴とする。
【００１５】
また、請求項９に記載の発明は、請求項６に記載の画像処理装置において、前記予め定めた条件は、ユーザによって指定された特定の領域外に位置する描画要素であることを特徴とする。
【００１６】
また、請求項１０に記載の発明は、請求項６に記載の画像処理装置において、名前、電話番号、顔写真の個人情報の属性を付与された描画要素であることを特徴とする。
【００１７】
また、請求項１１に記載の発明は、請求項７から９のいずれか１項に記載の画像処理装置において、前記移動手段は、予め定めた条件を満たす描画要素を描画させる描画命令として出力し、予め定めた条件を満たさない描画要素を描画命令として出力しないまたは移動せずに描画することを特徴とする。
【００１８】
また、請求項１２に記載の発明は、請求項１１に記載の画像処理装置において、描画命令として出力しない描画要素を含む場合に、前記描画命令によって生成されるサンプル文書ファイルに空白ページが生じる場合には、当該空白ページを削除することを特徴とする。
【００１９】
また、請求項１３に記載の発明は、請求項１１のいずれかに記載の画像処理装置において、前記描画要素が描画可能範囲外にかかっている場合には、当該描画要素の描画可能範囲外にかかっている部位がそのまま描画可能範囲外にかかるように前記描画要素を移動することを特徴とする。
【００２０】
請求項１４に記載の画像形成装置の発明は、文書データおよび描画命令を含むデータファイルから複数の描画要素を抽出する抽出手段と、
前記抽出手段によって抽出された複数の描画要素の相対的な描画位置が移動前と異なる描画位置となるように移動する移動手段と、
前記データファイルに基づいて画像を形成する出力手段と、
を備えることを特徴とする。
【００２１】
請求項１５に記載の画像処理プログラムの発明は、文書データおよび描画命令を含むデータファイルから複数の描画要素を抽出する抽出処理と、
前記抽出処理によって抽出された描画要素の相対的な描画位置が移動前と異なる描画位置となるように移動する移動処理と、
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２２】
請求項１に記載の画像処理装置の発明によれば、文書データおよび描画命令を含むデータファイルを難読化する場合に、それぞれの描画要素を置換する場合と比較して、発生した障害の再現性の低下が少ない画像処理装置を提供できる。
【００２３】
請求項２に記載の画像処理装置の発明によれば、請求項１に係る本発明により得られる効果に加えて、ラスタ形式の画像を含むデータファイルを、画像を置換しない場合と比較して難読化することができる。
【００２４】
請求項３に記載の画像処理装置の発明によれば、請求項２に係る本発明により得られる効果に加えて、ラスタ形式の画像を属性の異なる画像と置き換える場合と比較して、ラスタ形式の画像を含むデータファイルにおける障害の再現性の低下が少なくなる。
【００２５】
請求項４に記載の画像処理装置の発明によれば、請求項１に係る本発明により得られる効果に加えて、複数の文字データを含むデータファイルを、文字データを移動しない場合と比較して難読化することができる。
【００２６】
請求項５に記載の画像処理装置の発明によれば、請求項４に係る本発明により得られる効果に加えて、文字データのフォントの種類に起因して生じる問題や障害の再現性を維持することができる。
【００２７】
請求項６に記載の画像処理装置の発明によれば、請求項１に係る本発明により得られる効果に加えて、ベクタ形式の画像を含むデータファイルを、各線素を移動しない場合に比べて難読化することができる。
【００２８】
請求項７に記載の画像処理装置の発明によれば、請求項１から６のいずれか１項に係る本発明により得られる効果に加えて、移動処理を行う描画要素を選択的に指定することができる。
【００２９】
請求項８に記載の画像処理装置の発明によれば、請求項７に係る本発明により得られる効果に加えて、ページ内の特定の領域について描画要素の移動を行うことができる。
【００３０】
請求項９に記載の画像処理装置の発明によれば、請求項７に係る本発明により得られる効果に加えて、ページ内の特定の領域内の描画要素のみ移動処理を行わないようすることができる。
【００３１】
請求項１０に記載の画像処理装置の発明によれば、請求項７に係る本発明により得られる効果に加えて、名前、電話番号、顔写真等の個人情報を含む描画要素を、移動させない場合に比して難読化することができる。
【００３２】
請求項１１に記載の画像処理装置の発明によれば、請求項７から９のいずれか１項に係る本発明により得られる効果に加えて、データファイルに含まれる特定の情報のみを移動させ、その他の情報はそのまま残すか消去させることができる。
【００３３】
請求項１２に記載の画像処理装置の発明によれば、請求項１１に係る本発明により得られる効果に加えて、描画要素の移動によって空白ページが生じる場合にはその空白ページを削除することができる。
【００３４】
請求項１３に記載の画像処理装置の発明によれば、請求項４に係る本発明により得られる効果に加えて、描画範囲外にかかっている描画要素を含むデータファイルにおける問題や障害の再現性を維持することができる。
【００３５】
請求項１４に記載の画像形成装置の発明によれば、文書データおよび描画命令を含むデータファイルを難読化する場合に、それぞれの描画要素を置換する場合と比較して、発生した障害の再現性の低下が少ない画像形成装置を提供できる。
【００３６】
請求項１５に記載の画像処理プログラムの発明によれば、文書データおよび描画命令を含むデータファイルを難読化する場合に、それぞれの描画要素を置換する場合と比較して、発生した障害の再現性の低下が少ない画像処理プログラムを提供することができる。
【図面の簡単な説明】
【００３７】
【図１】図１は、本発明の画像処理装置による印刷文書データの加工処理を説明する図であって、図１（ａ）は、印刷文書データの加工前の文書１Ａを例示し、図１（ｂ）は、印刷文書データの加工後の文書１Ｂを例示する。
【図２】図２は、画像処理システムを示す全体概略図である。
【図３】図３は、印刷制御装置のハードウェア構成図である。
【図４】図４は、印刷制御装置の機能ブロック図である。
【図５】図５は、ＰＤＬ解析部におけるＰＤＬ解析処理を示すフローチャートである。
【図６】図６は、ＰＤＬ解析部が取得した個々の描画要素を順に格納する要素配列部の、描画要素が明示されていない場合の一例を示している。
【図７】図７は、ＰＤＬ解析部による処理によって種類の異なる複数の描画要素が要素配列部の格納領域に格納されている状態を示している。
【図８】図８は、要素再編部における描画要素毎の撹拌移動処理の流れを示すフローチャートである。
【図９】図９は、要素再編部による直線要素の攪拌移動処理のフローチャートである。
【図１０】図１０は、攪拌移動量の算出方法を示す説明図である。
【図１１】図１１は、それぞれの描画要素が用紙のページ内で移動可能な攪拌移動量の算出方法を説明するフローチャートである。
【図１２】図１２は、要素再編部による曲線要素の攪拌移動処理のフローチャートである。
【図１３】図１３は、要素再編部による文字要素の攪拌移動処理のフローチャートである。
【図１４】図１４は、要素再編部による領域塗り要素の攪拌移動処理のフローチャートである。
【図１５】図１５は、要素再編部による画像要素の攪拌移動処理のフローチャートである。
【発明を実施するための形態】
【００３８】
まず、本発明の理解を容易にするために、本発明の概要を、図１を参照して説明する。図１は、本発明の画像処理装置による印刷文書データの加工処理を説明する図であって、図１（ａ）は、印刷文書データの加工前の文書１Ａを例示し、図１（ｂ）は、印刷文書データの加工後の文書、つまり描画要素の撹拌移動処理後のサンプル文書ファイルを印刷した場合の文書１Ｂを例示する。
【００３９】
図１（ａ）、図１（ｂ）に例示されるように、印刷文書データは、様々な種類の描画要素によって構成されている。つまり図１（ａ）の加工前の文書１Ａには、文字（文字列）データ２Ａ、ラスタ形式の画像データ３Ａ、ベクタ形式で描画される図形オブジェクトデータ４Ａの３種類の要素が含まれている。これらの文字（文字列）データ２Ａ、画像データ３Ａ、図形オブジェクトデータ４Ａには、個人情報や営業秘密情報が含まれることがある。したがって、印刷処理の障害解析を目的としてこれらの情報を含む印刷文書データが外部に持ち出されるなら、機密情報も漏洩してしまう恐れがある。そこで、本発明の画像処理装置は、印刷文書データに含まれる文字列データ２Ａ、画像データ３Ａ、図形オブジェクトデータ４Ａを、図１（ｂ）に示すように判読不可能な状態に加工し、印刷文書データに含まれる機密情報が外部に漏洩することを防止する。
【００４０】
具体的には、本実施形態の印刷制御装置は、印刷文書データの元画像１Ａに含まれる文字列データ２Ａを、元々の文字の情報を維持したまま攪拌移動、つまり不規則に並べ替える（２Ｂ）。元々の文字の情報には、例えば、文字フォント、文字の大きさ、文字コード等が含まれる。また、印刷文書データの元画像１Ａに含まれるラスタ形式の画像データ３Ａは、当該画像とは異なる画像データであるものの、画像データ３Ａと同一又は類似した属性を有するテスト画像３Ｂと置換したうえで当初とは異なる位置に移動する。さらに、印刷文書データの元画像１Ａに含まれるベクタ形式で描画される図形オブジェクトデータ４Ａを構成するそれぞれの線素の描画位置を線素毎に不規則に攪拌移動した図形オブジェクトデータ４Ｂを生成する。結果として、それぞれの描画要素の描画位置が相対的に変化する。
【００４１】
次に、本実施形態に係る印刷制御装置について、図２を参照して説明する。図２は、画像処理システム２０を示す全体概略図である。画像処理システム２０は、端末装置２２、本発明の画像処理装置としての印刷制御装置２４、本発明の出力手段としての印刷装置２６、およびネットワーク２８を含んで構成される。端末装置２２は、ＬＡＮ、ＷＡＮ等のネットワーク２８を介して、印刷制御装置２４と接続されている。また、印刷制御装置２４は印刷装置２６と接続される。なお、印刷制御装置２４は端末装置２２に直接接続されてもよい。さらに、印刷制御装置２４は、印刷装置２６に内蔵されるものとしてもよいし、端末装置２２に含まれるものとして構成してもよい。なお、以下の説明では、印刷制御装置２４は端末装置２２、印刷装置２６とは別体で構成されるものとして説明する。
【００４２】
端末装置２２は、コンピュータであって、このコンピュータ上で動作するアプリケーションプログラムによって、例えば、図１（ａ）において説明したような、文字列データ、ラスタ形式の画像データ、およびベクタ形式の図形オブジェクトデータを含む印刷文書を作成する。ユーザが印刷制御装置２４等の出力装置を指定して印刷指示を実行すると、アプリケーションプログラム又はプリンタドライバが、ページ記述言語（以下、ＰＤＬという）形式の印刷文書データで構成される印刷ジョブを作成し、ネットワーク２８を介して印刷制御装置２４に出力する。なお、ＰＤＬ形式の印刷文書データは、例えば、ポストスクリプト（登録商標）ファイルである。
【００４３】
印刷制御装置２４では、印刷ジョブを受信すると、そこに含まれるＰＤＬ形式の印刷文書データを解釈し、ラスタイメージ形式の画像データに変換し、印刷装置２６に出力する。印刷装置２６は、印刷制御装置２４から受信した画像データを実際の画像として紙面等の記録媒体上に形成、つまり印字する。
【００４４】
印刷制御装置２４の内部構成を、図３、図４を参照して説明する。なお、図３は、印刷制御装置２４のハードウェア構成図であり、図４は、印刷制御装置２４の機能ブロック図である。
【００４５】
印刷制御装置２４は、図３に示されるように、ＣＰＵ２４１、メモリ２４２、記憶装置２４３、通信インタフェース（ＩＦ）２４４、ユーザインタフェース（ＵＩ）装置２４５、エンジンインタフェース（ＩＦ）２４６を備え、各部がシステムバス２４７により接続される。印刷制御装置２４の各部の動作は、記憶装置２４３に不揮発に記憶されたプログラムをＣＰＵ２４１において実行することにより、図４において説明する各部の処理として実現される。
【００４６】
通信インタフェース２４４は、この印刷制御装置２４とネットワーク２８との間のデータの送受信を制御する。ユーザインタフェース装置２４５は、液晶パネル等の表示装置とその表面に配置されたタッチパネル等の入力装置から構成され、ユーザが表示装置に表示された情報を視認しながら入力装置を使用して操作指示を入力するものである。また、エンジンインタフェース２４６は、この印刷制御装置２４と印刷装置２６との間のデータの送受信を制御する。
【００４７】
印刷制御装置２４は、図４に示されるように、ジョブ受入部４０１、ジョブ保持部４０２、ジョブ管理部４０３、ラスタイメージ作成部４０４、エラー判定部４０５、ＰＤＬ解析部４０６、要素配列部４０７、要素再編部４０８、入力操作部４０９、表示部４１０、出力部４１１の各部の動作を行うよう構成される。
【００４８】
ジョブ受入部４０１は、端末装置２２からネットワーク２８を介してＰＤＬ形式のデータファイルを含む印刷ジョブを受信し、ジョブ保持部４０２に保存する。ジョブ保持部４０２には、ジョブ受入部４０１によって保存されたデータファイルが保存されている。
【００４９】
ジョブ管理部４０３は、印刷ジョブ名に対してユーザ名、データファイル名、印刷ジョブ受信時刻、およびジョブの状態を対応付けて記憶するともに、データファイルを印刷ジョブ保持部４０２から取り出してラスタイメージ作成部（ＲＩＰ）４０４に出力する。また、エラー判定部４０５から特定の印刷ジョブに関してエラー発生の報告を受信した場合に、該当する印刷ジョブの処理の停止指示をラスタイメージ作成部４０４に出力したり、該当する印刷ジョブのデータファイルをジョブ保持部４０２から取り出してＰＤＬ解析部４０６に出力したりする。
【００５０】
ラスタイメージ作成部４０４は、データファイルに含まれるＰＤＬ形式の文書データを解釈してピクセル単位のラスタイメージを生成し、メモリ２４２、記憶装置２４３に一旦記憶するか、或いはリアルタイムに出力部４１１を介して印刷装置２６へ出力する。エラー判定部４０５は、ラスタイメージ作成部４０４で発生したエラーを検出する。つまり、データファイルが解釈不能であると判断した場合や、データファイルの解釈の所要時間が予め設定された時間を超過している場合に、エラー発生をジョブ管理部４０３に出力するとともに、該当するジョブ名をＰＤＬ解析部４０６に通知する。
【００５１】
ＰＤＬ解析部４０６は、エラーが発生している印刷ジョブのデータファイルをジョブ保持部４０２から取得し、ＰＤＬ形式のデータファイルの内容を解析し、データファイルに含まれる描画命令に基づいて個々の描画要素を順次抽出し、個々の描画要素を要素配列部４０７へ順次送信する。要素配列部４０７は、線形リスト、或いはキュー形式で構成されるデータ格納領域であり、ＰＤＬ解析部４０６によってデータファイルから抽出された個々の描画要素が１つずつ格納領域の末尾に入れられて保持され、要素再編部４０８によって線形リスト或いはキューの先頭から取り出されていくものである。
【００５２】
要素再編部４０８は、要素配列部４０７から描画要素を取り出し、その描画要素に含まれる描画位置情報に対して個別の移動量を付加することによって、当該描画要素の描画位置情報が当初と異なる値となるように描画要素毎に不規則に変更し、この変更後の描画位置情報を含む描画要素を描画するための描画命令を、加工後のサンプル文書ファイルに書き出し、メモリ２４２、記憶部２４３に記憶していく。なお、加工後のサンプル文書ファイルも、当初のデータファイルと同じくＰＤＬ形式のものである。
【００５３】
入力操作部４０９および表示部４１０は、上述のユーザインタフェース装置２４５によって実現されるが、表示部４１０によってジョブ保持部４０２に保持された印刷ジョブに関連する情報を表示し、ユーザがそれら表示された印刷ジョブのうち任意のものを入力操作部４０９によって選択することによって印刷の実行指示を入力したり、或いは、表示部４１０によってエラー判定部４０５から出力されたエラーを表示し、入力操作部４０９によってこのエラーに該当する印刷ジョブのデータファイルを加工する指示を入力したりする。
【００５４】
出力部４１１は、ラスタイメージ作成部４０４によって作成されたラスタイメージデータを印刷装置２６に出力する。さらに、出力部４１１は、要素再編部４０８で作成された加工後のサンプル文書ファイルを、ネットワーク２８を介して端末装置２２等に出力する。或いは、加工後のサンプル文書ファイルを、加工後の印刷ジョブとしてジョブ受入部４０１に再出力してもよい。
【００５５】
次に、図５〜図７を参照して、ＰＤＬ解析部４０６において、エラーが発生している印刷ジョブのデータファイルの内容を解析し、個々の描画要素を抽出して要素配列部４０７へ格納する処理の流れを説明する。なお、また、図５は、ＰＤＬ解析部４０６が取得した個々の描画要素を順に格納する要素配列部４０７の、描画要素が明示されていない場合の一例を示している。図６は、ＰＤＬ解析部４０６におけるＰＤＬ解析処理を示すフローチャートであり、この処理は、エラー判定部４０５がラスタイメージ作成部４０４でエラーが発生したことを検出した場合や、ユーザがユーザインタフェース２４５を操作して要素再編集処理の実行を指示した場合に、ＰＤＬ解析部４０６が対象とする印刷ジョブのデータファイルをジョブ保持部４０２から取得した後に実行するものである。図７は、ＰＤＬ解析部４０６によって種類の異なる複数の描画要素が要素配列部４０７に格納された場合の一例を示している。
【００５６】
まず、ＰＤＬ解析部４０６から送信される描画要素を格納する要素配列部４０７の構成を、図５を参照して説明する。この要素配列部４０７は、図５に示すように、線形リストやキューのような構造をとり、複数の格納領域１〜格納領域ｎを備えている。ＰＤＬ解析部４０６によって送信されてきたそれぞれの描画要素はこれら格納領域に対して末尾から入力されていき、格納領域１〜格納領域ｎに記憶される。格納領域１〜格納領域ｎに記憶されたそれぞれの描画要素を、今ここで描画要素１〜描画要素ｎとする。これら描画要素１〜描画要素ｎは、要素再編部４０８によって要素配列部の先頭から取り出される。先頭の格納領域１に記憶されている描画要素１が要素再編部４０８によって取り出されると、格納領域２に記憶されていた描画要素２が格納領域１に移動し、同様に、格納領域３に記憶されていた描画要素３が格納領域２に移動し、格納領域ｎに記憶されていた描画要素ｎが格納領域（ｎ−１）に移動する。
【００５７】
図６のステップＳ６０１において、ＰＤＬ解析部４０６は、対象印刷ジョブのデータファイルから全ての字句についての処理を終えたか否かを判定する。全ての字句についての処理を終えている場合には処理を終了する。全ての字句についての処理が終了していないと判定された場合は、ステップＳ６０２に進み、対象ジョブのデータファイルから未処理の描画指示字句を順番に取り出す。
【００５８】
ステップＳ６０３において、ＰＤＬ解析部４０６は、取り出した描画指示字句に描画設定命令が含まれているか否かを判定する。ここで、描画設定命令は、例えば、線幅指定命令、線種指定命令を含む。取り出した描画指示字句が描画設定命令を含んでいると判定された場合、ステップＳ６０４の処理に進み、描画設定命令の内容に対応する情報を描画設定要素として要素配列部４０７の末尾に追加し、ステップＳ６０１の処理に戻る。
【００５９】
対象印刷ジョブのデータファイルから取り出した描画指示字句が、ステップＳ６０３において描画設定命令を含んでいないと判定された場合、ステップＳ６０５の処理に進み、取り出した描画指示字句がパスストローク命令を含んでいるか否かを判定する。このパスストローク命令には、ベクタ形式の図形オブジェクトを構成する直線又は曲線等の線素の座標情報、および直線の描画命令や曲線の描画命令が含まれる。取り出した描画指示字句がパスストローク命令を含んでいると判定された場合は、ステップＳ６０６の処理に進み、直線又は曲線を構成する一つ一つの要素の情報、つまり線素に分解するとともにその情報を取り出して、直線要素、或いは曲線要素として１つずつ要素配列部４０７の末尾に追加する。その後、ステップＳ６０１の処理に戻る。
【００６０】
対象印刷ジョブのデータファイルから取り出した描画指示字句が、ステップＳ６０５においてパスストローク命令を含んでいないと判定された場合、ステップＳ６０７の処理に進み、取り出した描画指示字句が文字列描画命令か否かを判定する。文字列描画命令には、文字列の最初の文字の位置座標情報、フォント、文字の大きさ、文字列の情報などが含まれる。ＰＤＬ解析部４０６は、文字のフォント、大きさ、文字コードに基づいて、一文字一文字のバウンディングボックスを算出し、一文字毎に文字要素として要素配列部４０７の末尾に追加する。その後、ステップＳ６０１の処理に戻る。
【００６１】
対象印刷ジョブのデータファイルから取り出した描画指示字句が、ステップＳ６０７において文字列描画命令を含んでいないと判定された場合、ステップＳ６０９の処理に進み、取り出した描画指示字句がラスタ画像描画命令を含んでいるか否かを判定する。取り出した描画指示字句がラスタ画像描画命令を含んでいると判定された場合は、ステップＳ６１０の処理に進み、対応する画像情報を画像要素として要素配列部４０７の末尾に追加する。この画像情報には、画像の原点座標、幅、高さ、一画素当たりのビット数、１画素当たりの色成分数、色空間、ファイル圧縮形式、画像データそのもの、或いは画像データの保存場所やファイル名等が含まれる。ステップＳ６１０の処理の後、ステップＳ６０１の処理に戻る。
【００６２】
対象データファイルから取り出した描画指示字句が、ステップＳ６０９においてラスタ画像描画命令を含んでいないと判定された場合、ステップＳ６１１の処理に進み、取り出した描画指示字句がページ排出命令を含んでいるか否かを判定する。取り出した描画指示字句がページ排出命令を含んでいると判定された場合は、ステップＳ６１２の処理に進み、ページ排出命令の内容に対応するページ排出要素として要素配列部４０７の末尾に追加し、ステップＳ６０１の処理に戻る。
【００６３】
対象データファイルから取り出した描画指示字句が、ステップＳ６１１においてページ排出命令を含んでいないと判定された場合、ステップＳ６１３の処理に進み、取り出した描画指示字句が色指定命令を含んでいるか否かを判定する。取り出した描画指示字句が色指定命令を含んでいると判定された場合は、ステップＳ６１４の処理に進み、対応する色指定要素を作成して要素配列部４０７の末尾に追加する。色指定要素には、色指定命令に含まれる色空間の情報、およびその色空間内における色の値が含まれる。その後、ステップＳ６０１の処理に戻る。
【００６４】
対象データファイルから取り出した描画指示字句が、ステップＳ６１３において色指定命令を含んでいないと判定された場合、ステップＳ６１５の処理に進み、取り出した描画指示字句がページ設定命令を含んでいるか否かを判定する。取り出した描画指示字句がページ設定命令を含んでいると判定された場合は、ステップＳ６１６の処理に進み、ページ設定命令の内容に対応するページ設定要素を作成して要素配列部４０７の末尾に追加する。ページ設定要素には、例えば、用紙サイズ、用紙色、印刷部数等の情報が含まれる。その後、ステップＳ６０１の処理に戻る。
【００６５】
対象データファイルから取り出した描画指示字句が、ステップＳ６１５においてページ設定命令を含んでいないと判定された場合、ステップＳ６１７の処理に進み、取り出した描画指示字句が領域塗り命令を含んでいるか否かを判定する。取り出した描画指示字句が領域塗り命令を含んでいると判定された場合は、ステップＳ６１８の処理に進む。
【００６６】
ステップＳ６１８の処理において、塗り領域の輪郭となるパスを構成する線素、つまり直線や曲線で構成される領域塗り要素型のデータを生成し、ステップＳ６１９の処理に進む。ステップＳ６１９において、塗り領域の輪郭となるパスの要素を含むバウンディングボックスを算出し、塗り要素型データにこのバウンディングボックスの左下座標および右上座標の情報を追加し、ステップＳ６２０の処理に進む。ステップＳ６２０の処理において、塗り領域の輪郭となるパスの情報、バウンディングボックスの情報を含む塗り要素型データを要素配列部４０７の末尾に追加し、ステップＳ６０１の処理に戻る。
【００６７】
対象データファイルから取り出した描画字句命令が、ステップＳ６１７の処理において、領域塗り命令を含んでいないと判定された場合、ステップＳ６２１の処理に進み、未定義、或いは未対応の命令を含んでいるものとしてエラーを出力部４１１に出力し、処理を終了する。或いは、未定義、或いは未対応の命令を含んでいる旨を含むエラーメッセージ要素を要素配列４０７の末尾に追加してもよい。
【００６８】
図７は、ＰＤＬ解析部４０６による上述の処理によって種類の異なる複数の描画要素１〜描画要素１２が要素配列部４０７の格納領域１〜格納領域１２に格納されている状態を示している。このうち、格納領域１には、描画要素１として線幅指定命令の内容である「太さ５ｐｔ」が格納されている。また、格納領域２〜格納領域５には描画要素２〜描画要素５として直線要素２〜直線要素５が格納される。それぞれの直線要素には、直線の始点座標と終点座標が含まれる。格納領域６には描画要素６として曲線要素が格納される。曲線要素６には、曲線の始点座標、終点座標、曲線の始点における接線を指定する制御点座標、曲線の終点における接線を指定する制御点座標が含まれ、これら４つの制御点を指定することでベジェ曲線を描画できるようになっている。
【００６９】
格納領域７には描画要素７として文字要素が格納されている。この文字要素には、文字の描画座標、文字コード、文字サイズ、文字フォントの情報が含まれる。なお、文字要素はＰＤＬ解析部によって一文字単位に分解されたものである。格納領域８には描画要素８としてラスタ形式の画像要素が格納されている。この画像要素には、画像の原点座標、倍率、画像の幅、高さ、１画素当たりのビット数、１画素当たりの色成分数、色空間、ファイル圧縮形式、画像データファイル名或いは、画像データファイルを別の場所、つまり印刷制御装置２４の外部から取得する場合には保存場所等の情報が含まれる。
【００７０】
格納領域９には描画要素９として色指定要素が格納されている。これは以降の描画要素をここで指定された色で実行することを指定するものであり、例えば色空間、および当該色空間における指定色の情報が含まれる。格納領域１０には描画要素１０としてページ排出命令が格納されている。さらに、格納領域１１には描画要素１１としてページ設定要素が格納されている。ページ設定要素には、用紙サイズ、用紙色、部数の情報が含まれている。また、格納領域１２には描画要素１２として領域塗り要素が格納されている。この領域塗り要素には、領域塗り要素全体の位置を示すバウンディングボックスの左下位置座標と右上位置座標、領域の輪郭を構成する複数のパスそれぞれの始点座標と終点座標、制御点等の情報が含まれている。
【００７１】
次に、図８を参照して、要素再編部４０８における描画要素毎の撹拌移動処理について説明する。図８は、要素再編部４０８における描画要素毎の撹拌移動処理の流れを示すフローチャートである。まず、ステップＳ８０１において、要素再編部４０８は、要素配列部４０７の格納領域が空であるか否かを判定する。つまり、要素配列部４０７の先頭の格納領域が空であるなら処理を終了し、要素配列部４０７の先頭の格納領域が空でない場合にはステップＳ８０２の処理に進み、要素配列部４０７の先頭の格納領域１から描画要素を取り出す。このとき要素配列部４０７は、２番目以降の格納領域に格納されていた描画要素をそれぞれ繰り上げて移動し、１番目以降の格納領域に格納する。
【００７２】
ステップＳ８０３において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素が描画設定要素か否かを判定する。ここで、描画設定要素は線幅設定情報や線種設定情報を含む。ステップＳ８０３において描画要素が描画設定要素であると判定された場合、ステップＳ８０４の処理に進み、描画設定要素に対応する描画設定命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。ステップＳ８０３において描画要素が描画設定要素ではないと判定された場合は、ステップＳ８０５の処理に進む。
【００７３】
ステップＳ８０５の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素が直線要素か否かを判定する。直線要素であると判定された場合は、ステップＳ８０６の処理に進み、要素再編部４０８は、当該直線要素の始点座標と終点座標の数値を現在の位置とは異なる値となるように変更し、その処理後の位置座標を含む直線要素の描画命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。なお、この数値の変更処理については後述する。ステップＳ８０５において描画要素が直線要素ではないと判定された場合は、ステップＳ８０７の処理に進む。
【００７４】
ステップＳ８０７の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素が曲線要素か否かを判定する。曲線要素であると判定された場合は、ステップＳ８０８の処理に進み、要素再編部４０８は、当該曲線要素の始点座標と終点座標、および曲線の始点における接線を指定する制御点座標、曲線の終点における接線を指定する制御点座標の数値を、現在の位置とは異なる値となるように変更し、その処理後の位置座標を含む曲線要素の描画命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。ステップＳ８０７において描画要素が曲線要素ではないと判定された場合は、ステップＳ８０９の処理に進む。
【００７５】
ステップＳ８０９の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素がページ排出要素か否かを判定する。ページ排出要素であると判定された場合は、ステップＳ８１０の処理に進み、ページ排出要素の内容に対応するページ排出命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。ステップＳ８０９において描画要素がページ排出要素ではないと判定された場合は、ステップＳ８１１の処理に進む。
【００７６】
ステップＳ８１１の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素が文字要素であるか否かを判定する。文字要素であると判定された場合、ステップＳ８１２の処理に進み、当該文字要素の位置座標を現在の位置とは異なる値となるように一文字毎に変更し、その攪拌移動処理後の位置座標を含む文字描画命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。このとき、要素再編部４０８によって変更されるのは、位置座標の情報のみであり、文字のフォントや大きさに関する情報は変更されず、維持される。ステップＳ８１２において描画要素が文字要素ではないと判定された場合は、ステップＳ８１３の処理に進む。
【００７７】
ステップＳ８１３の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素がラスタ形式の画像要素か否かを判定する。ラスタ形式の画像要素であると判定された場合、ステップＳ８１４の処理に進み、要素再編部４０８は、画像要素に含まれる情報に基づいて置換画像を取得するとともに、画像の位置座標を現在の位置とは異なる値に設定し、処理後の画像描画命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。置換画像は、元画像と同一の或いは類似の属性を持つものである。元画像と同一の或いは類似の属性には、例えば、縦横の画素数、色空間、各色成分当たりの階調数、圧縮形式等があり、これらの１つ、或いはいずれか複数、或いは全てを同じくする置換画像である。この置換画像は、要素再編部４０８が、記憶装置２４３に記憶された画像ファイルから、或いは、ネットワーク２８を介して端末装置２２や他の外部装置等、印刷制御装置２４以外の場所から、縦横の画素数、色空間、各色成分当たりの階調数、圧縮形式等を指定して取得する。或いは、置換画像は、縦横の画素数、色空間、各色成分当たりの階調数、圧縮形式等の属性情報を参照し、同一の属性を有するものを印刷制御装置２４内で自動生成しても良い。ステップＳ８１３において描画要素が画像要素ではないと判定された場合は、ステップＳ８１５の処理に進む。
【００７８】
ステップＳ８１５の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素が色指定要素であるか否かを判定する。色指定要素であると判定された場合、ステップＳ８１６の処理に進み、色指定要素の内容に対応する色指定命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。ステップＳ８１５において描画要素が色指定要素ではないと判定された場合は、ステップＳ８１７の処理に進む。
【００７９】
ステップＳ８１７の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素がページ設定要素であるか否かを判定する。ページ設定要素であると判定された場合、ステップＳ８１８の処理に進み、ページ設定要素の内容に対応するページ設定命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。ステップＳ８１７において描画要素がページ設定要素ではないと判定された場合は、ステップＳ８１９の処理に進む。
【００８０】
ステップＳ８１９の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素が領域塗り要素であるか否かを判定する。領域塗り要素であると判定された場合、ステップＳ８２０の処理に進み、当該領域塗り要素に対して位置の攪拌移動処理、つまり当該領域塗り要素の位置を、現在の位置とは異なる位置になるように値を変更し、その処理後の位置座標を含む塗り領域命令をサンプル文書ファイルに書き出し、ステップＳ８０１の処理に戻る。ステップＳ８１９の処理において描画要素が領域塗り要素ではないと判定された場合は、ステップＳ８２１の処理に進む。
【００８１】
ステップＳ８２１の処理において、要素再編部４０８は、要素配列部４０７の先頭の格納領域から取り出された描画要素が未定義（未対応）のものである場合、或いはエラーメッセージ要素である場合、エラーを表示部４１０に出力し、処理を終了する。或いは、エラーメッセージを印字させるような命令をサンプル文書ファイルに書き出し、それがサンプル文書ファイルの印刷結果に反映されるようにしてもよい。
【００８２】
次に、上記ステップＳ８０６の処理において、要素再編部４０８が直線要素の始点座標と終点座標の数値を現在の位置とは異なる値となるように変更し、その変更後の位置座標を含む直線要素の描画命令をサンプル文書ファイルに書き出す処理を、図９〜図１１を参照して説明する。図９は、要素再編部４０８による直線要素の攪拌移動処理のフローチャートであり、図１０は、攪拌移動量の算出方法を示す説明図であり、図１１は、それぞれの描画要素が用紙のページ内で移動可能な攪拌移動量の算出方法を説明するフローチャートである。
【００８３】
図９のステップＳ９０１の処理において、要素再編部４０８は、要素配列部４０７から取り出された直線要素の始点座標と終点座標に基づいてバウンディングボックス、つまり操作対象となる図形の外枠となる座標を算出する。具体的には、直線要素の始点座標と終点座標からバウンディングボックスの左下座標（ｌｌｘ，ｌｌｙ）と右上座標（ｕｒｘ，ｕｒｙ）を算出する。例えば、図１０において、攪拌移動前の直線要素１０００Ａの始点座標をＣ0、終点座標をＣ1とすると直線要素のバウンディングボックスの左下座標は（ｌｌｘ，ｌｌｙ）、右上座標は（ｕｒｘ，ｕｒｙ）となる。
【００８４】
次いで、ステップＳ９０２の処理において、上記バウンディングボックスの位置座標に基づいて、この直線要素が実際に画像形成される記録媒体、つまり用紙のページ内での移動量を攪拌移動量（ｓｘ，ｓｙ）として算出する。この移動量は描画要素毎に異なっている。なお、この攪拌移動量の算出方法は図１１を参照して後述する。次いで、ステップＳ９０３において、攪拌移動量を直線要素の最初の始点座標と終点座標とに反映させる。例えば、図１０の直線要素の場合、攪拌移動後の直線要素１０００Ｂの始点座標Ｃ0’は（ｌｌｘ＋ｓｘ，ｌｌｙ＋ｓｙ）、終点座標Ｃ1’は（ｕｒｘ＋ｓｘ，ｕｒｙ＋ｓｙ）となる。その後、攪拌移動後の直線要素の始点座標と終点座標間に直線を描画する描画命令をサンプル文書ファイルに書き出し、処理を終了する。
【００８５】
上記ステップＳ９０２における直線要素が移動可能な攪拌移動量（ｓｘ，ｓｙ）の算出方法を、図１０、図１１を参照して説明する。まず、図１１のステップＳ１１０１において、バウンディングボックスの左下座標（ｌｌｘ，ｌｌｙ）および右上座標（ｕｒｘ，ｕｒｙ）を引数として受け取る。次いで、ステップＳ１１０２において、０＜ｎｘ＜ページの幅−（ｕｒｘ−ｌｌｘ）の範囲の乱数ｎｘを生成する。つまり、（ページの幅−バウンディングボックスの幅）より小さな値の乱数を生成する。同様に、ステップ１１０３において、０＜ｎｙ＜ページの高さ−（ｕｒｙ−ｌｌｙ）の範囲の乱数ｎｙを生成する。つまり、（ページの高さ−バウンディングボックスの高さ）より小さな値の乱数を生成する。
【００８６】
次いで、ステップＳ１１０４において、バウンディングボックスの攪拌移動量（ｓｘ，ｓｙ）を算出する。バウンディングボックスの攪拌移動量は、上記ステップＳ１１０２、Ｓ１１０３において算出された乱数の値（ｎｘ，ｎｙ）からバウンディングボックスの左下座標（ｌｌｘ，ｌｌｙ）を減算することにより算出される。次いで、ステップＳ１１０５の処理に進み、バウンディングボックスの攪拌移動量（ｓｘ，ｓｙ）を戻り値として返して処理を終了し、図９のステップＳ９０３においてこの攪拌移動量をそれぞれの描画要素の位置座標に反映できるようにする。
【００８７】
次に、図８のステップＳ８０８の処理において、要素再編部４０８が曲線要素の各位置座標を現在の位置とは異なる値となるように変更し、その変更後の位置座標を含む曲線要素の描画命令をサンプル文書ファイルに書き出す処理を、図１２を参照して説明する。図１２は、要素再編部４０８による曲線要素の攪拌移動処理のフローチャートである。
【００８８】
図１２のステップＳ１２０１の処理において、要素再編部４０８は、要素配列部４０７から取り出された曲線要素の始点座標、終点座標、始点に対する接線を定義する制御点、終点に対する接線を定義する制御点の座標配列を作成する。ステップＳ１２０２において、これら制御点の座標配列に基づいてバウンディングボックスの左下座標（ｌｌｘ，ｌｌｙ）および右上座標（ｕｒｘ，ｕｒｙ）を算出する。次いで、ステップＳ１２０３の処理において、この曲線要素の攪拌移動量（ｓｘ，ｓｙ）を算出する。この攪拌移動量の算出方法は、図１１で説明した直線要素に対する攪拌移動量の算出方法と同じなので、説明を省略する。
【００８９】
続くステップＳ１２０４において、上記算出した攪拌移動量を、曲線要素の始点座標、終点座標、始点と終点それぞれに対する接線を定義する制御点の座標の値に対して反映させる。つまりそれぞれのｘ座標、ｙ座標に攪拌移動量ｓｘ、ｓｙを加算する。ステップＳ１２０５において、攪拌移動後の曲線要素の始点、終点、各制御点の座標の値を反映させた曲線描画命令をサンプル文書ファイルに書き出し、処理を終了する。
【００９０】
次に、図８のステップＳ８１２の処理において、要素再編部４０８が文字要素の各位置座標を現在の位置とは異なる値となるように変更し、その変更後の位置座標を含む文字要素の描画命令をサンプル文書ファイルに書き出す処理を、図１３を参照して説明する。図１３は、要素再編部４０８による文字要素の攪拌移動処理のフローチャートである。
【００９１】
図１３のステップＳ１３０１の処理において、要素再編部４０８は、要素配列部４０７から取り出された文字要素の始点座標、終点座標、フォント、サイズ、および文字コードに基づいてバウンディングボックスの左下座標（ｌｌｘ，ｌｌｙ）および右上座標（ｕｒｘ，ｕｒｙ）を算出する。次いで、ステップＳ１３０２において、この文字要素の攪拌移動量（ｓｘ，ｓｙ）を算出する。この攪拌移動量の算出方法は、図１１で説明した直線要素に対する攪拌移動量の算出方法と同じなので、説明を省略する。ステップＳ１３０３において、上記算出した攪拌移動量を、文字要素の座標の値に対して反映させる。つまり、文字要素の座標に対して攪拌移動量（ｓｘ，ｓｙ）を加算した値を攪拌移動後の座標の値とし、ここに同一のフォント、サイズ、および文字コードの文字を描画する命令をサンプル文書ファイルに書き出し、処理を終了する。
【００９２】
次に、図８のステップＳ８２０の処理において、要素再編部４０８が領域塗り要素の各制御点の位置座標を現在の位置とは異なる値となるように変更し、その変更後の位置座標を含む領域塗り要素の描画命令をサンプル文書に書き出す処理を、図１４を参照して説明する。図１４は、要素再編部４０８による領域塗り要素の攪拌移動処理のフローチャートである。
【００９３】
ステップＳ１４０１において、要素再編部４０８は、要素配列部４０７から取り出された、領域塗り要素型データのバウンディングボックスの位置座標に基づいて、バウンディングボックスの攪拌移動量（ｓｘ，ｓｙ）を算出する。この攪拌移動量の算出方法は、図１１で説明した直線要素に対する攪拌移動量の算出方法と同じなので、説明を省略する。次いでステップＳ１４０２において、要素配列部４０７に格納されている領域塗り要素型データのパスが空であるか否か、つまり領域塗り要素を構成するすべてのパスに対して処理を終えたか否かを判定する。領域塗り要素型データのパスが空ではないと判定された場合、ステップＳ１４０３において、パスの要素を一つずつ取り出し、ステップＳ１４０４において攪拌移動量（ｓｘ，ｓｙ）を、パスを構成する各制御点の位置座標の値に反映し、サンプル文書ファイルに書き出し、ステップＳ１４０２の処理に戻る。
【００９４】
ステップＳ１４０２において、要素配列部４０７に格納されている領域塗り要素型データのパスが空であると判定された場合、ステップＳ１４０５の処理に進み、領域塗りつぶし命令をサンプル文書ファイルに書き出し、処理を終了する。
【００９５】
次に、図８のステップＳ８１４の処理において、要素再編部４０８がラスタ形式の画像要素の各位置座標を現在の位置とは異なる位置となるように変更し、その変更後の位置座標を含む画像要素の描画命令をサンプル文書ファイルに書き出す処理を、図１５を参照して説明する。図１５は、要素再編部４０８による画像要素の攪拌移動処理のフローチャートである。
【００９６】
ステップＳ１５０１において、要素再編部４０８は、要素配列部４０７から取り出された画像要素に含まれる画像の原点座標、幅、高さ、一画素当たりのビット数等の情報に基づいて、バウンディングボックスの左下座標（ｌｌｘ，ｌｌｙ）および右上座標（ｕｒｘ，ｕｒｙ）を算出する。次いで、ステップＳ１５０２において、この画像要素の攪拌移動量（ｓｘ，ｓｙ）を算出する。この攪拌移動量の算出方法は、図１１で説明した直線要素に対する攪拌移動量の算出方法と同じなので、説明を省略する。
【００９７】
ステップＳ１５０３において、この画像要素に対応する置換画像を記憶装置２４３から、或いはネットワーク２８を介して端末装置２２又は他の装置から取得する。このとき取得する置換画像は、元の画像と幅、高さ、一画素当たりのビット数、１画素当たりの色成分数、色空間、圧縮形式のすべて、或いはいずれか一つか複数の要素が一致する画像とする。
【００９８】
ステップＳ１５０４において、画像要素の原点に対して攪拌移動量を反映させる、つまり加算し、この位置に置換画像を描画する命令および画像データをサンプル文書ファイルに書き出し、処理を終了する。
【００９９】
上記に説明した各描画要素の撹拌移動処理は、加工前の文書に含まれる全ての描画要素に対して行われるものであるが、本発明は上記実施形態に限定されず、各描画要素に含まれる描画位置情報を当初と異なる位置情報となるように変更する処理、つまり攪拌移動処理を、予め定めた特定の条件を満たす描画要素のみに対して攪拌移動処理を行うようにしてもよい。例えば、加工前の文書の特定の領域に対して攪拌移動処理を行うか行わないかをユーザが指示できるようにしてもよい。具体的には、ラスタイメージ作成部４０４によってラスタイメージに変換された加工前の文書の画像データを表示部４１０に表示し、ユーザが入力操作部４０９を操作することによって特定の範囲を指定し、この指定された範囲内に存在する描画要素のみに撹拌移動処理が行われるようにしてもよい。
【０１００】
その場合、要素再編部４０８は、一つ一つの描画要素の撹拌移動処理を行う際に、当該描画要素のバウンディングボックスが指定された範囲内に位置するか否かを判定し、当該描画要素のバウンディングボックスが指定された範囲内に位置する場合には、当該描画要素の撹拌移動処理を実行し、当該描画要素のバウンディングボックスが指定された範囲の外に位置する場合には、当該描画要素の撹拌移動処理を実行しない、つまり、描画要素の位置情報を変更せずに、対応する描画命令をサンプル文書ファイルに書き出すようにする。或いは、反対に、ユーザによって指定された特定の範囲外に存在する描画要素に対してのみ攪拌移動処理が行われるようにし、特定の範囲内に存在する描画要素に対しては撹拌移動処理が行われないようにしてもよい。その場合には、要素再編部４０８は、一つ一つの描画要素の撹拌移動処理を行う際に、当該描画要素のバウンディングボックスが指定された範囲内に位置するか否かを判定し、当該描画要素のバウンディングボックスが指定された範囲外に位置する場合には、当該描画要素の撹拌移動処理を実行し、当該描画要素のバウンディングボックスが指定された範囲内に位置する場合には、当該描画要素の撹拌移動処理を実行しないようにする。
【０１０１】
このように、撹拌移動処理を行うか行わないかを、特定の領域を指定することで指示する以外に、撹拌移動処理を行うか行わないかを、入力操作部４０９からユーザが描画要素毎に指定したり、或いは、描画要素の種類毎に指定したりできるようにしてもよい。その場合、要素再編部４０８は、一つ一つの描画要素の撹拌移動処理を行う際に、当該描画要素がユーザによって指定された描画要素であるか否か、或いはユーザによって指定された種類の描画要素であるか否かを判定し、それに基づいて撹拌移動処理を実行、或いは実行しない。
【０１０２】
例えば、ユーザが攪拌移動処理を実行する条件として、名前、電話番号、顔写真等の個人情報の属性を含む描画要素を指定できるようにし、それらの描画要素をユーザが選択した場合、上記個人情報を含む描画要素のみに対して攪拌移動処理を実行するようにしてもよい。具体的には、攪拌処理対象の文書として、特定のフォームとそこに入力された個人情報、例えば、枠、設問、回答、名前等から構成されるアンケート用紙がある。その場合、枠を構成する描画要素については攪拌移動処理を行わずそのまま残し、他の描画要素に対して攪拌移動処理を実行するようにしてもよい。
【０１０３】
また、特定の描画要素のみ撹拌移動処理を行うものと指定した場合、それ以外の描画要素は全て消去し、サンプル文書ファイルには反映させないようにしてもよい。つまり、ユーザによって指定された特定の描画要素、或いは特定種類の描画要素以外の描画要素を、対応する描画命令として出力しない。つまり、それらの描画要素を対応する描画命令に変更することはせず、サンプル文書ファイルに書き出すこともしない。その場合、特定のページの描画要素が全てなくなってしまい、空白ページが生じてしまうこともあるが、そのような場合には、その描画要素を含まなくなった空白ページを削除してもよい。具体的には、要素再編部４０８が、ページ排出要素を要素配列部４０７から取り出した際に、このページに何らかの描画命令が含まれているか否かを判定し、含まれていない場合には、ページ排出命令の代わりにページ初期化命令をサンプル文書ファイルに書き出す。
【０１０４】
なお、撹拌移動処理を行うか行わないかを決める特定の範囲、特定の描画要素、描画要素の種類の指定を、入力操作部４０９から行う方法を上記に説明したが、本発明はこれに限定されず、例えば、ラスタイメージ作成部４０４によってラスタイメージに変換された文書の画像データを、ネットワーク２８を介して端末装置２２に表示し、端末装置２２において、ユーザが特定の範囲、特定の描画要素、描画要素の種類の指定を行うようにしてもよい。
【０１０５】
さらに、描画要素の一部が描画可能範囲外にかかっている場合には、その描画要素の描画可能範囲外にかかっている部位がそのまま描画可能範囲外にかかるように描画位置情報を変更するようにしてもよい。例えば、描画要素のバウンディングボックスの位置情報と用紙の位置情報とを比較することによって、描画要素が描画可能範囲からはみ出しているか否か、どの部位がはみ出しているかを判定することができる。結果として、描画要素の一部が描画可能範囲外にかかっている場合、描画範囲を維持しつつ描画範囲外にかかっている描画要素を移動できる。描画範囲の内外で分離ができない描画要素の場合には、当該描画要素は移動させない。これにより、描画可能範囲外にかかっている描画要素があったとしても、当該描画可能範囲内はその描画内容を維持したまま描画可能範囲外にかかった描画要素のうち移動可能なものを移動できる。
【０１０６】
なお、上記実施形態においては、印刷ジョブとしてポストスクリプト（登録商標）等のＰＤＬ形式のものについて例示したが、本発明はそれに限定されるものではなく、ＰＤＦ（Portable Document Format：登録商標）等の他の形式の文書ファイルにも適用可能である。
【図１】
2017062557.tif 000003
【図２】
2017062557.tif 000004
【図３】
2017062557.tif 000005
【図４】
2017062557.tif 000006
【図５】
2017062557.tif 000007
【図６】
2017062557.tif 000008
【図７】
2017062557.tif 000009
【図８】
2017062557.tif 000010
【図９】
2017062557.tif 000011
【図１０】
2017062557.tif 000012
【図１１】
2017062557.tif 000013
【図１２】
2017062557.tif 000014
【図１３】
2017062557.tif 000015
【図１４】
2017062557.tif 000016
【図１５】
2017062557.tif 000017