説明

画像形成装置、分割された文字列の検出プログラム及び文字列の結合プログラム

【課題】連続する文字列が分割されて異なるページに印刷出力されるのを防止する。
【解決手段】画像形成装置12に設けられる文字列処理部50は、連続する2枚のページの印刷データをHDD42から読み出して、抽出部52で前のページの印刷データと後のページの印刷データから文字列の印字データを抽出する。また、照合部54は、前のページの印刷データから抽出された印字データの印字情報と後のページの印刷データから抽出された印字データの印字情報から、フォント、フォントサイズ、色及び配列方向からなるスタイルと、配列方向と交差する方向に沿った印字位置を照合する。また、照合部では、これらが一致する文字列に対して、配列方向に沿った印字位置から、分割された文字列であるか否かを判定する。結合部56は、分割された文字列であると判定された2つの文字列が前ページに印字されるように結合する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、分割された文字列の検出プログラム及び文字列の結合プログラムに関する。
【背景技術】
【0002】
画像処理装置で作成された印刷データは、ページ単位で印刷出力装置へ出力される。印刷出力装置では、この印刷データを受信すると、ページ単位でラスタデータに変換して印刷装置へ出力し、印刷データに応じた画像等を記録紙などの記録媒体に形成する。
【0003】
ここで、記録紙へ画像や文字を形成する印刷領域は、記録紙のサイズやページレイアウトなどによって定まった領域内に記録される。
【0004】
ここから。写真画像などのイメージファイルに対しては、指定されたサイズの用紙や指定されたサイズの領域に印刷出力するときに、イメージデータの長辺のサイズと短辺のサイズの比及び、出力領域の長辺のサイズと短辺のサイズの比に基づいて、イメージデータの倍率を設定して指定用紙に印刷する提案がなされている(例えば、特許文献1参照。)。
【0005】
また、重複部分を設けて分割された画像データを合成するときに、重複部分から主走査方向又は副走査方向に延びる線分を検出し、検出した線分を挟んだ画像が重なるように接合位置を設定するように画像合成を行う提案や、画像データの端部から所定ライン分のデータを抽出し、抽出したデータの特徴を比較することにより、特徴が一致した画像データの端部同志が向かい合うように画像データを並び替える提案がなされている(例えば、特許文献2、特許文献3参照。)。
【0006】
一方、表作成用のソフトウェアや図形作成用のソフトウェアなどが用いられて作成された印刷データでは、例えば、1枚の表を印刷出力しようとしたときに、入力されている文字列が長いために、文字列が分割されて2ページに跨って印刷出力されてしまうことがある。
【特許文献1】特開平10−193735号公報
【特許文献2】特開平9−120444号公報
【特許文献3】特開平6−164893号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は上記事実に鑑みてなされたものであり、連続する文字列が分割されて異なるページに印刷出力されるのを防止する画像形成装置の提供を目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するための請求項1に記載の発明は、連続される2枚の記録紙のうちの前の記録紙の印刷領域への印刷に用いられる第1の印刷データから第1の文字列の第1の印字データを抽出すると共に、後の記録紙の前記印刷領域への印刷に用いられる第2の印刷データから第2の文字列の第2の印字データを抽出する抽出手段と、前記抽出手段によって抽出された前記第1及び第2の印字データの印字情報から前記第1の文字列と前記第2の文字列の書式を照合する書式照合手段と、前記抽出手段によって抽出された前記第1及び第2の印字データから前記第1及び第2の文字列の前記記録紙上の前記印刷領域に対する印字位置を判定する位置判定手段と、前記書式照合手段の照合結果と前記判定手段の判定結果から前記第1の文字列と前記第2の文字列とが連続する文字列であると判断される場合、前記第1の文字列と前記第2の文字列とを結合して、前記第1の文字列に換える第3の文字列の第3の印字データを生成する結合手段と、前記第3の印字データを含めた前記第1の印刷データに基づいて前記記録紙への印刷処理を行う印刷処理手段と、を含む。
【0009】
請求項2に係る発明は、請求項1に記載の発明において、前記書式照合手段が、前記第1の印字データ及び前記第2の印字データに含まれる印字情報として文字の書体、文字の大きさ、文字の色、文字の配列方向が一致しているか否かを照合する。
【0010】
請求項3に係る発明は、請求項1又は請求項2の発明において、前記位置判定手段が、文字の配列方向と交差する方向に沿った前記第1の文字列と前記第2の文字列との印字位置が一致するか否かを照合する印字位置照合手段と、前記第1の文字列の印字終了位置が前記記録紙上の前記印刷領域の端部であるか否か及び、前記第2の文字列の印字開始位置が前記記録紙の前記印刷領域の端部であるか否かを判定する印字位置判定手段と、を含む。
【0011】
請求項4に係る発明は、請求項1から請求項3の何れか1項に記載の発明において、前記結合手段が、前記第1の文字列が印字される印字領域に前記第3の文字列の文字が収まるように前記文字の大きさを設定する文字サイズ設定手段と、前記第1の印刷データに含まれる前記印刷情報の文字サイズを前記文字サイズ設定手段によって設定された文字サイズに変更して前記第3の文字列の印字情報を生成する印字情報生成手段と、を含む。
【0012】
請求項5に係る発明は、請求項4に記載の発明において、前記文字サイズ設定手段が、前記第1の文字列の前記印字領域の前記配列方向に沿った画素数と、前記第1及び第2の印字データの印字情報に基づいて第3の文字列を印字したときの画素数から得られる縮小率に基づいて、前記文字の大きさを設定する。
【0013】
請求項6に係る発明は、請求項5に記載の発明において、前記第1及び第2の文字列での文字の大きさと前記縮小率に対する文字の大きさの変換表を予め設定し、該変換表に基づいて前記第3の文字列の文字の大きさを設定する。
【0014】
請求項7の発明は、コンピュータを、連続される2枚の記録紙のうちの前の記録紙の印刷領域への印刷に用いられる第1の印刷データから第1の文字列の第1の印字データを抽出すると共に、後の記録紙の前記印刷領域への印刷に用いられる第2の印刷データから第2の文字列の第2の印字データを抽出する抽出手段と、前記抽出手段によって抽出された前記第1及び第2の印字データのそれぞれに含まれる印字情報か文字の書体、文字の大きさ、文字の色、文字の配列方向が一致しているか否かを照合する書式照合手段と、前記書式照合手段によって前記第1の文字列と前記第2の文字列の書式が一致していると判定された場合に、前記第1の文字列と前記第2の文字列との文字の配列方向と交差する方向に沿った印字位置が一致するか否かを照合する印字位置照合手段と、前記印字位置照合手段によって前記配列方向と交差する印字位置が一致していると判定された場合、前記第1の文字列の印字終了位置が前記記録紙上の前記印刷領域の端部であるか否か及び、前記第2の文字列の印字開始位置が前記記録紙の前記印刷領域の端部であるか否かを判定する印字位置判定手段と、前記印字位置判定手段によって肯定判定された場合、前記第1の文字列と前記第2の文字列が分割された文字列であると判定する判定手段と、して動作させる。
【0015】
請求項8の発明は、コンピュータを、連続される2枚の記録紙のうちの前の記録紙の印刷領域への印刷に用いられる第1の印刷データに含まれる第1の印字データの第1の文字列に、後の記録紙の前記印刷領域への印刷に用いられる第2の印刷データに含まれる第2の印刷データの第2の文字列を結合して第3の文字列を生成する文字列生成手段と、前記第1の文字列が印字される前記記録紙の前記印刷領域内の文字の配列方向に沿った画素数と、前記第1及び第2の印字データの印字情報に基づいて第3の文字列を印字したときの画素数とから得られる縮小率に基づいて、前記第3の文字列の文字の大きさを設定する文字サイズ設定手段と、前記第1の印刷データに含まれる前記印刷情報の文字サイズを前記文字サイズ設定手段によって設定された文字サイズに変更して前記第3の文字列の印字情報を生成する印字情報生成手段と、前記文字列生成手段によって生成された第3の文字列と前記印字情報生成手段によって生成された印字情報に基づいて、前記第3の文字列を前記記録紙に印字する第3の印字データを生成する生成手段と、して動作させる。
【発明の効果】
【0016】
以上説明したように請求項1に記載の発明によれば、元が連続した文字列であるにもかかわらず、2枚の記録紙に跨って印字される文字列を的確に検出して、1枚の記録紙に印字することができる。
【0017】
また、請求項2に記載の発明によれば、文字の書体、大きさ、色、配列方向を照合するので、第1の文字列と第2の文字列が分割された可能性のある文字列であるか否かの判定が容易となる。
【0018】
請求項3に記載の発明によれば、文字の配列方向と交差する方向に沿った位置を照合するので、第1の文字列と第2の文字列が分割された可能性のある文字列であるか否かの判定が容易となる。
【0019】
請求項4に記載の発明によれば、第3の文字列が第1の文字列の印字領域内に収まるように文字の大きさを設定した印字情報を容易に得ることができる。
【0020】
請求項5に記載の発明によれば、第3の文字列の文字の大きさを的確に設定することができる。
【0021】
請求項6に記載の発明によれば、第3の文字列の大きさの設定が容易となる。
【0022】
請求項7に記載の発明によれば、元が連続した文字列であるにもかかわらず、2枚の記録紙に跨って印字される文字列を的確に検出することができる。
【0023】
請求項8に記載の発明によれば、2つの文字列を1枚の記録紙に印字するための印字データを的確に生成することができる。
【発明を実施するための最良の形態】
【0024】
以下に、図面を参照しながら本発明の実施の形態を詳細に説明する。図2には、本実施の形態に係る印刷システム10が示されている。この印刷システム10は、画像形成装置12及び、クライアント装置14と含んでいる。画像形成装置12及びクライアント装置14は、通信モジュール16、18を備えており、通信モジュール16、18が、LAN、WANなどの接続手段20を介して接続されている。
【0025】
クライアント装置14としては、一般的構成のパーソナルコンピュータなどが用いられ、オペレーティングシステムプログラムと共に、文書作成ソフトウェア、表作成ソフトウェア、図形作成ソフトウェアなどの各種のアプチケーションソフトウェアプログラム(アプリケーション22)がインストールされている。クライアント装置14では、このアプリケーション22を用い、文書データ、図表データなどを作成、編集等が行われる。
【0026】
また、クライアント装置14には、画像形成装置12に対するプリンタドライバ24がインストールされており、クライアント装置14では、文書データ、図表データなどを印刷データとして印刷処理装置12へ出力可能となっている。このときに、クライアント装置14では、印刷データをページ単位に分割し、ページ単位で順に出力する一般的構成となっている。
【0027】
画像形成装置12は、画像処理部26と印刷出力部28とを含んで形成されている。印刷出力部28は、例えば、電子写真プロセスを用いて記録媒体である記録紙30(図3(B)参照)へ画像を形成して出力する(以下、印刷処理とする)。なお、記録紙30への画像形成方式は、電子写真プロセス方式のみでなく、インクジェット方式など任意の構成を適用することができる。
【0028】
画像処理部26は、CPU32、ROM34、RAM36がバス38に接続された一般的構成のマイクロコンピュータを備えている。また、このバス38には、入出力(I/O)ポート40が接続されており、この入出力ポート40に、HDD42などの記憶媒体が接続されていると共に、クライアント装置14との間でデータの交換を行う通信モジュール18及び、印刷出力部28との間で双方向通信を行う通信モジュール44が接続されている。また、画像処理部26には、画像処理モジュール46が設けられており、これらが、入出力ポート40を介してCPU32に接続されている。
【0029】
画像処理部26では、CPU32が、ROM34ないしHDD42にインストールされているプログラムに基づき、RAM36、HDD42をワークメモリとして使用して動作し、通信モジュール18によるデータの送受信、画像処理モジュール46での画像処理、通信モジュール44を介した印刷出力部28の作動制御を行う。
【0030】
これにより、画像形成装置12では、クライアント装置14から印刷データが送信されて印刷要求がなされると、この印刷データを通信モジュール18で受信し、順次、HDD42に格納する。また、画像形成装置12では、HDD42に格納された印刷データがページ単位で読み出されて画像処理モジュール46で、印刷要求に応じた画像処理及びラスタライズが行われる。
【0031】
さらに、画像形成装置12では、ラスタライズによって生成されたラスタデータが印刷出力部28へ出力され、印刷出力部28で、ラスタデータに基づいた記録紙30への印刷処理が行われる。なお、このような画像形成装置12としては、一般的構成のプリンタ又は、プリントサーバと印刷出力装置とによる構成を適用することができる。
【0032】
ところで、クライアント装置14では、アプリケーション22を用いることにより、例えば、図3(A)に示されるように、図形や表などのドキュメント60に、文字列62を含ませることができる。また、印刷システム10では、クライアント装置14から、作成されたドキュメント60のデータを印刷データとして画像形成装置12へ送信することにより、画像形成装置12で、このドキュメント60に基づいた印刷処理が行われる。
【0033】
クライアント装置14では、印刷データを画像形成装置12へ送信するときに、元のデータをページ単位に分割して生成した印刷データを送信する。このときに、クライアント装置14では、記録紙30上の印刷領域64(図3(B)参照)内に収まるように分割した印刷データを生成して送信する。
【0034】
このために、ドキュメント60の文字列62が印刷領域64に収まらないと、図3(B)に示されるように、文字列62が文字列62Aと文字列62Bに分割され、ドキュメント60が、2枚の記録紙30A、30Bに印刷されて出力される。
【0035】
図4(A)に示されるように、文字列62の印字を指示するデータ(以下、印字データ66とする)には、文字列62中の各文字(数字、アルファベット、記号、キャラクタなど)を示すデータが順に配置されている(以下、総称して文字データ68とする)。また、印字データ66には、この文字データ68に、印字タグ70が付加されている。この印字タグ70には、フォント(書体)、フォントサイズ(文字の大きさ)、色、印字方向、印字開始位置及び文字数を含むデータが印字情報として含まれている。
【0036】
文字列62は、この印字タグ70に含まれる印字情報に基づいて記録紙30上での印字開始位置(例えば先頭の文字の座標)、印字方向が決定されると共に、書体(フォント)、文字の大きさ(フォントサイズ)が決定される。また、文字列62は、フォントサイズ及び文字数から印字に必要な領域が決定される。すなわち、フォントサイズで1文字当たりの印字方向に沿った画素数が決まり、この画素数と文字数が、印字方向に沿って必要な画素数が決まる。
【0037】
ここから、クライアント装置14では、文字列62が、記録紙30の印刷領域64内に収まらないと判断されると、印字可能な文字数で分割する。これにより、図4(B)に示されるように、文字列62Aに対応する文字データ68Aに印字タグ70Aを付加した印字データ66A及び、文字列62Bに対応する文字データ68Bに印字タグ70Bを付加した印字データ66Bが生成され、図3(B)に示される印刷出力が得られる。
【0038】
一方、図1に示されるように、画像形成装置12の画像処理モジュール46には、文字列処理部50が形成されている。この文字列処理部50は、抽出部52、照合部54、結合部56及び印刷データ更新部58を含んでいる。
【0039】
抽出部52では、HDD42から印刷データをページ単位で読み出し、この印刷データから文字列62の印字データ66及び、この印字データ66に含まれる印字タグ70を抽出する。抽出部52で抽出された文字列62の印字データ66及び文字列62の印字タグ70は中間バッファ72に格納される。
【0040】
照合部54では、例えば、1ページと2ページ、2ページと3ページなどの隣接する印刷ページ(nページとn+1ページ)ごとに、中間バッファ72に格納された印字データ66の印字タグ70に含まれる印字情報を照合し、本来は連続している文字列62であるにもかかわらず、印刷データに変換されたときに、異なるページに印刷されるように分割された文字列62A、62Bであるか否かを判定する。
【0041】
すなわち、照合部54では、nページ(以下、前ページとする)の印刷データから抽出された印字データ66Aと、次のn+1ページ目(以下、後ページとする)の印刷データから抽出された印字データ66Bとの間で、印字タグ70A、70Bを照合することにより、本来は連続して印字されるべき文字列62であるか否かを判定する。
【0042】
また、結合部56では、照合部54で、本来は連続した文字列62であると判定された印字データ66A、66Bを結合し、前ページにまとめて印字されるようにした印字データ66C(図4(A)参照)を生成する。このときに、結合部56は、文字データ68A、68Bに基づいて元の文字データ68を生成するとともに、前ページの印字データ66Aの印字可能領域内に、文字データ68に基づいた文字列が収まるように生成した印字タグ70Cを付加して、新たな印字データ66Cを生成する。
【0043】
例えば、前ページ(nページ)の印字データ66Aの文字データ68Aに、次のページ(n+1ページ)の印字データ66Bの文字データ68Bを連結して、元の文字データ68とすると共に、印字データ66Aの印字タグ70Aを修正して印字タグ70Cとする。これにより、図5に示されるように、文字列62に応じた文字列62Cを記録紙30に印字される。
【0044】
以下に、本実施の形態の作用を説明する。
【0045】
印刷システム10では、クライアント装置14上でアプリケーション22を用いて作成されたページレイアウト60が、印刷データとして画像形成装置12へ送信される。画像形成装置12は、この印刷データを受信するとHDD42に格納すると共に、HDD42から印刷データをページ単位で読み出して、画像処理及びラスタライズを行い、これにより生成されたラスタデータを印刷出力部28へ出力することにより印刷処理が行われる。
【0046】
ところで、画像形成装置12には、文字列処理部50が設けられている。この文字列処理部50では、図、表などのドキュメント60を印刷処理するときに分割されて前後のページに跨って配置された文字列の抽出し、抽出した文字列を結合する。
【0047】
ここで、図6から図10を参照しながら、画像形成装置12における文字列の結合処理を説明する。以下では、2ページ分の印刷データとして、図6(A)に示される前ページ74Aの印刷データと後ページ74Bの印刷データが含まれる印刷データに対する処理を例とする。また、印刷出力部12における記録紙30の主走査方向を矢印X方向とし、副走査方向を矢印Y方向とすると共に、文字列の印字方向を主走査方向(矢印X方向)とし、記録紙30上の印刷領域64内に印字されるものとして説明し、文字列の印字方向は主走査方向に沿ったものとする。
【0048】
なお、画像形成装置12では、2ページ(iページ)以上の印刷データに対して適用することができ、このときには、nページを前ページ74A、n+1ページを後ページ74Bとして、n=1からn=iまでの順に繰り返すなどの方法を適用すればよい。
【0049】
図7には、文字列の結合処理を含めた印刷処理の一例が示されている。このフローチャートは、HDD42に印刷データを格納し、格納した印刷データに対する印刷処理(画像処理)の開始に先立って実行され、最初のステップ100では、前ページの印刷データをHDD42から読み出し、ステップ102では、読み出した印刷データから印字データを抽出する。
【0050】
ここで、ステップ104では、印刷データから印字データが抽出されたか否かを確認する。印刷データに印字データが含まれていないとき、すなわち、前ページ74Aに文字列がないときには、ステップ104で否定判定してステップ106へ移行し、このページ(前ページ74A)に対して通常の印刷処理を実行する。
【0051】
これにより、画像形成装置12では、HDD42に格納されている印字データ該当ページ(前ページ74A)の印刷データを読み出し、画像処理及びラスタライズを実行してラスタデータを生成し、このラスタデータを印刷出力部28へ出力する。なお、この印刷データが2ページ分の印刷データであれば、後ページ74Bに対しても通常の印刷処理が行われ、3ページ以上であれば、2ページ目を前ページ74Aとして2ページ目の印刷データに対する処理を行う。
【0052】
一方、図6(A)及び図6(B)に示されるように、前ページ74Aに例えば、文字列76A、76B、76Cが含まれていると、印刷データから、文字列76Aの印字データ78A、文字列76Bの印字データ78B及び、文字列76Cの印字データ78Cが抽出される。
【0053】
これにより、図7のフローチャートでは、ステップ104で肯定判定されてステップ108へ移行する。このステップ108では、後ページ74Bの印刷データをHDD42から読み出し、ステップ110で、この印刷データに印字データが含まれているか否かを確認する。このときに、後ページ74Bに文字列が配置されておらず、印刷データから印字データが抽出されなければ、ステップ112で否定判定してステップ106へ移行し、該当ページに対して通常の印刷処理を実行する。すなわち、前ページ74Aと後ページ74Bとに跨って印字される文字列がないと判断されるので、前ページ74Aに対する印刷処理を実行する。また、この場合は、後ページ74Bにも文字列が無いので、後ページ74Bの印刷処理を連続して行うようにしても良い。
【0054】
これに対して、図6(A)に示されるように、後ページ74Bに文字列76Dがあると、後ページ74Bの印刷データから文字列76Dに対応する印字データ78Dが抽出される。
【0055】
これにより、図7のフローチャートでは、ステップ112で肯定判定してステップ114へ移行する。このステップ114では、前ページ74Aの印刷データから抽出された印字データ(ここでは、印字データ78A〜78C)と、後ページ74Bの印刷データから抽出された印字データ(ここでは、印字データ78D)の照合を行う。
【0056】
図8には、このときの処理が示されている。図6(B)に示されるように、印字データ78A、78B、78C、78Dは、文字データ80A、80B、80C、80Dに、印字タグ82A、82B、82C、82Dが付加されている。
【0057】
図8のフローチャートでは、最初のステップ130で前ページ74Aの印字データ78A〜78Cから印字タグ82A〜82Cを抽出する。また、ステップ132では、後ページ74Bの印字データ78Dから印字タグ82Dを抽出する。なお、複数の印字データが抽出されているときには、各印字データから印字タグを抽出する。
【0058】
この後、ステップ134では、印字タグ82A〜82Cと、印字タグ72Dの印字情報に基づいて、前ページ74Aの文字列76A〜76Cと、後ページ74Bの文字列76Dの書式(以下、スタイルとする)を照合する。すなわち、前ページ74Aと後ページ74Bの間に、同じスタイルの文字列が存在するか否かを確認する。このときの文字列のスタイル(書式)とは、フォント、フォントサイズ、色、印字方向などを示し、前ページ74Aの文字列76A〜76Cと後ページ74Bの文字列76Dとの間でスタイルの一致している組み合せがあるか否かの照合を行う。
【0059】
ここで、フォント、フォントサイズ、色、印字方向のいずれか少なくとも一つが異なり、前ページ74Aの文字列76A〜76Cと後ページ74Bの文字列76Dとの間で、スタイルの一致している組み合せがないと判断されるときには、ステップ136で否定判定してステップ138へ移行し、前ページ74Aと後ページ74Bの間には、分割されている文字列が存在していないと判定する。
【0060】
これに対して、フォント、フォントサイズ、色、印字方向の全てが一致して、スタイルが一致していると判断される文字列の組み合せがあるときには、ステップ136で肯定判定して、分割された文字列が含まれているか否かの判定を行なう。
【0061】
分割された文字列であるか否かの判定処理は、スタイルの一致している文字列ごとに実行される。すなわち、一致したスタイルごとに行われ、各ページにスタイルの一致している文字列が複数あるときには、それらに対して、一括して行うものであっても良い。
【0062】
分割された文字列であるか否かの判断は、先ず、ステップ140でスタイルの一致した文字列の印字データ及び印字タグを中間バッファ72に格納する。なお、ここでは、文字列76A〜76Cのスタイルが文字列76Dのスタイルと一致しているものとして説明する。
【0063】
この後、配列方向と交差する方向である副走査方向に沿った位置が一致しているか否かを確認する。なお、ここでは、一例として1画素分を一行として、副走査方向に沿った文字列の印字位置を確認する。また、印字位置は、印字タグ82A〜82Dに印字情報として含まれる印刷開始位置の座標を用いればよい。
【0064】
ここから、ステップ142で行数mをリセットし(m=0)し、次のステップ144では、行数mをインクリメント(m=m+1)して、確認する行数mを設定する。
【0065】
この後、ステップ146では、前ページ74Aで印字位置が行数mと一致する文字列があるか否かを確認し、ステップ148では、後ページ74Bで印字位置が行数mと一致する文字列があるか否かを確認する。また、ステップ150では、確認する行数mが最終行に達したか否かを確認し、ステップ152では、分割された文字列が検出されたか否かを確認している。
【0066】
すなわち、ステップ146〜150によって、全ての行に対して、前ページ74Aと後ページ74Bとの間で、印字される行が一致する文字列が存在するか否かを確認している。このときに、前ページ74Aと後ページ74Bの間で、印刷される行数が一致する文字列が存在しない場合、ステップ152で否定判定されてステップ138へ移行する。
【0067】
これに対して、例えば、前ページ74Aの文字列76Cと後ページ74Bの文字列76Dの印字行が一致していると、ステップ146、ステップ148で肯定判定されてステップ154へ移行する。
【0068】
このステップ154では、前ページ74Aの文字列76Cの印字タグ82Cに含まれる印字情報から、文字列76Cの後端(印字終了位置)が印刷領域64の端部に達しているか否かを判断する。なお、文字列76Cの印字終了位置が印刷領域64の端部か否かは、文字列76Cの後端と印刷領域の端部との空きが、1文字以下の画素数であるものとする。
【0069】
ここで、図6(A)に示されるように、前ページ74Aにおける文字列76Cの配列方向(主走査方向)に沿った印字幅Wは、フォントサイズ及び文字数から得られ、文字列76Cの印字領域64Aは、記録紙30上での印字開始位置と印字幅Wによって定まる。ここから、図8のステップ154では、印字領域64Aの後端が印刷領域64の端部であるか否かを確認する。
【0070】
また、ステップ156では、後ページ74Bにおける文字列76Dの印字開始位置が、印刷領域64の端部であるか否かを確認する。
【0071】
文字列76C、76Dが連続した文字列を分割したものである場合、前ページ74Aの文字列76Cの配列方向の端部(印字終了位置)が印刷領域64の端部となり、後ページ74Bの文字列76Dの印字開始位置が印刷領域64の端部となる。
【0072】
ここから、文字列76Cの端部(印字終了位置)が印刷領域64の端部でないときは、ステップ154で否定判定され、文字列76Dの印字開始位置が印刷領域64の端部でないときには、ステップ156で否定判定される。これにより、この文字列76C、76Dは分割された文字列でないと判断されて、ステップ150にもどる。
【0073】
これに対して、文字列76Cの印字終了位置が印刷領域64の端部であり、文字列76Dの印字開始位置が印刷領域64の端部であるときには、ステップ154及びステップ156で肯定判定されてステップ158へ移行する。
【0074】
このステップ158では、文字列76C、76Dが分割された文字列であると判定する。これにより、前ページ74Aの文字列と後ページ74Bの文字列の照合を終了したときに、ステップ152で肯定判定される。
【0075】
このようにして照合処理が行われると、図7のフローチャートでは、ステップ116で分割された文字列と判定された文字列の組み合わせが抽出されたか否かを確認し、分割された文字列が抽出されない場合、ステップ116で否定判定してステップ106へ移行し、前ページ74Aに対する印刷処理を行う。
【0076】
これに対して、文字列76C、76Dが分割された文字列であると判定されている場合、ステップ116で肯定判定してステップ118へ移行する。このステップ118では、文字列76C、76Dの結合処理を行う。
【0077】
図9には、文字列の結合処理の一例を示している。このフローチャートでは、分割されていると判定された文字列の組み合せごとに実行され、最初のステップ170で前ページ74Aの文字列76Cの印字幅Wを取得する。また、ステップ172では、後ページ74Bの文字列76Dの印字幅Waを取得する。これにより、文字列76C、76Dを本来のスタイルで印字するときに必要な印字幅が得られる。
【0078】
次のステップ174では、前ページ74Aの印字幅W内に、文字列76C、76Dの文字を印字するために必要な縮小率R(%)を取得する。この縮小率Rは、W=R・(W+Wa)から、R=100・W/(W+Wa)として得ることができる。
【0079】
この後、ステップ176では、縮小率と元のフォントサイズから、新たなフォントサイズを設定する。このフォントサイズの設定は、元のフォントサイズと縮小率Rに対するテーブルを予め設定し、このテーブルに基づいてフォントサイズが設定される構成とすることができる。
【0080】
図10には、このときのテーブルの一例とするフォントサイズ変換テーブル84が示されている。このフォントサイズ変換テーブル84では、例えば、元のフォントサイズが14ポイントであり、縮小率Rが80%であると、新たなフォントサイズとして10.5ポイントが選択される。これにより、フォントサイズが10.5ポイントに設定される。
【0081】
なお、本実施の形態では、縮小率Rが所定値以下(例えば、50%以下)であると、フォントサイズ又は縮小率Rが適切でないとして、該当文字列に対する結合処理を行わないようにしている。
【0082】
すなわち、図9のフローチャートでは、フォントサイズの設定が行われると、ステップ178へ移行して、フォントサイズが適正か否かを確認し、縮小率Rが所定値以上であるときに、ステップ178で肯定判定してステップ180へ移行する。
【0083】
このステップ180では、設定したフォントサイズに基づいて、文字列76C、76Dを結合した印字データ78Eを生成する。図6(C)、図6(D)に示されるように、印字データ78Eは、文字列76C(印字データ78C)の文字データ80Cと文字列78D(印字データ78D)の文字データ80Dを連結して、文字データ80Eを生成する。また、例えば、前ページ74Aの印字データ78Cの印字タグ82Cに対して、フォントサイズを新たに設定されたフォントサイズに変更した印字タグ82Eを付加する。
【0084】
この印字データ78Dを印字データ78Cに換えて用いることにより、文字列76Eが印字された印刷ページ74Cが得られる。
【0085】
なお、図9のフローチャートでは、縮小率Rが所定値よりも小さく、フォントサイズが小さくなりすぎると判断されるときには、ステップ178で否定判定してステップ182へ移行し、該当文字列に対する連結を中止する。
【0086】
このようにして、文字列の結合処理が行われると、図7のフローチャートでは、ステップ120で文字列の結合が行われたか否かを確認する。すなわち、結合された文字列があるか否かを確認する。このときに、文字列の結合が行われていなければ、ステップ120で否定判定してステップ106へ移行し、前ページ74Aに対する印刷処理を実行する。
【0087】
これに対して、文字列76C、76Dを結合した文字列76Eの印字データ78Eが生成されているときには、ステップ120で肯定判定してステップ122へ移行する。このステップ122では、印字データ78Cを、前ページ74Aの文字列76Cの印字データ78Cに置き換えて、前ページ74Aの印刷処理が行われるようにする。また、後ページ74Bの印刷データからは、印字データ78Dが削除される。
【0088】
これにより、図6(C)にしめされるように、記録紙30には、文字列76A、76Bが印字されると共に、文字列76Cに変わる文字列76Eが印字されて出力されると共に、文字列76Dが削除された後ページ74Bが印刷出力される。なお、文字列76Dが削除されることにより、後ページ74Bに印刷用のデータが無くなったときには、後ページ74Bが出力されなくなる。
【0089】
このように、画像形成装置12では、前ページ74Aの印刷データから抽出した文字列と後ページ74Bの印刷データから抽出した文字列の書式、文字の配列方向と交差する方向である副走査方向に沿った印字位置及び、文字の配列方向である主走査方向に沿った印字位置(印字領域)から、分割された文字列であるか否かを判定するので、分割された文字列を適正に検出することができる。
【0090】
このときに、文字列の書式から、フォント、フォントサイズ、文字の色、文字の配列方向を照合して、一致しているか否かを判定するので、分割されている可能性のある文字列の抽出を的確に行うことができる。
【0091】
この書式の照合結果が一致した文字列76C、76Dに対して、配列方向と交差する方向に沿った印字位置が一致し、さらに、前ページ74A側の文字列76Cの印字終了位置が印字領域64の端部であり、後ページ74B側の文字列76Dの印字開始位置が印字領域64の端部であるときに、この文字列76C、76Dが分割された文字列であると判定するので、分割された文字列を正確に検出することができる。
【0092】
また、画像形成装置12では、前ページ74A上の印字幅Wに基づいて縮小率Rを設定し、設定した縮小率Rで印字されるように印字情報を設定するので、分割された文字列76C、76Dを一つの連続した文字列76Eとして印字することができる。
【0093】
このときに、縮小率Rに基づいて各文字を縮小することも可能であるが、画像形成装置12では、縮小率Rに基づいてフォントサイズを設定するために、高品質の文字を印字することができる。
【0094】
さらに、縮小率Rに基づいたフォントサイズの設定を行うときに、縮小率Rと元のフォントサイズに対応するフォントサイズ変換テーブル84を予め設定し、このフォントサイズ変換テーブル84を用いてフォントサイズを設定するので、フォントサイズの設定がきわめて容易となる。
【0095】
また、画像形成装置12では、設定したフォントサイズから、文字列76Cの印字情報を変更し、この変更した印字情報に基づいた印字タグ82Eを生成し、この印字タグ82Eに含まれる印字情報に基づいて印字処理を行うので、結合した文字列76Eの印字を的確に行うことができる。
【0096】
なお、以上説明した本実施の形態では、スタイルの一致した文字列を抽出し、抽出した文字列に対して、印字位置から分割された文字列であるか否かを判断したが、これに限らず、先ず、印字位置を確認して、分割された文字列である可能性があるか否かを確認し、印字位置から分割された可能性のある文字列に対して、スタイルが一致しているか否かを確認するようにしても良い。
【0097】
また、本実施の形態では、説明を容易にするために、配列方向を主走査方向に設定したが、これに限らず、配列方向と交差する方向に沿って一画素分ずつの位置を確認し、配列方向と交差する方向に沿った位置が同じ文字列に対して、配列方向に沿った位置関係を判断して、分割された可能性のある文字列を抽出するものであればよい。
【0098】
さらに、印字位置から分割された文字列であるか否かの判断はこれに限らず、前ページの文字列に対しては、配列方向の後端が印字領域の端部に達しているか否かを確認し、後ページの文字列に対しては、配列方向の先端が印字領域の端部であるか否かを確認し、該当する文字列に対して、配列方向の交差する方向に沿った位置が一致するか否かを確認するなどの方法を適用することができる。
【0099】
すなわち、スタイル及び配列方向と交差する方向が一致すると共に、前ページの文字列の配列方向の後端が印字領域の端部で、後ページの文字列の配列方向の先端(印字開始位置)が印字領域の端部であるときに、その文字列が分割された文字列であると判断することができる。
【0100】
また、本実施の形態では、画像形成装置12を例に説明したが、本発明は、クライアント装置14からページ単位で送信された印刷データを受信し、この印刷データに基づいて記録紙30に印字を行う任意の構成の画像形成装置に適用することができる。
【図面の簡単な説明】
【0101】
【図1】本実施の形態に係る画像形成装置の要部の構成図である。
【図2】画像形成装置が用いられる印刷システムの構成図である。
【図3】(A)は文字列を含むドキュメントの一例を示す要部の構成図、(B)は(A)のドキュメントの印刷出力を示す要部の構成図である。
【図4】(A)及び(B)は文字列の印字データの構成図である。
【図5】図3(B)に示す文字列を結合した印刷出力の要部の構成図である。
【図6】(A)は記録紙への印刷出力の一例を示す要部の構成図、(B)は(A)の文字列の印字データを示す構成図、(C)は文字列を結合した印刷出力の要部の構成図、(D)は(C)で結合されている文字列の印字データを示す構成図である。
【図7】印刷処理の一例を示す流れ図である。
【図8】文字列の照合処理の一例を示す流れ図である。
【図9】文字列の結合処理の一例を示す流れ図である。
【図10】縮小率と元のフォントサイズに基づいたフォントサイズの設定に用いる変換テーブルの一例を示す図表である。
【符号の説明】
【0102】
10 印刷システム
12 画像形成装置
14 クライアント装置
26 画像処理部
28 印刷出力部
30 記録紙
50 文字列処理部
52 抽出部
54 照合部
56 結合部
58 印字データ更新部
62、62A〜62C、76A〜76E 文字列
64 印刷領域
66、66A〜66C、78A〜78E 印字データ
68、68A、68B、80A〜80E 文字データ
70、70A〜70C、82A〜82E 印字タグ
74A 前ページ
74B 後ページ
74C 印刷ページ
84 フォントサイズ変換テーブル

【特許請求の範囲】
【請求項1】
連続される2枚の記録紙のうちの前の記録紙の印刷領域への印刷に用いられる第1の印刷データから第1の文字列の第1の印字データを抽出すると共に、後の記録紙の前記印刷領域への印刷に用いられる第2の印刷データから第2の文字列の第2の印字データを抽出する抽出手段と、
前記抽出手段によって抽出された前記第1及び第2の印字データの印字情報から前記第1の文字列と前記第2の文字列の書式を照合する書式照合手段と、
前記抽出手段によって抽出された前記第1及び第2の印字データから前記第1及び第2の文字列の前記記録紙上の前記印刷領域に対する印字位置を判定する位置判定手段と、
前記書式照合手段の照合結果と前記判定手段の判定結果から前記第1の文字列と前記第2の文字列とが連続する文字列であると判断される場合、前記第1の文字列と前記第2の文字列とを結合して、前記第1の文字列に換える第3の文字列の第3の印字データを生成する結合手段と、
前記第3の印字データを含めた前記第1の印刷データに基づいて前記記録紙への印刷処理を行う印刷処理手段と、
を含む画像形成装置。
【請求項2】
前記書式照合手段が、前記第1の印字データ及び前記第2の印字データに含まれる印字情報として文字の書体、文字の大きさ、文字の色、文字の配列方向が一致しているか否かを照合する請求項1に記載の画像形成装置。
【請求項3】
前記位置判定手段が、
文字の配列方向と交差する方向に沿った前記第1の文字列と前記第2の文字列との印字位置が一致するか否かを照合する印字位置照合手段と、
前記第1の文字列の印字終了位置が前記記録紙上の前記印刷領域の端部であるか否か及び、前記第2の文字列の印字開始位置が前記記録紙の前記印刷領域の端部であるか否かを判定する印字位置判定手段と、
を含む請求項1又は請求項2に記載の画像形成装置。
【請求項4】
前記結合手段が、
前記第1の文字列が印字される印字領域に前記第3の文字列の文字が収まるように前記文字の大きさを設定する文字サイズ設定手段と、
前記第1の印刷データに含まれる前記印刷情報の文字サイズを前記文字サイズ設定手段によって設定された文字サイズに変更して前記第3の文字列の印字情報を生成する印字情報生成手段と、
を含む請求項1から請求項3の何れか1項に記載の画像形成装置。
【請求項5】
前記文字サイズ設定手段が、前記第1の文字列の前記印字領域の前記配列方向に沿った画素数と、前記第1及び第2の印字データの印字情報に基づいて第3の文字列を印字したときの画素数から得られる縮小率に基づいて、前記文字の大きさを設定する請求項4に記載の画像形成装置。
【請求項6】
前記第1及び第2の文字列での文字の大きさと前記縮小率に対する文字の大きさの変換表を予め設定し、該変換表に基づいて前記第3の文字列の文字の大きさを設定する請求項5に記載の画像形成装置。
【請求項7】
コンピュータを、
連続される2枚の記録紙のうちの前の記録紙の印刷領域への印刷に用いられる第1の印刷データから第1の文字列の第1の印字データを抽出すると共に、後の記録紙の前記印刷領域への印刷に用いられる第2の印刷データから第2の文字列の第2の印字データを抽出する抽出手段と、
前記抽出手段によって抽出された前記第1及び第2の印字データのそれぞれに含まれる印字情報か文字の書体、文字の大きさ、文字の色、文字の配列方向が一致しているか否かを照合する書式照合手段と、
前記書式照合手段によって前記第1の文字列と前記第2の文字列の書式が一致していると判定された場合に、前記第1の文字列と前記第2の文字列との文字の配列方向と交差する方向に沿った印字位置が一致するか否かを照合する印字位置照合手段と、
前記印字位置照合手段によって前記配列方向と交差する印字位置が一致していると判定された場合、前記第1の文字列の印字終了位置が前記記録紙上の前記印刷領域の端部であるか否か及び、前記第2の文字列の印字開始位置が前記記録紙の前記印刷領域の端部であるか否かを判定する印字位置判定手段と、
前記印字位置判定手段によって肯定判定された場合、前記第1の文字列と前記第2の文字列が分割された文字列であると判定する判定手段と、
して動作させる分割された文字列を検出する検出プログラム。
【請求項8】
コンピュータを、
連続される2枚の記録紙のうちの前の記録紙の印刷領域への印刷に用いられる第1の印刷データに含まれる第1の印字データの第1の文字列に、後の記録紙の前記印刷領域への印刷に用いられる第2の印刷データに含まれる第2の印刷データの第2の文字列を結合して第3の文字列を生成する文字列生成手段と、
前記第1の文字列が印字される前記記録紙の前記印刷領域内の文字の配列方向に沿った画素数と、前記第1及び第2の印字データの印字情報に基づいて第3の文字列を印字したときの画素数とから得られる縮小率に基づいて、前記第3の文字列の文字の大きさを設定する文字サイズ設定手段と、
前記第1の印刷データに含まれる前記印刷情報の文字サイズを前記文字サイズ設定手段によって設定された文字サイズに変更して前記第3の文字列の印字情報を生成する印字情報生成手段と、
前記文字列生成手段によって生成された第3の文字列と前記印字情報生成手段によって生成された印字情報に基づいて、前記第3の文字列を前記記録紙に印字する第3の印字データを生成する生成手段と、
して動作させる文字列の結合プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−128574(P2010−128574A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−299737(P2008−299737)
【出願日】平成20年11月25日(2008.11.25)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】