(57)【要約】【課題】表計算ソフトウェアにおいてテキスト表示部分に生じる印刷画像のずれを容易に補正可能な画像処理装置、画像形成装置、及び、プログラムを提供する。【解決手段】入力画像データに基づいて中間言語データを作成する画像解析手段を備え、画像解析手段は、入力画像データに含まれる文字描画領域の情報を検出し、この文字描画領域の設定範囲を取得する文字描画領域抽出手段と、文字描画領域内に記述される文字列の文字情報に基づいて、印刷時のこの文字列の画像形成範囲を算出する文字列画像形成領域算出手段と、文字列画像形成領域算出手段により算出された画像形成範囲が文字描画領域抽出手段により抽出された文字描画領域の内部に収まらない場合には、画像形成範囲が文字描画領域に収まるように、画像形成範囲と文字描画領域とのうち、少なくとも一方の調整処理を行う文字描画領域調整手段と、を備える。【選択図】図８
2013016049.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データに基づいて描画用データを生成するための中間言語データを作成する画像解析手段を備えた画像処理装置において、
前記画像解析手段は、
前記入力画像データに含まれる文字描画領域の情報を検出し、当該文字描画領域の設定範囲を取得する文字描画領域抽出手段と、
前記文字描画領域に記述される文字列についての文字情報に基づいて、作成される前記中間言語データにおける当該文字列の画像形成範囲を算出する文字列画像形成領域算出手段と、
前記文字描画領域抽出手段により抽出された前記文字描画領域と、前記文字列画像形成領域算出手段により算出された前記画像形成範囲とを比較して、前記画像形成範囲が前記文字描画領域の内部に収まらない場合には、前記画像形成範囲が前記文字描画領域に収まるように、前記画像形成範囲と前記文字描画領域とのうち、少なくとも一方の調整処理を行う文字描画領域調整手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像解析手段は、
複数の前記文字描画領域が互いに重ならないように、当該文字描画領域の相対位置を修正する領域配置調整手段を更に備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記文字描画領域調整手段は、
前記文字描画領域が前記文字列画像形成領域算出手段により算出された前記画像形成範囲を内包するように当該文字描画領域を拡大する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記文字描画領域の拡大は、横方向への拡大と縦方向への拡大とを独立に行うことが可能に設定されている
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記文字描画領域調整手段は、
前記領域配置調整手段による前記相対位置の修正により、前記複数の文字描画領域が重ならない範囲内で前記複数の文字描画領域を拡大し、
前記画像形成範囲が、当該拡大された前記文字描画領域の内部に収まらない場合には、更に、当該文字描画領域に係る前記文字列についての前記文字情報を変更して当該文字列の行間を短縮し、及び／又は、前記文字列のフォントサイズを縮小することで、前記画像形成範囲が前記文字描画領域内に収まるように縮小する
ことを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記文字描画領域調整手段による調整の要否に係る予め取得された設定データに基づいて、前記文字描画領域調整手段の実行可否が選択可能に構成されている
ことを特徴とする請求項１〜５の何れか一項に記載の画像処理装置。
【請求項７】
生成された前記中間言語データをラスター化して描画用ビットマップデータを作成するビットマップ生成手段を備える
ことを特徴とする請求項１〜６の何れか一項に記載の画像処理装置。
【請求項８】
請求項７に記載の画像処理装置と、
当該画像処理装置により作成されたビットマップデータを取得してシート上に画像の形成を行う画像形成手段と、
を備える画像形成装置。
【請求項９】
画像処理装置として用いられるコンピューターを、
入力画像データに基づいて描画用データを生成するための中間言語データを作成する画像解析手段として機能させるプログラムであって、
前記画像解析手段は、
前記入力画像データに含まれる文字描画領域の情報を検出し、当該文字描画領域の設定範囲を取得する文字描画領域抽出手段、
前記文字描画領域内に記述される文字列についての文字情報に基づいて、作成される前記中間言語データにおける当該文字列の画像形成範囲を算出する文字列画像形成領域算出手段、
前記文字描画領域抽出手段により抽出された前記文字描画領域と、前記文字列画像形成領域算出手段により算出された前記画像形成範囲とを比較して、前記画像形成範囲が前記文字描画領域の内部に収まらない場合には、前記画像形成範囲が全て前記文字描画領域に含まれるように、前記画像形成範囲と前記文字描画領域とのうち、少なくとも一方の調整処理を行う文字描画領域調整手段、
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、画像形成装置、及び、プログラムに関する。
【背景技術】
【０００２】
従来、セルを利用した表計算機能の利用、テーブルリストの作成、或いは、データベースとして用いられる種々の表計算ソフトウェアがある。また、この表計算ソフトウェアは、図面やテキストを任意に貼り付けることで配布資料などを作成する用途にも用いられている。
【０００３】
また、近年、表計算ソフトウェアをはじめとするオフィスソフトウェアの出力フォーマットを標準化する作業が進められている。表計算ソフトウェアの一つであるエクセル（MICROSOFT EXCEL：登録商標）において出力ファイル形式として用いられているＯＯＸＭＬ（Office Open XML）は、仕様標準化されたファイル形式の一つである。出力ファイル形式の標準化により、データ互換性のある新たなソフトウェアの開発が容易になる。
【０００４】
この表計算ソフトウェアにおいて、テキストボックスを利用して記述した文章を印刷すると、ディスプレイ表示用のフォントサイズや文字配置と、印刷用のフォントサイズや文字配置とが微妙に異なることにより、印刷画像におけるテキスト表示がディスプレイ上の表示と異なってしまう場合がある。
【０００５】
そこで、従来、印刷データに含まれる文字論理情報を取得して、印刷用フォントサイズと合致するフォントサイズの文字をディスプレイ上に表示させることのできるプレビュー表示機能を備えた画像処理装置が開発されている（引用文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１９３７０１号広報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、印刷時に、ディスプレイ表示に用いられるフォントの種類と印刷に用いられるフォントの種類が異なる場合には、フォントサイズを一致させたとしても、ディスプレイ表示に用いられるフォントが印刷に用いられるフォントに置き換えられた結果、文章の表示がテキストボックスからはみ出したり、文章中に無用な改行が挿入されたりして、テキスト表示の崩れた印刷画像が形成されてしまう場合がある。このような場合には、従来、表計算ソフトウェア上でフォントサイズやテキストボックスのサイズなどを変更して印刷データを確認しながら調整する必要があり、利便性が低下するという課題があった。
【０００８】
この発明の目的は、表計算ソフトウェアの出力ファイル形式で記載されたデータファイルの印刷時に、テキスト表示部分に生じる印刷画像のずれを容易に補正することのできる画像処理装置、画像形成装置、及び、プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するため、請求項１に記載の発明は、
入力画像データに基づいて描画用データを生成するための中間言語データを作成する画像解析手段を備えた画像処理装置において、
前記画像解析手段は、
前記入力画像データに含まれる文字描画領域の情報を検出し、当該文字描画領域の設定範囲を取得する文字描画領域抽出手段と、
前記文字描画領域に記述される文字列についての文字情報に基づいて、作成される前記中間言語データにおける当該文字列の画像形成範囲を算出する文字列画像形成領域算出手段と、
前記文字描画領域抽出手段により抽出された前記文字描画領域と、前記文字列画像形成領域算出手段により算出された前記画像形成範囲とを比較して、前記画像形成範囲が前記文字描画領域の内部に収まらない場合には、前記画像形成範囲が前記文字描画領域に収まるように、前記画像形成範囲と前記文字描画領域とのうち、少なくとも一方の調整処理を行う文字描画領域調整手段と、
を備えることを特徴とする画像処理装置である。
【００１０】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記画像解析手段は、
複数の前記文字描画領域が互いに重ならないように、当該文字描画領域の相対位置を修正する領域配置調整手段を更に備える
ことを特徴としている。
【００１１】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、
前記文字描画領域調整手段は、
前記文字描画領域が前記文字列画像形成領域算出手段により算出された前記画像形成範囲を内包するように当該文字描画領域を拡大する
ことを特徴としている。
【００１２】
請求項４に記載の発明は、請求項３に記載の画像処理装置において、
前記文字描画領域の拡大は、横方向への拡大と縦方向への拡大とを独立に行うことが可能に設定されている
ことを特徴としている。
【００１３】
請求項５に記載の発明は、請求項３又は４に記載の画像処理装置において、
前記文字描画領域調整手段は、
前記領域配置調整手段による前記相対位置の修正により、前記複数の文字描画領域が重ならない範囲内で前記複数の文字描画領域を拡大し、
前記画像形成範囲が、当該拡大された前記文字描画領域の内部に収まらない場合には、更に、当該文字描画領域に係る前記文字列についての前記文字情報を変更して当該文字列の行間を短縮し、及び／又は、前記文字列のフォントサイズを縮小することで、前記画像形成範囲が前記文字描画領域内に収まるように縮小する
ことを特徴としている。
【００１４】
請求項６に記載の発明は、請求項１〜５の何れか一項に記載の画像処理装置において、
前記文字描画領域調整手段による調整の要否に係る予め取得された設定データに基づいて、前記文字描画領域調整手段の実行可否が選択可能に構成されている
ことを特徴としている。
【００１５】
請求項７に記載の発明は、請求項１〜６の何れか一項に記載の画像処理装置において、
生成された前記中間言語データをラスター化して描画用ビットマップデータを作成するビットマップ生成手段を備える
ことを特徴としている。
【００１６】
請求項８に記載の発明は、
請求項７に記載の画像処理装置と、
当該画像処理装置により作成されたビットマップデータを取得してシート上に画像の形成を行う画像形成手段と、
を備える画像形成装置である。
【００１７】
請求項９に記載の発明は、
画像処理装置として用いられるコンピューターを、
入力画像データに基づいて描画用データを生成するための中間言語データを作成する画像解析手段として機能させるプログラムであって、
前記画像解析手段は、
前記入力画像データに含まれる文字描画領域の情報を検出し、当該文字描画領域の設定範囲を取得する文字描画領域抽出手段、
前記文字描画領域内に記述される文字列についての文字情報に基づいて、作成される前記中間言語データにおける当該文字列の画像形成範囲を算出する文字列画像形成領域算出手段、
前記文字描画領域抽出手段により抽出された前記文字描画領域と、前記文字列画像形成領域算出手段により算出された前記画像形成範囲とを比較して、前記画像形成範囲が前記文字描画領域の内部に収まらない場合には、前記画像形成範囲が全て前記文字描画領域に含まれるように、前記画像形成範囲と前記文字描画領域とのうち、少なくとも一方の調整処理を行う文字描画領域調整手段、
を備えることを特徴とするプログラムである。
【発明の効果】
【００１８】
本発明に従うと、画像処理装置、画像形成装置、及び、プログラムにおいて、表計算ソフトウェアの出力ファイル形式で記載されたデータファイルの印刷時に、テキスト表示部分に生じる印刷画像のずれを容易に補正することが可能になるという効果がある。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態である画像形成装置を含むネットワークシステムの構成図である。
【図２】コンピューターの構成を示すブロック図である。
【図３】画像形成装置の内部構成を示すブロック図である。
【図４】ＯＯＸＭＬ形式のエクセルファイルにおけるファイル構成を示した図である。
【図５】drawing1.xmlファイルの内容の一部を示した図である。
【図６】drawing1.xmlファイルの内容の一部を示した図である。
【図７】drawing1.xmlファイル及びstyles.xmlファイルの内容の一部を示した図である。
【図８】制御部が実行する画像形成データの作成処理の制御手順を示すフローチャートである。
【図９】テキストボックス位置の調整例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本発明の一実施形態である画像処理装置、および、画像形成装置を含むネットワークシステムの構成図である。
【００２１】
このネットワークシステムでは、画像形成装置１、１、１が回線３を介してコンピューター２、２と通信可能に接続されている。
回線３は、画像形成装置１、１、１及びコンピューター２、２によるネットワークを構成する。回線３は、コンピューター２、２及び画像形成装置１、１、１を通信可能に接続するものであればその形態を問わない。例えば、回線３は、ＬＡＮ（Local Area Network）ケーブル、同軸ケーブル、光ファイバーといった有線接続回線でもよいし、ブルートゥース（Bluetooth：登録商標）、ワイヤレスＬＡＮといった各種の無線通信規格を用いた回線でもよく、或いは、複数の組み合わせによってもよい。また、回線３は、ＬＡＮ、インターネット、その他のネットワーク規模を問わない。
【００２２】
図２は、コンピューター２の構成を示すブロック図である。
コンピューター２としては、具体的には、例えば、ＰＣ（Personal Computer）、ＰＤＡ（Portable Device Assistant）、携帯電話機、スマートフォンが挙げられる。
【００２３】
コンピューター２は、制御部１１と、ＲＡＭ（Random Access Memory）１２と、ＲＯＭ（Read Only Memory）１３と、記憶部１４と、入力Ｉ／Ｆ（インターフェイス）１５と、出力Ｉ／Ｆ１６と、通信部１７とを備えている。また、入力Ｉ／Ｆ１５には、操作部１８が接続され、出力Ｉ／Ｆには、表示部１９が接続される。
【００２４】
制御部１１は、ＣＰＵを備える。制御部１１は、ＲＯＭ１３や記憶部１４に格納されている各種プログラムやデータをＲＡＭ１２に展開して種々の演算処理を行い、また、当該プログラムに基づいてコンピューター２全体の動作を統括制御する。
【００２５】
ＲＡＭ１２は、制御部１１が実行する各種プログラムやデータ等を一時的に展開し、また、各種プログラムで処理された一時データ等を記憶するための作業用メモリー空間を提供する揮発性メモリーである。ＲＯＭ１３には、制御部１１により実行されるＢＩＯＳ（Basic Input/Output System）などの制御プログラムや初期設定データが読み出し可能に記憶されている。このＲＯＭ１３は、フラッシュメモリーやＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）などでもよい。
【００２６】
記憶部１４には、種々のソフトウェア（プログラム）やアプリケーションデータが読み書き、および、利用可能に保存されている。この記憶部１４は、本実施の形態ではハードディスクであるが、これに限られない。記憶部１４は、例えば、ＳＳＤ（Solid State Disk）などであってもよい。記憶部１４に記憶されているソフトウェアの中には、印刷データ送信プログラム１４ａ、および、画像形成装置１に対応する印刷データ変換プログラム１４ｂが含まれている。
印刷データ送信プログラム１４ａは、印刷対象に指定されたＯＯＸＭＬ形式の表計算ソフトウェア出力データファイル（例えば、エクセルによる出力ファイル、以降、エクセルファイルと記す）及び印刷設定データを画像形成装置１へ送信するプログラムである。印刷設定は、例えば、ＧＵＩ画面を介してユーザーがコンピューター２の側で行った各種設定、例えば、ページ割付、余白、両面印刷や、後述するテキストボックスの自動調整のオンオフに関する設定が画像形成装置１へ送信される。印刷データ変換プログラム１４ｂは、印刷設定に基づいてＯＯＸＭＬ形式のエクセルファイルの内容を画像形成するための各種処理を行い、所定の印刷用中間言語データ形式（ＤＬ：ディスプレイリスト）によるデータを作成して画像形成装置１へ送信するためのプリンタードライバー機能を備えたプログラムである。記憶部１４には、その他、例えば、表計算ソフトウェアが記憶されており、作成データをＯＯＸＭＬ形式のエクセルファイルとして保存可能である。
なお、印刷データ送信プログラム１４ａと印刷データ変換プログラム１４ｂは、画像データの分量や必要に応じて適宜使い分けることが可能である。或いは、何れか一つのプログラムのみを備えることとしてもよい。また、印刷データ変換プログラム１４ｂは、ＯＯＸＭＬファイルを一度画像形成装置１に対応したＰＤＬ（ページ記述言語）データに変換して画像形成装置１へ送るプログラムであってもよい。
【００２７】
入力Ｉ／Ｆ１５は、制御部１１と外部機器とを接続するインターフェイスであり、外部機器からの入力信号を制御する。ここでは、入力Ｉ／Ｆ１５により制御部１１と外部機器としての操作部１８とが接続されている。この操作部１８は、例えば、キーボードやマウスである。
出力Ｉ／Ｆ１６は、制御部１１と外部機器とを接続するインターフェイスであり、制御部１１からの出力信号を制御、変換して外部へ出力する。ここでは、出力Ｉ／Ｆ１６により制御部１１と外部機器としての表示部１９とが接続されている。この表示部１９は、例えば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬＤ（Electro-Luminescent Display）からなるディスプレイである。
或いは、入力Ｉ／Ｆ１５および出力Ｉ／Ｆ１６は、タッチパネルといった入力操作と表示動作とを兼ねる機器に接続されていてもよい。また、操作部１８および表示部１９は、ケーブル等を介して外部接続されるものであってもよいし、コンピューター２の外面に一体に設けられているものであってもよい。
【００２８】
通信部１７は、回線３を介して、コンピューター２と回線３に接続された他の装置及び外部ネットワークとを接続するための通信制御を行うものであり、例えば、ＮＩＣ（Network Interface Card）である。
【００２９】
図３は、画像形成装置１の内部構成を示すブロック図である。
画像形成装置１は、画像処理装置としての情報処理部２０と、画像形成手段としてのプリンターエンジン３０などを備えている。
情報処理部２０には、制御部２１（画像解析手段、文字描画領域抽出手段、文字列画像形成領域算出手段、文字描画領域調整手段、領域配置調整手段）と、ＲＡＭ２２と、ＲＯＭ２３と、記憶部２４と、入力Ｉ／Ｆ２５と、出力Ｉ／Ｆ２６と、通信部２７と、などが含まれている。
【００３０】
制御部２１は、ＣＰＵを備える。制御部２１は、ＲＯＭ２３や記憶部２４に格納されている各種プログラムやデータをＲＡＭ２２に展開して種々の演算処理を行い、また、当該プログラムに基づいて画像形成装置１全体の動作を統括制御する。
なお、制御部２１は、画像処理に係る演算処理を行うＣＰＵと画像形成装置１全体の制御処理を行うＣＰＵとを別個に備えることとしてもよい。
【００３１】
ＲＡＭ２２は、制御部２１が実行する各種プログラムやデータ等を一時的に展開し、また、各種プログラムで処理された一時データを記憶するための作業用メモリー空間を提供する揮発性メモリーである。ＲＯＭ２３には、制御部２１により実行される制御処理のプログラムや利用される設定データが読み出し可能に記憶されている。
【００３２】
記憶部２４には、種々のソフトウェア、アプリケーションデータ、および、コンピューター２から送られた印刷設定情報や印刷対象となるエクセルファイルが読み書き、および、利用可能に保存されている。この記憶部２４は、本実施の形態ではハードディスクであるが、これに限られない。記憶部２４は、例えば、ＳＳＤ（Solid State Disk）であってもよい。
【００３３】
記憶部２４に記憶されているソフトウェアの中には、印刷制御プログラム２４ａ、および、画像形成装置１における印刷データの解析に対応する変換テーブル２４ｂが含まれている。印刷制御プログラム２４ａは、ＯＯＸＭＬ形式のエクセルファイルの内容を印刷用間言語データであるＤＬに変換するための各種処理を行うプログラムである。また、変換テーブル２４ｂは、印刷されるテキストの縦横幅を算出する際に、ディスプレイ表示に用いられるフォントと、画像形成装置１において印刷に用いられるフォントとの間での文字サイズの対応関係を示す換算テーブルである。記憶部２４には、更に、通信部２７により外部から取得されたＰＤＬ（ページ記述言語）による印刷データを解析してＤＬデータに変換する変換プログラムや、ＤＬデータを印刷用のラスター画像データに変換してプリンターエンジン３０へ出力する印刷データ出力制御プログラムが含まれている。
なお、画像形成装置１は、これらのソフトウェアやプログラムをＲＯＭ２３に予め格納して搭載し、記憶部２４を備えない構成であってもよい。また、印刷設定情報やエクセルファイルを記憶部２４に保存させずにＲＡＭ２２に記憶させて処理を行うこととしてもよい。
【００３４】
入力Ｉ／Ｆ２５は、制御部２１と外部機器とを接続するインターフェイスであり、外部機器からの入力信号を制御するインターフェイスである。ここでは、入力Ｉ／Ｆにより制御部２１と操作部２８とが接続されている。
出力Ｉ／Ｆ２６は、制御部２１と外部機器とを接続するインターフェイスであり、制御部２１からの出力信号を制御、変換して外部機器へ出力する。ここでは、出力Ｉ／Ｆ２６により制御部２１と表示部２９とが接続されている。操作部２８および表示部２９は、例えば、ＬＣＤを用いたタッチパネルである。或いは、それぞれ独立に、例えば、操作部２８として操作キー、キーボードやマウスを備え、表示部２９としてＬＣＤや有機ＥＬＤからなるディスプレイを備えることとしてもよい。また、操作部２８および表示部２９は、画像形成装置１に含まれるものとしてもよい。操作部２８は、ユーザーからの操作を受け付けて入力信号を生成し、生成した入力信号を制御部２１に出力する。表示部２９は、制御部２１から出力される表示信号に従って各種設定画面、動作状況や処理結果等を表示する。
【００３５】
通信部２７は、画像形成装置１と外部ネットワークとを回線３を介して接続するための通信制御を行うものであり、例えば、ＮＩＣ（Network Interface Card）である。
【００３６】
プリンターエンジン３０は、情報処理部２０から送られる印刷用のラスター画像データに基づいて画像形成（印刷）処理を行う。プリンターエンジン３０に採用可能な印刷方式は、特に限られないが、例えば、電子写真方式、インクジェット方式、熱転写方式、および、オフセット等が挙げられる。
【００３７】
次に、ＯＯＸＭＬ形式のエクセルファイルを印刷する際に実行されるテキスト部分の表示調整について説明する。
図４は、ＯＯＸＭＬ形式のエクセルファイルに含まれるファイルの構成を示した図である。
【００３８】
ＯＯＸＭＬ形式のエクセルファイル（拡張子が.xlsx）は、少なくとも複数のＸＭＬファイル（拡張子が.xml）及び関連ファイル（拡張子が.rels）がＺＩＰ形式で圧縮、格納されたアーカイブファイルである。例えば、一のエクセルファイル（ここでは、サンプル.xlsx）は、[Content_Types].xmlと、_rels、xlの両フォルダーに含まれるファイルとにより構成されている。
【００３９】
フォルダーxl内のファイルworkbook.xmlは、エクセルファイルにおけるワークブック全体の構成を示すファイルであり、また、styles.xmlは、ワークブック全体におけるデフォルトフォント情報などを所持するスタイルファイルである。
また、フォルダーworksheetsには、ファイルsheetY.xmlが格納される。ここで、Yは、整数であり、シート番号を示す。即ち、ファイルsheet1.xmlは、ワークシート１の内容を示すファイルであり、ワークシート１の各セルに記載された内容が記憶されている。
【００４０】
フォルダーdrawingsには、ファイルdrawingY.xml（Yは整数、シート番号を示す）が格納される。ファイルdrawing1.xmlには、ワークシート１に挿入された図形やテキストボックスに係るデータが記憶される。
【００４１】
図５〜図７は、drawing1.xmlファイルに記録された内容の例をそれぞれ一部分ずつ示した図である。
【００４２】
ファイルdrawing1.xmlでは、図５、図６に示すように、シェイプクラス”xdr:sp”に係る記載部分、即ち、開始タグ”<xdr:sp>”（図５（ａ１））によって開始し、終了タグ”</xdr:sp>”（図６（ｂ６））により終了する範囲内に、一個の図形やテキストボックスに関するデータが記載される。先ず、テキストボックスについては、シェイププロパティ”<xdr:spPr>”による記載部分において、始点位置へのオフセット値を示すクラス”a:off”と、始点からの長さを示すクラス”a:ext”とを用いて図形やテキストボックスの挿入された領域が特定されている（ａ２）。また、図５の例において、プリセットジオメトリークラス”a:prstGeom”を用いて形状が四角形であるとの設定”rect”がなされている（ａ３）。
【００４３】
続いて、図６に示すように、このシェイプクラスに係る記載部分において、テキストボディクラス”<xdr:txBody>”を用いて、上記のテキストボックス内に記載されたテキストやテキストに係る情報が表されている。また、ボディプロパティタグ”<a:bodyPr>”の属性”anchor”によりテキストボックス内の文章が上揃え”t”であることが示されている（ｂ１）。
【００４４】
このテキストボディクラス内で、一パラグラフのテキスト及び当該テキストについての情報は、パラグラフ開始タグ”<a:p>”、及び、パラグラフ終了タグ”</a:p>”の間に記載されている。このパラグラフタグによる記載部分において、ランプロパティ開始タグ”<a:rPr>”、及び、ランプロパティ終了タグ”</a:rPr>”の間にフォント情報（ｂ２、ｂ４）が記載され、続いて、表計算ソフトウェアでテキストボックスを用いて入力されたテキストがテキスト開始タグ”<a:t>”、及び、テキスト終了タグ”</a:t>”の間に記載されている（ｂ３、ｂ５）。図６の例では、日本語テキスト（ｂ３）に対してはＭＳ明朝フォントが設定され（ｂ２）、英語テキスト（ｂ５）に対してはＡｒｉａｌフォントが設定されている（ｂ４）。
なお、スペースの配置やフォントの切り替わりなどにより、ファイル内では、一パラグラフ分のテキストが複数のテキストタグ内に分割されて記載される場合がある。また、プロポーショナルフォントが選択されている場合には、カーニングといった文字間隔の調整が行われることもある。また、テキストデータとして、スペースのみが記録されているような部分もありうる（ｂ７）。このような一パラグラフ分のテキストは、まとめて取得されて、テキスト文字列の文字幅の算出は、一行ごとに行われる。
【００４５】
図７には、ファイルdrawing1.xmlの他の部分に記載された表示例、および、ファイルstyles.xmlの記載例の一部を示す。
【００４６】
図７（ａ）に示すファイルdrawing1.xmlの記載部分には、テキストボディクラス内において、パラグラフタグ”<a:p>”及び”</a:p>”に囲まれた部分が６箇所あり、そのうち５箇所には、テキストタグ”<a:t>”及び”</a:t>”を用いたテキストの記載ｃ１〜ｃ５がある。ここで、これらのテキストの記載ｃ１〜ｃ５に対しては、フォントの設定が行われていない。このような場合には、ファイルstyles.xmlに記載されたデフォルト設定のフォントが利用される。図７（ｂ）に示すように、ファイルstyles.xmlにおいて、デフォルトフォント設定としては、サイズ１１のＭＳＰゴシックフォントが指定されている。従って、テキストｃ１〜ｃ５は、サイズ１１のＭＳＰゴシックにより表示、及び、印刷がなされる。
【００４７】
次に、画像形成装置において印刷データを生成する処理動作について説明する。
図８は、画像形成装置１の制御部２１が実行する印刷データ生成処理の制御手順を示すフローチャートである。
【００４８】
この印刷データ生成処理は、コンピューター２から印刷データとして送られたＯＯＸＭＬ形式のファイル及び印刷設定データを受信することにより開始される。
【００４９】
印刷データ生成処理が開始されると、ＣＰＵを含む制御部２１は、先ず、コンピューター２から送られてきたユーザーの印刷設定を取得する（ステップＳ１）。この印刷設定には、ページ割付、余白、両面印刷などの一般的な印刷設定と共に、印刷データ生成処理において、印刷対象となるテキストボックスを自動調整するか否かに関する設定が含まれている。なお、画像形成装置１において操作部２８への入力操作に基づいて別個に印刷設定行うことを可能とし、この印刷設定をコンピューター２から送られた印刷設定データより優先して用いることとしても良い。
【００５０】
制御部２１は、続いて、受信したＯＯＸＭＬファイルを解凍、展開して解析に必要な各ファイルを取得する（ステップＳ２）。ここで、取得されたファイルのうち、drawingY.xml、及び、styles.xmlがテキストボックスの自動調整に関係するファイルである。次に、制御部２１は、画像形成装置１においてＯＯＸＭＬファイルを印刷する際に必要な印刷データの設定を行う（ステップＳ３）。
【００５１】
制御部２１は、次に、印刷対象ファイル内の各印刷要素を順番に選択して、ＤＬデータを作成するための解析を行う（ステップＳ４）。それから、制御部２１は、自動調整機能がオンに設定されているか否かを判別する（ステップＳ５）。自動調整機能がオンではないと判別された場合には、制御部２１の処理は、ステップＳ１２に移行して、選択された印刷要素に基づき、従来通りにＤＬデータを生成する。
【００５２】
一方、自動調整機能がオンに設定されていると判別された場合には、次いで、制御部２１は、選択された解析対象の印刷要素がテキストボックスであるか否かを判別する（ステップＳ６）。解析対象がテキストボックスではないと判別された場合には、制御部２１による処理は、ステップＳ１２へ移行し、選択された印刷要素に基づき、従来通りに印刷用のＤＬデータを生成する。
【００５３】
選択された解析対象の印刷要素がテキストボックスであると判別された場合には、続いて、制御部２１は、このテキストボックスの解析において、先ず、テキストボックスのサイズを取得する（ステップＳ７）。
【００５４】
次に、制御部２１は、当該テキストボックスの記載を一行ごとに解析し、印刷時の各行の縦横方向における幅を算出する（ステップＳ８）。具体的には、制御部２１は、パラグラフ開始タグ”<a:p>”、及び、パラグラフ終了タグ”</a:p>”の間に記載された内容に基づき、先ず、フォント情報を抽出し、次に、一パラグラフ分のテキストデータを取得する。それから、制御部２１は、取得されたテキストデータについて、一行ごとの縦横幅を印刷時の値に換算して算出する。制御部２１は、変換テーブル２４ｂにアクセスして、印刷指定フォントについての変換テーブルが存在する場合には、一行分のテキストデータに含まれる文字、又は、必要に応じて文字列について、印刷時の長さを取得する変換テーブルがない場合には、代替フォントが指定されて算出される。制御部２１は、テキストボディクラス内でパラグラフ開始タグを検出するごとに繰り返し上記の処理を実行する。
【００５５】
制御部２１は、印刷時にテキストボックス内に表示される文章サイズの縦横幅を取得する。即ち、制御部２１は、テキストボックスへの記載が横書きの場合には、ステップＳ８の処理で算出された全ての行のテキスト幅の値の中で最大のものを文章サイズの横幅として取得し、また、全ての行の縦幅を加算した値を文章サイズの縦幅として取得する（ステップＳ９）。制御部２１は、求められた印刷時の文章サイズがテキストボックスのサイズより大きいか否かを縦幅及び横幅に対して各々判別する（ステップＳ１０）。文章サイズがテキストボックスの縦幅及び横幅の何れのサイズよりも大きくないと判別された場合には、制御部２１の処理は、ステップＳ１２へ移行し、解析されたテキストとテキストボックスとに基づいて従来通りＤＬデータを作成する。一方、文章サイズの縦幅と横幅の少なくとも一方がテキストボックスの縦幅又は横幅より大きいと判別された場合には、制御部２１は、文章サイズに合わせてテキストボックスの位置とサイズを調整する（ステップＳ１１）。
【００５６】
このテキストボックスの調整処理として、制御部２１は、具体的に、先ず、テキストボックスのサイズを拡大する処理を行う。例えば、横幅が不足している場合には、テキストボックスの横幅を拡大し、縦幅が不足している場合には、テキストボックスの高さを拡大する処理を行う。横幅方向の処理と、高さ方向の処理は、独立に行われ、幅が充足している向きにはテキストボックスの拡大を行わないようにすることが可能であるが、どちらか一方を拡大する場合には、テキストボックスを元の形状の相似図形に拡大させることとしてもよい。テキストボックスの拡大処理の際には、例えば、テキストボックスの左上の頂点位置を固定して、幅及び高さの大きさを変更する。
【００５７】
それから、制御部２１による処理は、ステップＳ１２に移行し、調整されたテキストボックスのサイズに基づいてＤＬデータの作成を行う。
【００５８】
ステップＳ１２の処理でＤＬデータが作成されると、制御部２１は、ワークシート内の全ての印刷要素についての解析が終了したか否かを判別する（ステップＳ１３）。全ての印刷要素の解析がまだ終了していないと判別された場合には、制御部２１による処理は、ステップＳ４へ戻る。そして、次の印刷要素について、ステップＳ４〜Ｓ１２の処理を繰り返す。
【００５９】
ステップＳ１３の判別処理で全ての印刷要素の解析が終了したと判別された場合には、制御部２１は、印刷データ生成処理を終了する。
【００６０】
ここで、テキストボックスが複数個存在する場合には、ステップＳ７〜Ｓ１２の処理が当該複数回行われる。このとき、ステップＳ１１の処理によりテキストボックスのサイズが変更されて大きくなった場合には、他のテキストボックスと重なってしまう場合がある。そこで、全てのテキストボックスの調整が終わって印刷データ生成処理が終了した後に、テキストボックス位置の調整が行われる。
【００６１】
図９には、このようなテキストボックス位置の調整例を示す。
本実施形態における複数のテキストボックス位置の調整方法としては、先ず、平行移動が選択される。図９（ａ）に示すように、２つのテキストボックスが重なっている場合には、そのうちの片方又は両方を当該重なっている位置から離す方向へテキストボックスを移動させる（図９（ｂ））。
【００６２】
次に、上記のように２つのテキストボックスが重ならないように移動させると、他の第３のテキストボックスと重なってしまったり、複数のテキストボックスを複雑に移動させる必要が生じたりする場合がある（図９（ｃ））。このような場合には、先ず、移動対象のテキストボックスを他の第３のテキストボックスと重ならない範囲で移動させる。そして、当該テキストボックスが他のテキストボックスの隙間に納まらない分に関して、テキストボックスの隙間に納まる範囲にまで表示フォント及びテキストボックスのサイズを縮小する（図９（ｄ））。
【００６３】
また、図９（ｅ）に示すように、テキストボックスが拡大された結果、紙面からはみ出してしまう場合がある。このような場合には、テキストボックスを紙面からはみ出た方向とは反対向きに移動させることで、印刷面内に収めることができる。
【００６４】
以上のように、本実施形態の画像形成装置１によれば、ＯＯＸＭＬ形式のエクセルファイルが入力されると、このエクセルファイルを解析してディスプレイリストを生成する際にテキストボックスを検出してテキストボックスのサイズを取得すると共に、テキストボックス内に記載されたテキストについて、一行ごとに印刷時のフォントサイズに基づいて印刷された時の縦横幅を算出することで、テキストの表示サイズを取得する。そして、テキストボックスのサイズとテキストの表示サイズとを比較して、縦幅又は横幅の少なくとも何れかにおいて、テキストの表示サイズの方が大きい場合には、テキストが全てテキストボックスのサイズに納まるようにテキストボックスのサイズを調整したのちにＤＬデータを作成する。このようなテキストボックスサイズの自動調整機能を有することで、印刷時のフォントサイズのずれによりテキスト画像が印刷時に崩れるのを容易に防ぐことが出来る。
【００６５】
また、テキストボックスのサイズの調整を行う場合には、テキストボックスを相似拡大するだけではなく、縦幅及び／又は横幅の不足分のみをそれぞれ拡大することが可能なように構成されているので、必要のない部分までテキストボックスを拡大することなくテキストボックスサイズの自動調整を行うことが出来る。
【００６６】
また、テキストボックスが複数検出された場合には、全てのテキストボックスの自動調整が終了した後に、これらのテキストボックスが拡大したことで重複していないかを確認する。そして、重複箇所があった場合には、各々の表示位置を移動させる。従って、単に各テキストボックスの印刷画像を崩さないだけではなく、テキストボックスの重複箇所がない印刷を行わせることが出来る。
【００６７】
また、複数のテキストボックスの重複箇所があった場合に、テキストボックスの表示位置を移動させても重複箇所の解消が出来ない場合には、当該重複するテキストボックス内のテキストに設定されているフォントのサイズを縮小することで、重複箇所を解消する。従って、出来る限り指定されたフォントサイズを維持しつつ、必要な場合にのみ必要な範囲でフォントサイズを縮小して、テキスト印刷部分の見た目を大きく変更させず、且つ、表示の崩れを防ぐことが出来る。
【００６８】
また、テキストボックスの自動調整をしたくない場合には、自動調整を行わないように設定することができる。
【００６９】
また、画像処理部において、上記のようにして自動調整されて作成されたＤＬデータをラスターイメージデータに変換し、更にプリンターエンジンに出力して画像形成を行うことが出来るので、ユーザーが印刷データを確認しながらテキストボックスのサイズを手動で調整しなおす必要がない。
【００７０】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、ＯＯＸＭＬ形式の表計算ソフトウェア出力データファイルは、エクセルで作成されたものに限らず、他の表計算ソトウェアで作成されたものであってもよい。また、表計算ソフトウェア以外のソフトウェア、例えば、スライドを作成して当該スライドによるプレゼンテーションを行う際に用いられるプレゼンテーションソフトウェアなどで作成されて表計算ソフトウェアの出力データファイル形式に変換されたものであっても良い。また、ＯＤＦ形式（Open Document Format）による表計算ファイルは、ＯＯＸＭＬ形式とは互換がないが、同様に、複数のＸＭＬファイルをＺＩＰ形式でアーカイブしたものであり、テキストボックス部分を検出してフォントサイズの変換処理に基づいてテキスト表示サイズを算出し、テキストボックスサイズの自動調整を行うことが可能である。
【００７１】
また、上記実施の形態では、テキストボックス同士のみの重複を考慮したが、他の埋め込み画像との重複箇所や、各セルに記載された内容との重複なども判別して表示位置を調整することとしてもよい。
【００７２】
また、上記実施の形態では、印刷設定データをコンピューター２から送られた設定情報に基づいて設定したが、画像形成装置１の操作部２８への操作命令に基づいて設定することも可能である。
【００７３】
また、上記実施の形態では、テキストボックスとして長方形のものを例に挙げて説明したが、他の形状のテキストボックスでも同様に処理を行うことができる。この場合には、テキストの上揃え、中央揃えなどの文字揃えとも対応させて処理を行う。
【００７４】
また、以上の説明では、本発明に係るプログラムのコンピューター読み取り可能な媒体としてＨＤＤやＳＳＤといった記憶部２４を使用した例を開示したが、これに限定されない。
その他のコンピューター読み取り可能な媒体として、フラッシュメモリーなどの不揮発性メモリー、ＣＤ−ＲＯＭなどの可搬型記録媒体を適用することが可能である。
また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ（搬送波）も本発明に適用される。
その他、上記実施の携帯で示した具体的な構成、表示などの細部は、本発明の趣旨を逸脱しない範囲において変更可能である。
【符号の説明】
【００７５】
１     画像形成装置
２     コンピューター
３     回線
１１   制御部
１２   ＲＡＭ
１３   ＲＯＭ
１４   記憶部
１４ａ      印刷データ送信プログラム
１４ｂ      印刷データ変換プログラム
１５   入力Ｉ／Ｆ
１６   出力Ｉ／Ｆ
１７   通信部
１８   操作部
１９   表示部
２０   情報処理部
２１   制御部
２２   ＲＡＭ
２３   ＲＯＭ
２４   記憶部
２４ａ      印刷制御プログラム
２４ｂ      変換テーブル
２５   入力Ｉ／Ｆ
２６   出力Ｉ／Ｆ
２７   通信部
２８   操作部
２９   表示部
３０   プリンターエンジン
【図１】
2013016049.tif 000003
【図２】
2013016049.tif 000004
【図３】
2013016049.tif 000005
【図４】
2013016049.tif 000006
【図５】
2013016049.tif 000007
【図６】
2013016049.tif 000008
【図７】
2013016049.tif 000009
【図８】
2013016049.tif 000010
【図９】
2013016049.tif 000011