(58)【調査した分野】(Int.Cl.,DB名)
前記PDFファイル生成手段は、前記第1のPDFファイルを生成せず、前記領域オブジェクト配置手段によって前記領域オブジェクトを配置した文書ファイルから第2のPDFファイルを生成し、
前記オブジェクト配置手段は、前記第2のPDFファイルから前記領域オブジェクトを削除し、前記オブジェクト削除手段によって削除した前記フォーム情報を、前記第2のPDFファイルに、前記位置算出手段によって算出した前記位置情報に基づき配置すること、を特徴とする請求項1に記載の情報処理装置。
前記PDFファイル生成ステップは、前記第1のPDFファイルを生成せず、前記領域オブジェクト配置ステップによって前記領域オブジェクトを配置した文書ファイルから第2のPDFファイルを生成し、
前記オブジェクト配置ステップは、前記第2のPDFファイルから前記領域オブジェクトを削除し、前記オブジェクト削除ステップによって削除した前記フォーム情報を、前記第2のPDFファイルに、前記位置算出ステップによって算出した前記位置情報に基づき配置すること、を特徴とする請求項5に記載のPDFファイル生成方法。
【発明を実施するための形態】
【0010】
以下、添付図面を参照し本開示にかかる実施例を説明する。なお、以下の説明は、実施の形態の一例であり、本開示は、これらの実施例に限定されるものではない。
【0011】
図1は、本実施例にかかる情報処理装置100の構成を示すブロック図である。情報処理装置100は、パーソナルコンピュータ(以下、PCという)等のコンピュータ装置、スマートフォンやタブレットなどの携帯端末装置等であり、表計算プログラムや文書作成プログラム等のアプリケーションプログラムが動作するとともに、文書ファイルをPDFファイルに変換する際に、複数のオブジェクトの位置関係において位置ずれの生じないPDFファイルを生成するプログラムが動作する装置である。情報処理装置100は、
図1(a)に示すように、制御部11、記憶部12、ネットワークI/F部13、操作表示部14等で構成される。
【0012】
制御部11は、CPU(Central Processing Unit)11aと、ROM(Read Only Memory)11bやRAM(Random Access Memory)11c等のメモリとで構成され、CPU11aは、ROM11bや記憶部12に記憶した種々のプログラムをRAM11cに展開して実行することにより、情報処理装置100全体の動作を制御する。なお、制御部11は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)等の電子回路で構成してもよい。
【0013】
制御部11は、種々のプログラムをRAM11cに展開し実行することによって、
図1(b)に示すように、アプリケーションプログラム101、オブジェクト位置情報取得部102、オブジェクト削除部103、領域オブジェクト配置部104、文書サイズ算出部105、PDFファイル生成部106、PDFサイズ算出部107、変換率算出部108、位置情報算出部109、オブジェクト配置部110、画像ファイル生成部111、画像サイズ算出部112等として機能する。
【0014】
アプリケーションプログラム101は、文書や表を作成する表計算プログラムや文書作成プロブラム等のアプリケーションプログラム(例えば、Microsoft Excel(登録商標)やMicrosoft Word(登録商標)やMicrosoft PowerPoint(登録商標)等)であり、操作表示部14からデータの入力や編集等を受付けることによって文書ファイルの作成や編集、削除等を実行する。アプリケーションプログラム101は、作成した文書ファイルをRAM11c、または記憶部12に格納する。
【0015】
オブジェクト位置情報取得部102は、アプリケーションプログラム101で生成した文書ファイルに含まれるオブジェクトのうちの所定種別のオブジェクトの位置情報を取得する。位置情報とは、文書ファイルのページ領域における、原点(0,0)を基準としたオブジェクトの基準点の座標である。
【0016】
文書ファイルに含まれるオブジェクトとは、文書を構成するテキストデータや画像データ、図形データ、フォーム情報等のさまざまな種別のデータである。テキストデータであれば、文字列に加え、属性情報として文字サイズや文字フォント、色情報等を保持している。画像データであれば、画像データ本体に加え、属性情報としてサイズやデータ形式、色数、種別、メタデータ等を保持している。図形データの場合は、図形の種別や座標、塗り潰しの有無、色情報等を保持している。フォーム情報の場合は、位置およびサイズに加え、属性情報としてフォーム種別やフォーム名称、初期値等を保持している。
【0017】
所定種別のオブジェクトとは、文書ファイルからPDFファイルに変換した場合に、PDFファイルにおける配置位置が他のオブジェクト配置位置との関係でずれが生じるオブジェクトであり、文書ファイルに含まれるオブジェクトのうちの一部のオブジェクトである。例えば、ラジオボタンやチェックボックス、プルダウンメニュー、テキストボックス、手書き入力領域等のユーザの操作によるデータの入力を受付ける入力領域やアプリケーションプログラム101で提供しているオブジェクト(例えば、Microsoft Excelの機能であるフォームコントロールやActiveX コントロール等)、ユーザが定義したオブジェクト(例えば、Microsoft Excelのオートシェイプ機能等)、その他の文書ファイルに含まれるオブジェクトであれば、どのようなオブジェクトであってもよい。また、文書ファイルを作成するアプリケーションプログラムごとに、異なる種別のオブジェクトとしてもよい。
【0018】
オブジェクト削除部103は、文書ファイルに含まれるオブジェクトのうち、所定種別のオブジェクトを削除する。オブジェクト削除部103は、文書ファイルに含まれる、すべてのオブジェクトを削除する。オブジェクト削除部103は、文書ファイルのページごとに、削除したオブジェクトの文書ファイルにおける位置情報とオブジェクトに関する情報を記憶部12に格納する。
【0019】
領域オブジェクト配置部104は、文書ファイルのページ領域の境界部を示す領域オブジェクトを文書ファイルに配置する。領域オブジェクトとは、文書ファイルにおけるオブジェクトを配置できる範囲(すなわち、文書ファイルのページ領域の境界部)を示すために配置するオブジェクトであり、具体的には、線分や点等である。
【0020】
文書サイズ算出部105は、文書ファイルに配置した領域オブジェクトから文書ファイルを画面に表示、または印刷した際のページごとのサイズを算出する。より具体的には、文書サイズ算出部105は、文書ファイルの各ページのサイズとして、X軸方向の長さ、Y軸方向の長さを算出する。なお、文書ファイルの各ページが同一のサイズである場合は、1ページのサイズのみ算出してもよい。
【0021】
PDFファイル生成部106は、文書ファイルをPDF形式に変換してPDFファイルを生成する。PDFファイル生成部106は、アプリケーションプログラム101が提供する文書ファイルからPDFファイルに変換する機能を実行し、PDFファイルを生成する。アプリケーションプログラム101で作成される文書ファイルのデータ構造は、公開されていないことが一般的であるため、アプリケーションプログラム101が提供する機能を用いてPDFファイルを生成する。
【0022】
PDFサイズ算出部107は、領域オブジェクトを含むPDFファイルからPDFファイルを画面に表示または印刷した際のページのサイズを算出する。より具体的には、PDFサイズ算出部107は、PDFファイルの各ページのサイズとして、X軸方向の長さ、Y軸方向の長さを算出する。なお、PDFファイルの各ページが同一のサイズである場合は、1ページのサイズのみ算出してもよい。
【0023】
変換率算出部108は、文書ファイルにおけるページごとのサイズと、PDFファイルにおけるページごとのサイズに基づいて、文書ファイルからPDFファイルに変換した場合に、PDFファイルのサイズがどの程度拡大または縮小したかを示す変換率を算出する。
【0024】
位置情報算出部109は、変換率を用いて、記憶部12に記憶するオブジェクトごとの文書ファイルの各ページにおける位置情報から、PDFファイルの各ページにおける位置情報を算出する。また、位置情報算出部109は、オブジェクト自体の大きさを変換率を用いて算出する。
【0025】
オブジェクト配置部110は、位置情報算出部109によって算出した位置情報に基づいて文書ファイルから削除したオブジェクトそれぞれをPDFファイル上に配置する。
【0026】
画像ファイル生成部111は、PDFファイルから画像ファイルを生成する。画像ファイルは、例えばBMP、PNG、JPG、GIF、TIF形式等の画像ファイルである。
【0027】
画像サイズ算出部112は、領域オブジェクトを含む画像ファイルから画像ファイルを画面に表示または印刷した際のページごとのサイズを算出する。より具体的には、画像サイズ算出部112は、画像ファイルの各ページのサイズとして、X軸方向の長さ、Y軸方向の長さを算出する。
【0028】
記憶部12は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等で構成され、CPU11aが各部を制御するためのプログラム、各種制御情報、アプリケーションプログラム101、アプリケーションプログラム101で作成した文書ファイル、文書ファイルから削除したオブジェクトごとの位置情報やオブジェクトに関する情報、文書ファイルをPDF形式に変換したPDFファイル、画像ファイル、中間ファイル等を記憶する。
【0029】
ネットワークI/F部13は、NIC(Network Interface Card)やモデム等で構成され、ネットワークを介して他の装置と互いに通信可能に接続し、他の装置とデータを送受信する。ネットワークは、インターネット、イントラネット、LAN(Local Area Network)やVPN(Virtual Private Network)、移動体通信網等の任意の通信ネットワークおよびその組合せであり、その一部または全部が有線または無線であってもよい。
【0030】
操作表示部14は、アプリケーションプログラム101、およびその他のプログラムでの操作等を受付け、操作等に対する結果を表示する。操作表示部14は、アプリケーションプログラム101で作成した文書ファイルやPDFファイルの表示画像等を表示する。操作表示部14は、例えばPCの場合は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機EL(electroluminescence)ディスプレイ等の表示装置やキーボード、マウス等の入力装置であり、タブレット端末、スマートフォンの場合は、液晶ディスプレイとタッチセンサを重畳して構成するタッチパネル等である。
【0031】
上述のように構成された情報処理装置100で実行するPDFファイル生成処理について説明する。
図2は、情報処理装置100で実行されるアプリケーションプログラム101の操作手順を示すフローチャートである。
【0032】
操作表示部14は、アプリケーションプログラム101上での操作を受付け、アプリケーションプログラム101は操作に応じた処理を実行する(ステップS201)。アプリケーションプログラム101は、アプリケーションプログラム101を終了するか否かを判断する(ステップS202)。具体的には、アプリケーションプログラム101の終了指示を受付けたか否かを判断する。アプリケーションプログラム101を終了すると判断した場合は(ステップS202:Yes)、アプリケーションプログラム101を終了する。
【0033】
アプリケーションプログラム101を終了しないと判断した場合は(ステップS202:No)、アプリケーションプログラム101は、文書ファイルに対するPDFファイルの生成指示を受付けたか否かを判断する(ステップS203)。ここでのPDFファイルの生成指示は、アプリケーションプログラム101の1機能としての指示である。
【0034】
PDFファイルの生成指示を受付けた場合(ステップS203:Yes)、PDFファイル生成処理を実行する(ステップS204)。詳細は後述する。PDFファイルの生成指示を受付けない場合(ステップS203:No)には、ステップS201に戻り、アプリケーションプログラム101の他の操作を受付け実行する。
【0035】
なお、上述した説明では、アプリケーションプログラム101の1機能としてのPDFファイルの生成指示を受付け、PDFファイル生成処理を実行したが、それに代えて、ファイルマネージャーから文書ファイルを選択し、文書ファイルに対するPDFファイルの生成指示を受付け、PDFファイル生成処理を実行してもよい。
【0036】
次に、ステップS204のPDFファイル生成処理の詳細について説明する。
図3は、情報処理装置100が実行するPDFファイル生成処理手順を示すフローチャートである。
【0037】
オブジェクト位置情報取得部102は、文書ファイルに含まれる所定種別のオブジェクトの位置情報を取得する(ステップS301)。
図4は、PDFファイルのオブジェクトの位置を調整する処理の流れを示す説明図である。
図4(a)に示す文書ファイルにおいて、文書ファイルの原点41の座標(0,0)を基準としたオブジェクト42の位置情報(Xa,Ya)を取得する。なお、水平方向(左→右)をX軸方向、垂直方向(上→下)をY軸方向とする。オブジェクト位置情報取得部102は、文書ファイルにおける位置情報をオブジェクトの種別、オブジェクトに関する情報とともに記憶部12に格納する。対象となるオブジェクトの種別が複数ある場合や同一の種別のオブジェクトが複数ある場合は、オブジェクトを識別する情報とオブジェクトそれぞれの位置情報とオブジェクトに関する情報とを対応付けて記憶部12に格納する。
【0038】
オブジェクト削除部103は、所定種別のオブジェクト、すなわちオブジェクト位置情報取得部102によって位置情報を取得したオブジェクトを削除する(ステップS302)。
図4(b)は、所定種別のオブジェクトを削除した文書ファイルを示す。PDFファイル生成部106は、所定種別のオブジェクトを削除した文書ファイルからPDFファイル(以下、第1のPDFファイルという)を生成する(ステップS303)。
図4(c)は、文書ファイルをPDF形式に変換したPDFファイルを示す。この例では、PDFファイルは、文書ファイルよりX軸方向、Y軸方向のいずれにも縮小している。
【0039】
領域オブジェクト配置部104は、文書ファイルにページ領域の境界部を示す領域オブジェクトを配置する(ステップS304)。ページ領域とは、文書1ページとして設定された領域であり、文書が複数ページある場合は、ページごとに設定された領域である。
図4(d)は、ページ領域の境界部に領域オブジェクト43(具体的には、4本の線分)を配置した文書ファイルである。
【0040】
文書サイズ算出部105は、文書ファイルのサイズを算出する(ステップS305)。より具体的には、文書ファイルに配置された領域オブジェクトの位置情報から文書1ページのX軸方向およびY軸方向の長さを算出する。
図4(d)に示すように、領域オブジェクト43のX軸方向の長さLxaとY軸方向の長さLyaを算出する。PDFファイル生成部106は、領域オブジェクトを含む文書ファイルからPDFファイル(以下、第2のPDFファイルという)を生成する(ステップS306)。
図4(e)は、文書ファイルをPDF形式に変換したPDFファイルである。
【0041】
PDFサイズ算出部107は、第2のPDFファイルのサイズを算出する(ステップS307)。より具体的には、第2のPDFファイルに配置された領域オブジェクトの位置情報からX軸方向およびY軸方向の長さを算出する。
図4(e)に示すように、領域オブジェクト43のX軸方向の長さLxbとY軸方向の長さLybを取得する。なお、第1のPDFファイルのサイズと第2のPDFファイルのサイズは、当然同一となる。
【0042】
変換率算出部108は、文書1ページのサイズとPDF1ページのサイズから変換率を算出する(ステップS308)。具体的には、X軸方向の変換率CRx、Y軸方向の変換率CRxを下記のように算出する。
CRx=Lxb/Lxa
CRy=Lyb/Lya
【0043】
位置情報算出部109は、変換率を用いてPDFファイル上のオブジェクトの位置情報を算出する(ステップS309)。
図4(f)は、オブジェクト42の位置情報を示したPDFファイルである。具体的には、オブジェクト42の位置情報(Xb,Yb)は、下記の式を用いて算出する。なお、オブジェクトのサイズも変換率を用いて算出してもよい。
Xb=Xa*CRx
Yb=Ya*CRy
【0044】
オブジェクト配置部110は、第1のPDFファイルに、オブジェクトを算出した位置情報に基づいて配置する(ステップS310)。
図4(g)は、PDFファイルのサイズに応じた位置情報にオブジェクト42を配置したPDFファイルを示す。
【0045】
このように、文書ファイルをPDF形式に変換してPDFファイルを生成する際に、位置ずれが生じるオブジェクトがあっても、文書ファイルからPDFファイルに変換する変換率を算出し、変換したPDFファイルに応じた位置情報でオブジェクトを配置することができるため、オブジェクトの位置ずれを解消することができる。これにより、ユーザが文書を作成する際に意図した位置にオブジェクトが配置することができ、位置ずれによって生じていた修正作業を削減することができる。なお、PDFファイルから削除する、所定種別のオブジェクトは、PDFに含まれるすべてのオブジェクトであってもよい。
【0046】
上述した実施例では、領域オブジェクトとして、線分をPDFファイルに配置したが、線分に代えて、点やその他の図形であってもよい。点の場合は、ページ領域の4隅に4つの点を配置しても、対角する2点を配置してもよい。
【0047】
他の実施例として、ステップS303の第1のPDFファイルを生成せず、領域オブジェクトを含む第2のPDFファイルを生成し、第2のPDFファイルに文書ファイルから削除したオブジェクトをPDFファイルに応じた位置情報に配置したうえで、領域オブジェクトを削除して最終的なPDFファイルを生成してもよい。また、領域オブジェクトを透明なオブジェクトとし、PDFファイルから削除することなく、最終的なPDFファイルとしてもよい。
【0048】
さらに、他の実施例として、第2のPDFファイルから画像ファイルを生成し、画像ファイルのサイズからPDFファイルに配置すべきオブジェクトの位置を算出する場合について説明する。上述した実施例の
図2の処理は共通するため、
図2の処理は、上述した説明を参照する。ここでは、
図2のステップS204のPDFファイル生成処理について説明する。
【0049】
図5は、情報処理装置100が実行するPDFファイル生成処理手順を示すフローチャートである。
図5のステップS501〜S506は、
図3のステップS301〜S306と共通するため、上述した説明を参照し、ここでの説明を省略する。
【0050】
ステップS507において、画像ファイル生成部111は、第2のPDFファイルから画像ファイルを生成する(ステップS507)。
図6は、PDFファイルのオブジェクトの位置を調整する処理の流れを示す説明図である。
図6(a)〜(e)は、
図4での説明と同様であり、
図4での説明を参照する。
図6(f)に示すように、
図6(e)のPDFファイルから画像ファイルを生成する。
【0051】
画像サイズ算出部112は、画像ファイルのサイズを算出する(ステップS508)。より具体的には、画像ファイルに配置された領域オブジェクトからページごとのX軸方向およびY軸方向の長さを算出する。
図6(f)に示すように、領域オブジェクト63のX軸方向の長さLxbとY軸方向の長さLybを取得する。より具体的には、画像ファイルのデータにおける領域オブジェクトの色と背景の色の違いによって領域オブジェクトの配置位置を認識し、認識した領域オブジェクトの配置位置から、領域オブジェクト63のX軸方向の長さLxbとY軸方向の長さLybを取得する。なお、第1のPDFファイルのサイズと画像ファイルのサイズは同一である。
【0052】
変換率算出部108は、文書1ページのサイズと画像1ページのサイズから変換率を算出する(ステップS509)。具体的には、X軸方向の変換率CRx、Y軸方向の変換率CRxを下記のように算出する。
CRx=Lxb/Lxa
CRy=Lyb/Lya
【0053】
位置情報算出部109は、変換率を用いてPDFファイル上のオブジェクトの位置情報を算出する(ステップS510)。
図6(f)は、オブジェクト62の位置情報を示した画像ファイルである。具体的には、オブジェクト62の位置情報(Xb,Yb)は、下記の式を用いて算出する。なお、オブジェクトのサイズも変換率を用いて算出してもよい。
Xb=Xa*CRx
Yb=Ya*CRy
【0054】
オブジェクト配置部110は、第1のPDFファイルに、オブジェクトを算出した位置情報に基づいて配置する(ステップS511)。
図6(g)は、PDFファイルのサイズに応じた位置情報でオブジェクト62を配置したPDFファイルを示す。
【0055】
このように、文書ファイルをPDF形式に変換し、さらに画像ファイルを変換しても、文書ファイルから画像ファイルに変換する変換率を算出し、変換したPDFファイルに応じた位置情報でオブジェクトを配置することができるため、オブジェクトの位置ずれを解消することができる。これにより、ユーザが文書を作成する際に意図した位置にオブジェクトが配置することができ、位置ずれによって生じていた修正作業を削減することができる。なお、PDFファイルから削除する、所定種別のオブジェクトは、PDFに含まれるすべてのオブジェクトであってもよい。
【0056】
上述した実施例のいずれも、ユーザの操作するPC等でアプリケーションプログラム101が動作する場合だけではなく、ユーザの操作するPC等からネットワークを介して接続するウェブサーバ等で動作するアプリケーションプログラムで文書ファイルを作成する場合にも上述した機能を実行させることができる。
【0057】
情報処理装置100で動作するプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納しておき、ネットワーク経由でダウンロードさせることにより提供したり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、DVD、USBメモリ、SDカード等のコンピュータで読取り可能な記録媒体に記録し提供してもよい。また、上述した機能や処理を実現するプログラムは、API(Application Programming Interface)での提供やSaaS(Software as a Service)、クラウドコンピューティングという利用形態で提供してもよい。
【0058】
なお、本発明は、上述した実施例そのままに限定されるものではなく、必ずしも物理的に図示のように構成されている必要はない。また、本発明は、実施例で説明した構成の全部または一部を、各種の負荷や使用状況などに応じ、任意の単位で機能的または物理的に分割、統合、入替、変形または削除して構成することができる。
【解決手段】領域オブジェクト配置部104は所定種別のオブジェクトを削除した文書ファイルに領域オブジェクトを配置し、文書サイズ算出部105は文書ファイルのサイズを算出し、PDFファイル生成部106は所定種別のオブジェクトを削除した文書ファイルから第1のPDFファイルを生成し、領域オブジェクトを配置した文書ファイルから第2のPDFファイルを生成し、PDFサイズ算出部107は、第2のPDFファイルのサイズを算出し、変換率算出部108は、文書ファイルのサイズと第2のPDFファイルのサイズから変換率を算出し、位置情報算出部109は、変換率を用いてオブジェクトの位置情報を算出し、オブジェクト配置部110は、所定種別のオブジェクトを第1のPDFファイルに位置情報に基づき配置する。