(57)【要約】【課題】印刷対象の文書中に印刷する必要のない部分が含まれている場合に、トナーやインク等の消費量及び／又は印刷用紙枚数を削減する。【解決手段】印刷すべき文書データを指定されて印刷実行を指示されたコンピュータ端末が、印刷対象オブジェクトの指定があるか否かを判断し（Ｓ１１）、指定が有る場合指定された種類のオブジェクトを文書データの中から抽出し（Ｓ１２）、抽出した印刷対象オブジェクトの印刷位置を、文書データが示す各印刷対象オブジェクトの配置関係に基づき決定した後（Ｓ１３）、決定した印刷対象オブジェクトの印刷位置に基づいてプリンタに印刷を実行させるための印刷データを生成し（Ｓ１４）、その印刷データをスプーラに出力する（Ｓ１８）ようにした。【選択図】        図５
2012168750.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
印刷すべき文書データを取得する取得手段と、
該取得手段が取得した前記文書データに含まれる複数のオブジェクトのうち印刷に使用する印刷対象オブジェクトを抽出する抽出手段と、
該抽出手段が抽出した印刷対象オブジェクトの印刷位置を、前記文書データが示す各印刷対象オブジェクトの配置関係に基づき決定する印刷位置決定手段と、
該印刷位置決定手段が決定した印刷対象オブジェクトの印刷位置に基づき印刷装置に印刷を実行させるための印刷データを生成する印刷データ生成手段と、
該印刷データ生成手段が生成した印刷データを出力する出力手段として機能させるための印刷制御プログラム。
【請求項２】
請求項１記載の印刷制御プログラムであって、
コンピュータを、印刷に使用するオブジェクトの種類の指定を受け付ける受付手段として機能させるためのプログラムをさらに含み、
前記抽出手段が、前記受付手段が指定を受け付けた種類の印刷対象オブジェクトを、前記取得手段が取得した前記文書データの中から印刷に使用する印刷対象オブジェクトとして抽出することを特徴とする印刷制御プログラム。
【請求項３】
請求項１又は２記載の印刷制御プログラムであって、
前記印刷位置決定手段は、前記文書データのうち前記抽出手段が抽出しなかったオブジェクトが配置される予定だった位置に前記抽出手段が抽出した印刷対象オブジェクトを詰めるように配置して該印刷対象オブジェクトの印刷位置を決定することを特徴とする印刷制御プログラム。
【請求項４】
請求項１乃至３のいずれか一項に記載の印刷制御プログラムであって、
前記印刷位置決定手段は、テキストの印刷対象オブジェクトを配置する場合、該テキストに含まれる予め定められたコードあるいは文字列に基づき該印刷対象オブジェクトの印刷位置を決定することを特徴とする印刷制御プログラム。
【請求項５】
請求項１乃至４のいずれか一項に記載の印刷制御プログラムであって、
コンピュータを、前記印刷データ生成手段が生成した印刷データのプレビューを表示手段に表示させるプレビュー表示手段として機能させるためのプログラムをさらに含むことを特徴とする印刷制御プログラム。
【請求項６】
印刷すべき文書データを取得する取得手段と、
該取得手段が取得した前記文書データに含まれる複数のオブジェクトのうち印刷に使用する印刷対象オブジェクトを抽出する抽出手段と、
該抽出手段が抽出した印刷対象オブジェクトの印刷位置を、前記文書データが示す各印刷対象オブジェクトの配置関係に基づき決定する印刷位置決定手段と、
該印刷位置決定手段が決定した印刷対象オブジェクトの印刷位置に基づき印刷装置に印刷を実行させるための印刷データを生成する印刷データ生成手段と、
該印刷データ生成手段が生成した印刷データを出力する出力手段とを備えた情報処理装置。
【請求項７】
請求項１乃至５のいずれか一項に記載の印刷制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項８】
コンピュータにより実行可能な請求項１乃至５のいずれか一項に記載の印刷制御プログラムと、印刷装置とを備えたことを特徴とする印刷システム。
【請求項９】
請求項１乃至５のいずれか一項に記載の印刷制御プログラムを記憶する記憶手段を備えたことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータを、印刷装置に印刷を実行させるための印刷データを生成する装置として動作させるための印刷制御プログラム、印刷装置に印刷を実行させるための印刷データを生成する機能を備えた情報処理装置、上記のような印刷制御プログラムを格納したコンピュータ読み取り可能な記録媒体、上記のような印刷制御プログラムと印刷装置とを備えた印刷システム、及び上記のような印刷制御プログラムを記憶する印刷装置に関する。
【背景技術】
【０００２】
従来から、プリンタや複合機などの画像形成装置を用いて、ユーザが作成した文書又はＷｅｂブラウザなどの通信ソフトを用いて通信相手となるＷｅｂサーバ等からネットワークを介してダウンロードした文書を印刷することが広く行われている。この文書はテキスト、イメージ、線画（グラフなど）などから構成され、モノクロ印刷だけではなく、ＹＭＣＫ（イエロー，マゼンタ，シアン，ブラック）の全てのトナーを用いてフルカラー印刷されることも多い。
しかし、このトナーはランニングコスト削減や資源節約などの観点から消費量の低減が求められている。
【０００３】
そこで、トナー消費量を低減するためにトナーセーブ機能を用いて印刷をすることが広く行われるようになってきた。
トナーセーブ機能に関する技術として、特許文献１には、文字、写真、線画領域を判別して、その判別した各々の領域に対して最高濃度を下げたり１ドット置きにドットを間引いたりするトナーセーブ処理を施す画像形成装置が開示されている。
また、特許文献２には、テキストとイメージからなるデータについて、これらの各部位を認識し、部位によって異なる手法で画像修正を行うことにより、ユーザの所望する印刷結果を得られるようにした印刷装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ユーザがＰＣ（パーソナルコンピュータ）にインストールされている各種アプリケーションソフト（文書作成ソフト、表計算ソフト、描画ソフトなど）を用いて作成した文書又はＷｅｂブラウザを用いてネットワークを介してダウンロードされた文書について印刷開始をＰＣに指示すると、そのＰＣにインストールされた印刷制御プログラムなどのプリンタドライバは、アプリケーションから受け取った文書データ全体を印刷対象としてプリンタが処理できる形式の印刷データに変換し、プリンタに印刷データを送出する。ユーザによってトナーセーブをする指定とともに文書の印刷開始指示がなされた場合であっても、プリンタドライバは文書データ全体を印刷対象として印刷データに変換する。
【０００５】
すなわち、ユーザが文書について印刷開始をＰＣに指示すると基本的には文書全体を印刷対象とすることになる。特に、ＰＣのＷｅｂブラウザ上に表示されるＷｅｂページについて印刷をする場合は、特段印刷する必要がないバナー広告などの画像があっても、自作の文書と違い予め編集により削除することができないため、無駄な画像を含んだまま印刷することになる。ユーザは印刷開始前に印刷対象文書について印刷したい対象のページをページ単位で指定はできても、そのページに不要な画像等があれば、それを含めて印刷するしかなかった。
【０００６】
この点、従来のトナーセーブ機能や特許文献１及び２に記載の発明を利用しても、文書全体を印刷対象とすることに変わりはなく、たとえ文書中にユーザが不必要に感じる部分があったとしても一緒に印刷してしまう。つまり、文書全体を印刷するためのトナー消費量を減らすことはできたとしても、そもそも文書中にユーザにとって印刷する必要がない部分が含まれている場合は、無駄なトナーを使用することになり、かつ本来不必要な部分まで印刷することで余計な印刷スペースを使用してしまう。そしてこのため、文書中に印刷する必要がない部分が含まれている場合は、その分余計なトナーを使用し、かつ無駄に紙のスペースを使用して印刷枚数が増えてしまうといった問題があった。
【０００７】
この発明は、このような問題を解決し、印刷対象の文書中に印刷する必要のない部分が含まれている場合に、トナーやインク等の消費量及び／又は印刷用紙枚数を削減できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、この発明の印刷制御プログラムは、コンピュータを、印刷すべき文書データを取得する取得手段と、その取得手段が取得した上記文書データに含まれる複数のオブジェクトのうち印刷に使用する印刷対象オブジェクトを抽出する抽出手段と、その抽出手段が抽出した印刷対象オブジェクトの印刷位置を、その文書データが示す各印刷対象オブジェクトの配置関係に基づき決定する印刷位置決定手段と、その印刷位置決定手段が決定した印刷対象オブジェクトの印刷位置に基づき印刷装置に印刷を実行させるための印刷データを生成する印刷データ生成手段と、その印刷データ生成手段が生成した印刷データを出力する出力手段として機能させるためのものである。
【０００９】
このような印刷制御プログラムにおいて、コンピュータを、印刷に使用するオブジェクトの種類の指定を受け付ける受付手段として機能させるためのプログラムをさらに含み、上記抽出手段が、上記受付手段が指定を受け付けた種類の印刷対象オブジェクトを、上記取得手段が取得した上記文書データの中から印刷に使用する印刷対象オブジェクトとして抽出するようにするとよい。
【００１０】
また、このような印刷制御プログラムにおいて、上記印刷位置決定手段は、上記文書データのうち上記抽出手段が抽出しなかったオブジェクトが配置される予定だった位置に上記抽出手段が抽出した印刷対象オブジェクトを詰めるように配置してその印刷対象オブジェクトの印刷位置を決定するようにするとよい。
さらに、上記印刷位置決定手段は、テキストの印刷対象オブジェクトを配置する場合、そのテキストに含まれる予め定められたコードあるいは文字列に基づきその印刷対象オブジェクトの印刷位置を決定するようにするとよい。
また、このような印刷制御プログラムにおいて、コンピュータを、上記印刷データ生成手段が生成した印刷データのプレビューを表示手段に表示させるプレビュー表示手段として機能させるようにするといよい。
【００１１】
この発明の情報処理装置は、印刷すべき文書データを取得する取得手段と、その取得手段が取得した上記文書データに含まれる複数のオブジェクトのうち印刷に使用する印刷対象オブジェクトを抽出する抽出手段と、その抽出手段が抽出した印刷対象オブジェクトの印刷位置を、その文書データが示す各印刷対象オブジェクトの配置関係に基づき決定する印刷位置決定手段と、その印刷位置決定手段が決定した印刷対象オブジェクトの印刷位置に基づき印刷装置に印刷を実行させるための印刷データを生成する印刷データ生成手段と、その印刷データ生成手段が生成した印刷データを出力する出力手段とを備えたものである。
【００１２】
この発明の記録媒体は、上記のいずれかの印刷制御プログラムを格納したコンピュータ読み取り可能な記録媒体である。
また、この発明の印刷システムは、上記印刷制御プログラムと印刷装置とを備えたものである。
また、この発明の印刷装置は、上記のいずれかの印刷制御プログラムを記憶する記憶手段を備えたものである。
【発明の効果】
【００１３】
以上のようなこの発明の印刷制御プログラム及び記録媒体によれば、コンピュータに印刷制御プログラムを読み込ませて実行させることにより、印刷対象の文書中に印刷する必要のない部分が含まれている場合に、トナーやインク等の消費量及び／又は印刷用紙枚数を削減することができる。
また、この発明の情報処理装置及び印刷システムによれば、上記と同様な効果を得ることができる。さらに、この発明の別の印刷装置によれば、受信したプログラムを実行可能な情報処理装置に上記のプログラムを送信することにより、同様の効果を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】コンピュータ端末のハードウェア構成を示すブロック図である。
【図２】図１に示したコンピュータ端末のソフトウェア構成を示すブロック図である。
【図３】図２に示したプリンタドライバの機能ブロックの詳細を示す図である。
【図４】印刷設定画面の例を示す図である。
【図５】ユーザが図４に示した印刷設定画面において印刷設定を行った後に印刷開始指示をした場合に、コンピュータ端末のＣＰＵが実行する処理を示す図である。
【図６】図２及び図３に示したプリンタドライバが実行する印刷位置の調整処理について説明するための図である。
【図７】そのプリンタドライバを用いて文書を印刷した場合の印刷結果の第１例を示す図である。
【図８】同じく印刷結果の第２例を示す図である。
【図９】同じく印刷結果の第３例を示す図である。
【図１０】同じく印刷結果の第４例を示す図である。
【図１１】同じく折返し条件を設定した上で文書を印刷した場合の印刷結果の例を示す図である。
【発明を実施するための形態】
【００１５】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図１は、この発明の情報処理装置の実施形態であり、また、この発明の印刷制御プログラムを実行させるコンピュータの例でもあるコンピュータ端末のハードウェア構成を示すブロック図である。
図１に示すように、このコンピュータ端末１０は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，Ｉ／Ｏポート１４，通信Ｉ／Ｆ１５，ＨＤＤ（ハードディスクドライブ）１６，及び記憶媒体ドライブ１７を備え、これらがシステムバス１９により接続されている。
【００１６】
ＣＰＵ１１は、ＲＯＭ１２あるいはＨＤＤ１６に格納されている種々のプログラムを実行することによりコンピュータ端末１０の全体を管理及び制御する中央処理装置である。
ＲＯＭ１２は、ＣＰＵ１１に実行させるプログラムを格納している不揮発性記憶手段である。
ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを展開し、各種処理を行う際の作業領域として使用する読み書き可能な記憶手段である。
【００１７】
Ｉ／Ｏポート１４は、キーボードやマウス等の外部入力手段やディスプレイなどの表示手段と接続するためのインタフェースである。
通信Ｉ／Ｆ１５は、コンピュータ端末１０が他のコンピュータ端末や印刷装置とネットワーク又はＵＳＢケーブルなどを介して通信を行うためのインタフェースである。
なお、通信Ｉ／Ｆ１５は、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数の通信Ｉ／Ｆ１５を設けることも当然可能である。
ＨＤＤ１６は、ＣＰＵ１１に実行させるプログラムや各種データを記憶する大容量記憶手段である。
【００１８】
記憶媒体ドライブ１７は、記憶媒体１８に対する記録又は再生を行う記録再生手段であり、記憶媒体１８の種類に応じて適切なドライブが用いられる。
記憶媒体１８は、ＣＤ，ＤＶＤなどの光ディスク、ＭＯなどの光磁気ディスク、ＦＤなどのフレキシブルディスク等のコンピュータ読み取り可能な記録媒体である。後述する印刷データの生成及び出力に関する機能を始め、種々の機能を実現するためのプログラムを記録した記録媒体を記憶媒体ドライブ１７にセットすることにより、そのプログラムをコンピュータ端末１０に読み出させ、ＨＤＤ１６にインストールさせたり、ＣＰＵ１１に実行させたりすることができる。
【００１９】
そして、ＣＰＵ１１は、電源投入時には、ＲＯＭ１２内のブートローダ（ブートプログラム）に従い、ＨＤＤ１６内のＯＳ（オペレーティングシステム），アプリケーション及び記録媒体よりインストールした印刷制御プログラムを含む各種プログラムを読み出し、ＲＡＭ１３に展開した後、その各種プログラムに従って動作し（各種プログラムを必要に応じて選択的に実行し）、ＲＯＭ１２，Ｉ／Ｏポート１４，通信Ｉ／Ｆ１５，ＨＤＤ１６を含む装置をＣＰＵ１１が制御することにより、この発明に係わる機能、つまり取得手段、受付手段、抽出手段、印刷位置決定手段、印刷データ生成手段、及び出力手段としての機能を含む各種機能を実現することができる。
【００２０】
次に、コンピュータ端末１０のソフトウェア構成及びプリンタドライバの機能ブロックの詳細について図２及び図３を参照して具体的に説明する。
図２は、図１に示したコンピュータ端末１０のソフトウェア構成例を示すブロック図である。但し、この図２ではＯＳ（オペレーティングシステム）の図示は省略している。
コンピュータ端末１０では、ＯＳ、例えばマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）が動作しており、この実施形態の特徴に関連する動作を行うモジュールとして、アプリケーション２０、プリンタドライバ３０及びスプーラ４０が動作する。
【００２１】
アプリケーション２０は、ここではワープロソフト、表計算ソフト、描画ソフトなどの文書データを編集可能なアプリケーション又は、Ｗｅｂブラウザなどのネットワークを介して外部のＷｅｂサーバ等と通信して文書データを取得可能な公知のアプリケーションであり、ユーザは、このアプリケーション２０を用いて文書の編集又は閲覧をして印刷指示を行うことができる。
【００２２】
プリンタドライバ３０は、印刷装置を制御するためのモジュールであり、印刷装置であるプリンタ５０の機種に合わせて用意される。なお、プリンタ５０としては、電子写真方式、インクジェット方式等、いかなる方式で画像形成を行うものも使用可能である。また、文書データ取得部３１とＵＩ（ユーザインタフェース）部３２を備えている。
このうち文書データ取得部３１は、アプリケーション２０が出力する、印刷すべきテキスト、イメージ、線画（グラフ等）等の内容を示す文書データを取得する機能を有する。
また、ＵＩ部３２は、アプリケーション２０では設定を受け付けることのできない、制御対象のプリンタに固有の設定を受け付けたり、印刷対象文書を構成するテキスト、イメージ、線画などのオブジェクトの種類の中から印刷に使用する印刷対象オブジェクトの選択を受け付けたりするためのＧＵＩ（グラフィカルユーザインタフェース）を提供する機能を有する。なお、このＧＵＩの例については後述する。
スプーラ４０は、ＯＳが提供するモジュールであり、プリンタ５０に送信する印刷データを一時的に蓄積して送信する機能を有する。
【００２３】
図３は、図２に示したプリンタドライバの機能ブロックの詳細を示す図である。
プリンタドライバ３０は、図２に示した文書データ取得部３１及びＵＩ部３２以外に、印刷対象オブジェクト抽出部３３、印刷対象オブジェクト配置部３４、印刷データ生成部３５、プレビュー表示部３６、及び印刷データ出力部３７を備える。
【００２４】
印刷対象オブジェクト抽出部３３は、ＵＩ部３２が、印刷対象文書を構成するテキスト、イメージ、線画などのオブジェクトの種類の中から印刷対象オブジェクトとする種類の指定を受け付けている場合は、その指定に従って印刷対象オブジェクトを文書データ取得部３１が取得した文書データの中から抽出する機能を有する。
印刷対象オブジェクト配置部３４は、印刷対象オブジェクト抽出部３３が抽出した印刷対象オブジェクトを印刷する際の配置を、必要に応じて紙の使用スペースを削減するよう調整した上で定める機能を有する。この配置の定め方については、後に詳述する。
【００２５】
印刷データ生成部３５は、印刷対象オブジェクト配置部３４が定めた印刷対象オブジェクトの配置を基に、その配置に基づき制御対象のプリンタに印刷を実行させるための、そのプリンタが処理できる形式のプリンタ言語で記載された印刷データ（プリント言語形式のプリントデータ）を生成する機能を有する。
プレビュー表示部３６は、印刷データ生成部３５が生成した印刷データに基づき、印刷結果がどのようになるかを示すプレビュー画面を、コンピュータ端末１０に接続されたディスプレイなどの表示手段に表示させる機能を有する。
印刷データ出力部３７は、印刷データ生成部３５が生成した印刷データをスプーラ４０に出力する機能を有する。
【００２６】
以上のソフトウェア構成及びプリンタドライバの機能を有するコンピュータ端末において、特徴的な点は、ユーザがアプリケーション２０を用いて作成した文書又は閲覧中の文書について印刷開始を指示した場合、文書データから印刷に使用するオブジェクトを抽出して、その抽出したオブジェクトを印刷するようにした点である。そこで、以下この点に関連して各ソフトウェアが実行する動作及び印刷実行する際の手順について図４及び図５もあわせて参照しながら説明する。
なお、後述するアプリケーションやプリンタドライバなどの各ソフトウェアに関する処理や制御は、ＣＰＵがそのソフトウェアのプログラムに従って動作することによって行うが、説明の便宜上、各ソフトウェアが処理を実行するものとして説明する。
【００２７】
まず、ユーザがアプリケーション２０によって作成したり取得したりした文書について印刷開始を指示する場合、例えば印刷したい文書を選択した上で、あるいは編集又は表示中の文書が自動的に印刷対象として選択されている状態で、図示しない印刷プロパティ画面を開いて印刷を指示することとなる。ユーザはこの印刷プロパティ画面で、印刷に使用するプリンタや印刷部数など印刷に最低限必要なことを指定した上で、印刷開始ボタンを押下することにより、選択した文書の印刷開始を指示することができる。
そして、ユーザがプリンタ固有の印刷設定を行う場合は、その図示しない印刷プロパティ画面から現在使用対象となっているプリンタの印刷設定画面に移行するか、アプリケーションを介さず、使用するプリンタの設定画面を直接開くことにより行う。この印刷設定画面は、プリンタドライバ３０の備えるＵＩ部３２により提供されるものである。
【００２８】
図４に、この印刷設定画面（ＧＵＩ）の例を示す。
図４に示すように、この印刷設定画面１００には、印刷対象オブジェクト指定部１０１，折返し条件設定部１０２，プレビュー表示設定部１０４，集約印刷設定部１０５，両面印刷設定部１０６，ＯＫボタン１０７，キャンセルボタン１０８を有する。
【００２９】
このうち印刷対象オブジェクト指定部１０１は、文書を構成するテキスト、イメージ、線画のうち、どの種類のオブジェクトを印刷に使用するかの選択を受け付けるための操作部である。ユーザは、チェックボックスにチェックを付けることで、印刷に使用するオブジェクトの種類を指定することができる。図示の状態では、ユーザは文書のうちテキストのみを印刷対象として指定している。逆に、印刷対象オブジェクト指定部１０１においてチェックが付けられていないイメージと線画は、印刷に使用しないオブジェクトの種類として指定されたことになる。
なお、この種類の選択については、ユーザから指定を受け付ける以外に、予めプリンタドライバに印刷に使用するオブジェクトの種類として例えばテキストのみをデフォルトとして設定しておき、ユーザの選択を省けるようにしてもよい。
【００３０】
折返し条件設定部１０２は、テキストを印刷する場合に、テキストの文字列をどのように折り返すかの設定を受け付けるための操作部である。
具体的には、まずラジオボタンにより、テキストの行が用紙の端まで行かないうちでも何らかの条件を満たした場合に折り返す（改行する）ことを行うか否かを選択することができる。そして、改行することを選択した場合は、テキストボックス１０３にユーザが所定の文字、記号等を記入することで、その記入した文字、記号等の直前の位置で改行することを設定できる。この折返し条件を設定した場合の印刷結果の例については後述する。
図示の状態では、折返し条件は設定しない状態となっている。また、印刷対象オブジェクトとしてテキストが指定されていない場合は、折返し条件の設定をグレースケールの網掛けなどにより無効状態としてもよい。
【００３１】
プレビュー表示設定部１０４は、『印刷プレビューを表示する』機能の有効無効を設定するためのチェックボックスを有しており、このチェックボックスにチェックを付けた状態で印刷開始を指示すると、印刷対象オブジェクト指定部１０１や折返し条件設定部１０２をはじめとする各部で行った設定に従って実行される印刷結果を、印刷実行前にプレビュー画面で確認することができる。
【００３２】
集約印刷設定部１０５は、集約印刷するか否かの設定を受け付ける操作部であり、ユーザはプルダウンメニューを開いて「２ページを１ページに集約」「４ページを１ページに集約」などのメニューの中から適切なものを選択して印刷をすることができる。
両面印刷設定部１０６は、印刷対象の文書が２ページ以上からなる場合、印刷用紙の表裏を用いて印刷するか否かの設定を受け付ける操作部であり、ユーザはプルダウンメニューにより両面印刷をするかしないかを選択することができる。
【００３３】
そして、ＯＫボタン１０７が押下されると、プリンタドライバ３０は、以上の各部において受け付けた設定内容を印刷動作に反映させるためのパラメータの設定等を行うと共に、印刷設定画面１００を閉じる。
このようにして、ユーザはプリンタ固有の設定をした後の状態に基づき、図示しない印刷プロパティ画面より印刷開始指示をすることができる。
一方、キャンセルボタン１０８が押下された場合、設定内容を反映させずに単に印刷設定画面１００を閉じる。
【００３４】
次に、図５に、ユーザが図４に示した印刷設定画面１００において印刷設定を行った後に、図示しない印刷プロパティ画面により印刷開始指示をした場合にコンピュータ端末１０のＣＰＵ１１が実行する処理を示す。
【００３５】
この処理において、ＣＰＵ１１はまず、印刷に使用するオブジェクトの指定があるか否かを判断して（Ｓ１１）、指定がある場合は、指定された種類のオブジェクトを、印刷を指示された文書データの中から印刷対象オブジェクトとして抽出する（Ｓ１２）。そして、抽出した印刷対象オブジェクトの印刷位置を、文書データが示す各印刷対象オブジェクトの配置関係に基づき決定し（Ｓ１３）、その決定した印刷対象オブジェクトの印刷位置に基づいてプリンタに印刷を実行させるための印刷データを生成する（Ｓ１４）、処理を順次行う。
【００３６】
ここで、ステップＳ１２での、指定された種類のオブジェクトを文書データの中から抽出する処理は、例えばアプリケーション２０から出力される文書データの描画関数を利用することにより行うことができる。この描画関数は、出力装置（ディスプレイ，プリンタ等）にテキスト、イメージ、線画などを描画する際に用いられるものでＯＳのコンポーネントであるＧＤＩが提供する。描画関数は、テキストを出力するためのＴｅｘｔｏｕｔ関数，ＥｘｔＴｅｘｔｏｕｔ関数、イメージを出力するためのＳｔｒｅｔｃｈＤＩＢｉｔｓ関数、線画を出力するためのＢｉｔＢｌｔ関数、ＬｉｎｅＴｏ関数，Ｒｅｃｔａｎｇｌｅ関数などから構成される。
【００３７】
ここで、例えば印刷に使用するオブジェクトの種類としてテキストが指定されていた場合は文書データのうちテキストを描画するために必要なＴｅｘｔｏｕｔ関数、ＥｘｔＴｅｘｔｏｕｔ関数のみ抽出することで、他のイメージや線画を印刷対象から除外することができる。逆に、印刷に使用しないオブジェクトであるイメージ及び線画を描画するために用いるＳｔｒｅｔｃｈＤＩＢｉｔｓ関数，ＢｉｔＢｌｔ関数，ＬｉｎｅＴｏ関数，Ｒｅｃｔａｎｇｌｅ関数等を取り除くことによっても、印刷対象オブジェクトを、印刷を指示された文書データから抽出することができる。
なお、この実施例では描画関数のうち代表的なオブジェクトを描画するための関数を用いているが、もちろん、必要に応じて他の関数についても同様な処理を行う。
【００３８】
また、ステップＳ１３での、印刷位置の決定については、抽出した印刷対象オブジェクトの印刷位置を示す描画関数中の座標位置にそのまま配置することも考えられるが（この場合は実質的に調整は行わないことになる）、印刷に使用しないオブジェクトを取り除いたことにより生じる印刷用紙の余白（例えば文書データ中でイメージが配置されていた位置は、イメージを印刷しない設定の場合には余白となる）に印刷対象オブジェクトを詰めて配置するように描画関数中の座標位置を決定するような処理も考えられる。この点については後に詳述する。
【００３９】
また、ステップＳ１４の後は、印刷プレビューを表示する指定があるかないか判断し（Ｓ１５）、ない場合はステップＳ１４で生成した印刷データをスプーラに出力して（Ｓ１８）、処理を終了する。
一方、印刷プレビュー表示をする指定がある場合、ディスプレイに印刷プレビューを表示させた後で（Ｓ１６）、印刷データをスプーラに出力して（Ｓ１８）、処理を終了する。
【００４０】
なお、ステップＳ１６の後に、印刷を続行するか否かの選択をポップアップ画面等によりユーザから受け付け、印刷続行が選択された場合に印刷データをスプーラに出力し、中断が選択された場合には印刷を中止するようにしてもよい。
この印刷プレビューを表示することにより、ユーザは、予め印刷前に印刷後の状態を知ることができる。また、印刷続行の有無をユーザに選択させることにより、ユーザが所望する印刷結果を得られない場合は事前に中断することができ、無駄な印刷を回避することができる。
【００４１】
また、最初のステップＳ１１で印刷対象オブジェクトの指定がない場合は、取得したデータを基に印刷データを生成し（Ｓ１７）、ステップＳ１５に進む。ここで行う印刷データの生成は、従来のプリンタドライバと同様なものでよい。また、ステップＳ１５以降の処理は前記の通りなので説明は省略する。
【００４２】
以上の処理において、ＣＰＵ１１はステップＳ１２では抽出手段として機能し、ステップＳ１３では印刷位置決定手段として機能し、ステップＳ１４では印刷データ生成手段として機能し、ステップＳ１６では、プレビュー表示手段として機能し、ステップＳ１８では出力手段として機能する。
【００４３】
そして、このようなコンピュータ端末１０においては、指定された種類のオブジェクトを印刷対象オブジェクトとして抽出し、その抽出した印刷対象オブジェクトの印刷位置を、文書データが示す各印刷対象オブジェクトの配置関係に基づいて決定し、その決定した印刷対象オブジェクトの印刷位置に基づいてプリンタに印刷を実行させるための印刷データを生成するので、文書データから不要なデータを削除して印刷することを簡単に行うことができ、余分なトナーやインク等の消費を低減することができる。特に、テキストとイメージが混在している場合において、画像が不要な場合にこれを除去できると、消費量低減の効果が大きい。また、印刷位置を決定する際に、不要なオブジェクトを除去して空いた空白に、印刷するオブジェクトを詰めて配置すれば、印刷に必要な用紙の枚数も低減することができる。
【００４４】
また、印刷するオブジェクトとしないオブジェクトとをオブジェクトの種類で区別するようにしているため、ユーザは、直感的かつ簡単な設定で、印刷するオブジェクトの選択を行うことができる。また、プリンタドライバ３０も、印刷を指示された印刷データから、実際に印刷に使用するオブジェクトとしないオブジェクトとを、簡単な処理で区別することができ、ドライバの開発工数や、ドライバを実行するさいの処理負荷も低く抑えることができる。
【００４５】
次に、印刷対象オブジェクトの印刷位置調整の手法について、図６乃至図１１を参照しながら具体的に説明する。
まず図６に、印刷位置調整の基本的な考え方を示す。
図６の例では、Ｔｅｘｔｏｕｔ関数として、印刷位置の始点が（Ｘ，Ｙ）＝（１０，１０）、印刷位置の終点が（Ｘ，Ｙ）＝（１１０，１１０）であるＡ４つからなる文字列と、始点が（Ｘ，Ｙ）＝（１０，１２０）、終点が（Ｘ，Ｙ）＝（１１０，２２０）であるＢ４つからなる文字列を、テキストの印刷対象オブジェクトとして文書データから抽出されているとする。なお、原点（０，０）は文書の左上隅であり、Ｘ軸は原点からの横方向の移動量、Ｙ軸は原点からの縦方向の移動量を示しており単位はｄｏｔである。また点線部分は、印刷対象としないオブジェクトから生じる印刷用紙の余白部分を示している。
【００４６】
この例では、文字４つ分を描く領域として少なくとも横方向に１００ｄｏｔ分の領域が必要となるため、Ａ４つからなる文字列の終点（１１０，１１０）から右方向に１００ｄｏｔ分の幅があるか否か、及び他のオブジェクトの有無を確認し、幅が有りかつ他のオブジェクトの配置がない場合は、Ｂ４つからなる文字列の始点を印刷位置調整後の始点（１１０，１０）に調整して配置する。
一方、幅がある場合でも他のオブジェクトが配置されている場合は位置調整を行わない。また、他のオブジェクトがないものの、例えば５０ｄｏｔ分の幅しかない場合はＢ４つからなる文字列のうち２文字分を詰めて残り２文字分は行を改めてもよい。
【００４７】
次に、図７に、印刷位置調整の第１の例を示す。なお、以下の図７乃至図１１の例については、説明の便宜上、印刷対象文書１行当たり１４文字まで入力できるものとし、それ以上の文字は次行に自動で折り返すものとして説明する。
【００４８】
図７の例では、印刷前の文書は、テキスト、イメージ及び線画から構成されており、印刷に使用するオブジェクトの種類としてテキストが指定されているものとする。また、図中の四角で囲まれた矢印は、改行コード（０ｘ０Ａ）を意味し、この記号の印刷は行わない。しかし、改行コードが入っている場合は、その改行コードが入っている直前の文字、記号等の直後に文字列が続かないように、後続の文字列を改行して印刷位置を調整する。
この状態でユーザが印刷開始指示を行うと、上述した図５に示す処理を行ってイメージと線画が除かれた印刷後の文書で出力される。そして、この第１例で特徴的な点は、図５に示すフローチャートのステップＳ１２の処理で抽出した印刷対象オブジェクトであるテキストの印刷位置を、そのテキストを表わす描画関数中の座標位置にそのまま配置するようにした点である。例えば、イメージや線画のあった領域に、何かオブジェクトがあるものとしてテキストのオブジェクトを配置すればよい。
この場合、用紙枚数を削減することはできないが、印刷を指示した文書データのレイアウトが維持されるため、用紙上のテキストが元の文書でどこにあったものかを容易に把握することができる。
【００４９】
次に、図８に、印刷位置調整の第２の例を示す。
この第２の例で特徴的な点は、図５のステップＳ１２の処理で抽出した印刷対象オブジェクトであるテキストの印刷位置を、印刷に使用しないオブジェクトから生じる印刷用紙の余白に詰めて配置するようにした点である。
【００５０】
すなわち、印刷非対象オブジェクトであるイメージ及び線画を除くことにより生じる印刷用紙の空白に、印刷対象オブジェクトであるテキストを図６で説明した印刷位置調整を行って詰めるように配置した点である。
ただし、改行コードによる改行は維持される。また、左上のテキストオブジェクトの末尾には改行コードがないため、右下のテキストオブジェクトと繋がって印刷されている。
このような配置を行うと、用紙枚数を効果的に削減することができる。
【００５１】
次に、図９に、印刷位置調整の第３の例を示す。
この第３の例では、印刷対象オブジェクトとしてテキストとイメージが指定されているものとする。
この場合、プリンタドライバ３０は、描画関数のうち例えば線画を示すＢｉｔＢｌｔ関数以外の関数を印刷対象オブジェクトに係る関数として抽出した後、位置調整を行う。
この場合、上半分のテキストとイメージが並列で記載されている領域については空白はできないため、元の文書データの通りの印刷となる。
【００５２】
しかし、下半分のテキストと線画が並列で記載されている領域については、線画が消去されたことに伴い空白が生じるため、下半分のテキストについては、その空白を埋めるように印刷位置の調整を行う。具体的には、先頭の行を頁の左端に詰めて配置し、以降の行を、図６で説明した印刷位置調整に従って配置する。
この結果、線画のあった部分にテキストを印刷するよう位置調整が行われ、図９のような印刷結果が得られる。
考え方としては、図８の例と同様である。
【００５３】
次に、図１０に、印刷位置調整の第４の例を示す。
この第４の例は、元の文書データが複数ページ（２ページ）分ある場合の例である。なお、印刷に使用するオブジェクトの種類としてテキストが指定されているものとする。
この場合、図５のステップＳ１２の処理でテキストのオブジェクトのみが抽出されることは、第２の例の場合と同様である。
【００５４】
そして、位置調整については、まず１ページ目に生じる余白部分に第２の例の場合と同様に１ページ目のテキストを詰めるように位置調整をした後、次の２ページ目のテキストの位置調整を行う。この場合、まず前のページである１ページ目に余白部分が残っているか否か確認する。そして、１ページ目に余白部分が残っている場合、２ページ目のテキストの始点、終点を１ページ目の余白部分の、既に配置されている１ページ目のテキストの続きの位置に変更した上で詰めて配置するようにする。
【００５５】
ただし、この例では１ページ目の最後のテキストオブジェクトの末尾に改行コードがあるので、２ページ目のテキストは、その次の行の先頭から配置することになる。また、１ページ目に余白部分がなかった場合には、２ページ目の余白部分にテキストの印刷位置を調整して配置する。
このように、印刷対象の文書が２ページに跨る場合であっても、上記のように印刷位置を調整することにより、印刷後の文書を１ページに集約することができる。
【００５６】
次に、印刷設定画面１００の折返し条件設定部１０２で折り返し条件を設定して印刷実行した場合のオブジェクトの位置調整について図１１を参照しながら説明する。
図１１は、折返し条件を設定した上で文書を印刷した場合の印刷結果を示す図である。
印刷対象オブジェクトとしてテキストが指定されている場合において、単純にテキストを繋げて配置してしまうと、用紙の節約にはなるものの、印刷結果が読みづらくなってしまう場合が考えられる。例えば、図１１に示す印刷データにおける左上のテキストのように、「（１）」の前で改行するのが自然であるのに、図１１右上の例のようにこの位置で改行されなくなるような場合である。
【００５７】
しかし、コンピュータ端末１０においては、折返し条件設定部１０２のラジオボタンで折り返しありを選択した上で、テキストボックス１０３に、改行位置を示す文字列として「（１）」を入力した上で、印刷開始の指示がなされると、図５のステップＳ１３の処理において、印刷するテキストオブジェクトに含まれるテキストのうち、「（１）」の文字列の前で行を変えるようなオブジェクトの配置を自動的に行う。
また逆に、テキストボックス１０３に入力した文字の後ろで改行するようにすることも考えられる。
【００５８】
このように、テキストの印刷対象オブジェクトを配置する場合、そのテキストに含まれる予め定められたコードあるいは文字列に基づき該印刷対象オブジェクトの配置位置を定めるようにすると、ユーザにとって読み易い印刷結果を得ることができる。
なお、折返し条件の設定は文字や記号等には限られず正規表現を用いて、いくつかの文字列を１つの形式で表現してもよい。また、文字以外のコードの位置を基準に改行位置を設定できるようにしてもよい。また、改行位置だけでなく、タブやインデント等を用いた文字の配置を設定できるようにしてもよい。
【００５９】
以上で実施形態の説明を終了するが、この発明において、コンピュータ端末の構成、具体的な処理内容、表示する画面の内容が前述した実施形態で説明したものに限られないことはもちろんである。
例えば、印刷対象の選択は、テキスト、イメージ、線画といった単位でなく、もっと細かい単位で選択できるようにしてもよい。また、種類だけでなく、オブジェクトのサイズ等を基準に、印刷対象を選択できるようにすることも考えられる。
また、印刷設定画面１００において、集約印刷、両面印刷を選択した場合であっても、この発明を適用することができる。この場合、さらに印刷用紙枚数を削減することができる。
【００６０】
その他、この発明に係る印刷制御プログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した処理を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【００６１】
特に、このような印刷制御プログラムをプリンタ５０が有するＮＶＲＡＭ等の不揮発性記憶手段に記憶させておき、その印刷制御プログラムのインストールされていないコンピュータ端末１０と通信可能となったことを検出した場合に、プリンタ５０のＣＰＵが自動的に又はユーザの指示に応じて印刷制御プログラムをコンピュータ端末１０に送信し、コンピュータ端末１０にインストールさせることができるようにすることが考えられる。
【００６２】
また、この発明は、プリンタドライバ３０が印刷データを生成し、スプーラ４０から供給される印刷データに従って印刷を実行するプリンタ５０としても実施することができる。この場合において、プリンタドライバ３０の機能を実現するための印刷制御プログラムと、プリンタドライバ３０により制御されるプリンタ５０とにより印刷システムが形成されると捉えてこの発明を実施することもできる。
また、以上説明してきた実施形態及び変形例は、矛盾しない範囲で適宜組み合わせて実施することもできる。
【産業上の利用可能性】
【００６３】
以上説明してきたように、この発明の印刷制御プログラム、情報処理装置、記録媒体、印刷装置及び印刷システムによれば、印刷対象の文書中に印刷する必要のない部分が含まれている場合に、トナーやインク等の消費量及び／又は印刷用紙枚数を削減することができる。
従って、この発明を適用することにより、省資源の可能な印刷システムを提供することができる。
【符号の説明】
【００６４】
１０：コンピュータ端末      １１：ＣＰＵ      １２：ＲＯＭ      １３：ＲＡＭ
１４：Ｉ／Ｏポート      １５：通信Ｉ／Ｆ      １６：ＨＤＤ
１７：記憶媒体ドライブ      １８：記憶媒体      １９：システムバス
２０：アプリケーション      ３０：プリンタドライバ      ３１：文書データ取得部
３２：ＵＩ部      ３３：印刷対象オブジェクト抽出部      
３４：印刷対象オブジェクト配置部      ３５：印刷データ生成部
３６：プレビュー表示部      ３７：印刷データ出力部      ４０：スプーラ
５０：プリンタ      １００：印刷設定画面      １０１：印刷対象オブジェクト指定部１０２：折返し条件設定部      １０３：テキストボックス
１０４：プレビュー表示設定部      １０５：集約印刷設定部
１０６：両面印刷設定部      １０７：ＯＫボタン      １０８：キャンセルボタン
【先行技術文献】
【特許文献】
【００６５】
【特許文献１】特開平１１−１５１８３３号公報
【特許文献２】特開平５−３４４３２８号公報
【図１】
2012168750.tif 000003
【図２】
2012168750.tif 000004
【図３】
2012168750.tif 000005
【図４】
2012168750.tif 000006
【図５】
2012168750.tif 000007
【図６】
2012168750.tif 000008
【図７】
2012168750.tif 000009
【図８】
2012168750.tif 000010
【図９】
2012168750.tif 000011
【図１０】
2012168750.tif 000012
【図１１】
2012168750.tif 000013