(57)【特許請求の範囲】
【請求項１】
ＰＤＦミドルウェアを用いてＰＤＦファイルに含まれる表を構成する文字列を取得し、表形式で再現可能な形式で以て該文字列を出力するＰＤＦデータ取り出しシステムであって、
a) 前記ＰＤＦミドルウェアにおけるＰＤＦファイルからの文字列の抽出を、文字列の属性及び文字列間の横移動量の閾値である横閾値に基づく行単位に設定する抽出単位設定部と、
b) 前記横閾値を所定の値に設定する横閾値設定部と、
c) 前記抽出単位設定部及び前記横閾値設定部の設定に従い、指定されたＰＤＦファイルから文字列を行毎に抽出する文字列データ取得部と、
d) 前記文字列データ取得部により抽出された行毎の各文字列の座標値のうちx座標値により該文字列の行方向の位置を、y座標値により該文字列の列方向の位置を決定してそれらを表形式に配置することにより再構築表を形成する表形成部と、
e) 前記再構築表を、所定のデータ形式で出力する出力部と
を有することを特徴とするＰＤＦデータ取り出しシステム。
【請求項２】
更に、
f) ユーザに前記表の直前又は直後のテキストを入力させる区切入力部
を備え、前記表形成部は、該テキストに基づいて前記表の開始又は終了を判断することを特徴とする請求項１に記載のＰＤＦデータ取り出しシステム。
【請求項３】
更に、
g) ユーザに前記表の列又は行のタイトルを入力させるタイトル入力部
を備え、前記表形成部は該タイトルに基づいて前記表の列数または行数を判断することを特徴とする請求項１又は２に記載のＰＤＦデータ取り出しシステム。
【請求項４】
ＰＤＦミドルウェアを用いてＰＤＦファイルに含まれる表を構成する文字列を取得し、表形式で再現可能な形式で以て該文字列を出力するＰＤＦデータ取り出しシステム用のコンピュータに用いられるプログラムであって、該コンピュータを、
a) 前記ＰＤＦミドルウェアにおけるＰＤＦファイルからの文字列の抽出を、文字列の属性及び文字列間の横移動量の閾値である横閾値に基づく行単位に設定する抽出単位設定部と、
b) 前記横閾値を所定の値に設定する横閾値設定部と、
c) 前記抽出単位設定部及び前記横閾値設定部の設定に従い、指定されたＰＤＦファイルから文字列を行毎に抽出する文字列データ取得部と、
d) 前記文字列データ取得部により抽出された行毎の各文字列の座標値のうちx座標値により該文字列の行方向の位置を、y座標値により該文字列の列方向の位置を決定してそれらを表形式に配置することにより再構築表を形成する表形成部と、
e) 前記再構築表を、所定のデータ形式で出力する出力部と
として機能させることを特徴とするＰＤＦデータ取り出しシステム用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書ファイルであるＰＤＦ（ポータブル・ドキュメント・フォーマット）ファイルから正しくデータを取り出すシステムに関し、特に、機器分析に用いられる各種分析装置（例えば、クロマトグラフ装置、分光光度計、質量分析装置等）により得られた各種データを含む分析レポート等のＰＤＦファイルから当該データを正しく取り出すシステムに関する。
【背景技術】
【０００２】
昨今では、分析装置の制御や分析の結果として得られた分析データの処理は、一般のコンピュータ上で動作する分析制御ソフトウエアを用いて行うのが一般的である。
このような分析制御ソフトウエアでは、レポートを作成する機能を有しているものが少なくない（例えば、非特許文献１など参照）。すなわち、ある分析に関連した複数のデータを並べて配置し、最終的にそれを分析レポートとして出力するという機能である。
通常、分析レポートは改ざんされにくく、かつ閲覧が行いやすいという点から、ＰＤＦファイル形式が主に用いられる。
【０００３】
このような分析レポートには、分析結果としての結論ばかりではなく、分析対象である試料を特定するための様々なデータの他、その結論を裏付けるためのデータが一緒に記載されることが多い。また、そのようなデータを得るに到った分析条件も記載しておくことが求められることもある。すなわち、同じ試料に対して同じ分析条件で分析を行った時に、同じデータが得られるという、再現性の保証が求められる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「LabSolutionsマルチデータレポート」、株式会社島津製作所、インターネット<http://www.an.shimadzu.co.jp/data-net/labsolutions/dbcs/mdr.htm>、[平成２７年３月１２日検索]
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これらの、試料を特定するためのデータ、分析条件のデータ、分析結果のデータ等は、次にそれらが用いられることを前提とする場合には、エクセル（登録商標）等の表計算ソフトの形式で保存されるのが一般的である。しかし、分析装置と分析データ解析装置が同一メーカーのものである場合には、両者のデータ格納形式等が一致しており、又は、分かっているため、容易に利用することができるが、両者のメーカーが異なる場合、一般的にはそのような表計算ソフト形式のままのデータを利用することができない。或いは、そもそも、そのようなデータが得られない（出力されない）こともある。
【０００６】
それに対し、各分析装置や分析データ解析装置からは分析結果のレポートが出され、上記のように、その多くはＰＤＦ形式となっている。従って、メーカーが異なっていても、分析結果レポートは利用することができる。そして、その中には分析条件データや分析結果データも含まれていることが多いため、それを用いることにより、再現分析や一部の条件を変えた分析等を行うことが可能となる。
【０００７】
分析条件データや分析結果データは、ＰＤＦファイル内において表形式で記載されているのが一般的である。ワープロソフトや表計算ソフトからＰＤＦファイルを作成する、アクロバット（登録商標）等のミドルウェアと呼ばれるソフトウェアは、ＰＤＦファイルからデータを取り出す機能も持っている。従って、ミドルウェアを用いることにより、ＰＤＦファイル中の表からデータを取り出すことはできる。
【０００８】
しかし、現在利用できるアクロバット等のミドルウェアは、次のような問題がある。例えば、図１(a)に示すような、表が含まれているＰＤＦファイルから表の部分をテキストデータとして取り出した場合、図１(b)に示されるように、表に空白のセルが存在すると、その後の部分のデータが前に詰められた状態で取り出されてしまう。また、表の前の文字データと表の後の文字データが表の中のデータと連続して取り出されるため、表だけを再構成することができない。さらに、ミドルウェアでは一般に、ＰＤＦファイルに含まれる表を構成している罫線のデータを取得することができない。よって正確に表を再現することが難しい。従って、既に行われた分析の結果を記載したＰＤＦファイルを使って同様の分析を行おうとしても、自動的に行うことができず、後の分析を行う者が再度前の分析の条件データを再構成しなければならなかったり、前の分析の結果のデータに基づいてさらなる解析を行おうとしても、再度手入力をしなければならない等の問題があった。
【０００９】
本発明は上記のような課題を解決するためになされたものであり、その主たる目的は、ＰＤＦファイルに含まれる表から正しくデータを取り出すことができるシステム及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために成された本発明に係るＰＤＦデータ取り出しシステムは、
ＰＤＦミドルウェアを用いてＰＤＦファイルに含まれる表を構成する文字列を取得し、表形式で再現可能な形式で以て該文字列を出力するＰＤＦデータ取り出しシステムであって、
a) 前記ＰＤＦミドルウェアにおけるＰＤＦファイルからの文字列の抽出を、文字列の属性及び文字列間の横移動量の閾値である横閾値に基づく行単位に設定する抽出単位設定部と、
b) 前記横閾値を所定の値に設定する横閾値設定部と、
c) 前記抽出単位設定部及び前記横閾値設定部の設定に従い、指定されたＰＤＦファイルから文字列を行毎に抽出する文字列データ取得部と、
d) 前記文字列データ取得部により抽出された行毎の各文字列の座標値のうちx座標値により該文字列の行方向の位置を、y座標値により該文字列の列方向の位置を決定してそれらを表形式に配置することにより再構築表を形成する表形成部と、
e) 前記再構築表を、所定のデータ形式で出力する出力部と
を有することを特徴とする。
【００１１】
本発明において「文字列」とは、文字、数字、記号等が1個又は複数個並んだものを言い、スペース（空白）を含んでいてもよい。ミドルウェアがＰＤＦファイルから文字列を抽出する際、その取り出し単位をオブジェクト単位、行単位、ブロック単位等とすることができる。本発明に係るＰＤＦデータ抽出システムでは、抽出単位設定部がこれを行単位に設定する。行単位で文字列を抽出する場合、ミドルウェアは、同一フォントを使用している、フォントサイズが同じである等の基準に基づき、一連の文字、数字、記号等が連なった文字列を1行であると判定するが、その際に、それらの間の横移動量が、予め定められた横閾値よりも大きい場合には、別の行として扱う。従って、横閾値設定部においてこの横移動量を適切に設定しておくことにより、指定されたＰＤＦファイルに表が含まれている場合、表の各行の各セル内のデータ（文字、数字、記号等）は、それぞれ別の行として抽出されるようになる。
【００１２】
ミドルウェアがＰＤＦファイルから文字列を抽出する際、各文字列に座標値を付す。従って、こうして抽出された各行の文字列に付された座標値に基づき、抽出された行が前記横閾値以上の横移動量により分離された文字列であるか否かを判定することができる。表形成部は、抽出した行の文字列の座標値を順次点検し、このような横方向に分離された文字列による行が複数連続する場合には、それらを横方向に並べることにより、元の表の1行（以下、これを「元行」と呼ぶ。）を再構成することができる。その際、各文字列に付された座標値（x座標値）により、各セルの位置（列位置）も再構成することができる。また、そのような元行が複数連続する場合には、それらも、1行内の各列のセルはx座標値により、複数行の各セルはy座標値により、表を再構成することができる。なお、連続する行の中に空行が含まれる場合、その前後を連続行とみなして全体で1つの表を構成するとしてもよいし、空行で表が分かれ、別々の表を構成するとしてもよい。これは、予め設定しておくことで対応することができる。
【００１３】
ただし、対象となるＰＤＦの表において、１つのセル内に複数行の文字列が含まれたセルがある場合には、その複数行のy座標の飛び間隔が小さく（半分または整数分の１）なる。これとx座標値とを用いて、表形成部はそのような複数行を含むセルを再構築する。
【００１４】
これにより、表形成部は対象ＰＤＦファイルに含まれる表を高い確率で以て特定することができる。表の中に文字列がないセルが存在していたとしても、それを空白セルとして認識することができるため、表を正しく再構築することができる。
【００１５】
出力部は、表形成部によって形成された表を所定の形式、例えばｃｓｖ形式やタブ区切り形式、ｘｍｌ形式、Ｅｘｃｅｌ形式などで出力する。
【００１６】
本発明の好適な一実施形態として、
ユーザに前記表の直前又は直後のテキストを入力させる区切入力部を更に備え、前記表形成部は、そのように入力されたテキストに基づいて前記表の開始又は終了を判断するようにすることができる。
【発明の効果】
【００１７】
本発明に係るＰＤＦデータ取り出しシステムでは、表を含むＰＤＦファイルから、該表を検知し、それに含まれる文字列を取得することができる。さらに、たとえその表に文字列が含まれない空白セルがあったとしても、その空白セルを反映した形態で以て、表を再構築することが可能である。
【００１８】
よって、分析装置の制御や分析の結果として得られた分析レポートがＰＤＦ形式で出力されていたとしても、至極簡単かつ正確に該分析レポートに含まれる表を再構築することでき、分析レポートに記載されているものと同一あるいは類似した条件で再分析や追加分析を行う必要があるような場合にユーザの手間を大幅に低減することができる。これに加え、本発明に係るＰＤＦデータ取り出しシステムにより、ユーザによる手入力処理が大幅に減少する。結果として、エラーやミスを減少させることができる。
【図面の簡単な説明】
【００１９】
【図１】ＰＤＦファイルの一表示（出力）例(a)と、該ＰＤＦファイルに含まれる表のテキストデータをコピー・ペーストした際に出力される結果の例(b)を示す図（従来技術）。
【図２】本発明に係るＰＤＦデータ取り出しシステムの一実施例を示す概略構成図。
【図３】ＰＤＦデータ取り出しシステムの動作の例を示すフローチャート。
【図４】ＰＤＦデータ取り出しシステムの動作の結果出力されるファイルの例。
【図５】ＰＤＦデータ取り出しシステムの動作における他の画面例。
【発明を実施するための形態】
【００２０】
以下、本発明に係るＰＤＦデータ取り出しシステムの実施形態の例を図面を参照しつつ詳細に説明する。
【００２１】
図２に、本発明に係るＰＤＦデータ取り出しシステム１の一実施形態を示す。本ＰＤＦデータ取り出しシステム１の実態はコンピュータであり、中央演算処理装置であるＣＰＵ（Central Processing Unit）１０にメモリ１２、ＬＣＤ（Liquid Crystal Display）等から成るモニタ（表示部）１４、キーボードやマウス等から成る入力部１６、ハードディスクやＳＳＤ（Solid State Drive）等の大容量記憶装置から成る記憶部２０が互いに接続されている。記憶部２０には、本発明に係るＰＤＦデータ取り出しシステム用プログラム２１の他、例えばアドビ社のアクロバット等のＰＤＦファイル用ミドルウェア（ＰＤＦミドルウェア）２２が記憶されている。記憶部２０にはまた、ＯＳ（Operating System）２９も記憶されている。なお、ＰＤＦミドルウェア２２は、ＰＤＦファイルから文字列を取り出す機能を持つものであれば、その他各社から市販されているものを用いることができる。
【００２２】
本実施形態に係るＰＤＦデータ取り出しシステム１は、外部装置との直接的な接続や、外部装置等とのＬＡＮ（Local Area Network）などのネットワークを介した接続を司るためのインターフェース（Ｉ／Ｆ）１８を備えており、該Ｉ／Ｆ１８よりネットワークケーブルＮＷ（又は無線ＬＡＮ）を介してクロマトグラフ質量分析装置である分析装置Ａ１に接続されている。なお、本発明に係るＰＤＦデータ取り出しシステムでは、Ｉ／Ｆ１８を介して外部に接続される分析装置は１台に限られることはなく、複数台であっても構わない。また、このＰＤＦデータ取り出しシステムが分析装置と一体化された構成とすることもできる。
【００２３】
図２に示されるように、ＰＤＦデータ取り出しシステム用プログラム２１には、抽出単位設定部３１、横閾値設定部３２、文字列データ取得部３３、表形成部３４、出力部３５が含まれている。これらはいずれも基本的にはＣＰＵ１０がＰＤＦデータ取り出しシステム用プログラム２１を実行することによりソフトウエア的に実現される機能手段である。なお、ＰＤＦデータ取り出しシステム用プログラム２１は必ずしも単体のプログラムである必要はなく、例えば分析装置を制御するためのプログラムの一部に組み込まれた機能であってもよく、その形態は特に問わない。
【００２４】
以下、フローチャートである図３を参照しつつ、ＰＤＦデータ取り出し処理の動作を具体的に説明する。
【００２５】
まず、ユーザがＰＤＦデータ取り出しシステム用プログラム２１（以下、単にプログラムと呼ぶ。）を開始する。この時、ユーザは操作の対象としてＰＤＦファイルである分析レポート５を指定する。本実施形態では、分析レポート５が図１(a)の分析報告書であるものとして説明を行う。
【００２６】
［ステップＳ２１］分析レポート５の指定が行われたことにより、抽出単位設定部３１、横閾値設定部３２、文字列データ取得部３３は、ＰＤＦミドルウェア２２と協同することにより、分析レポート５から文字列を行単位に抽出する。
すなわち、抽出単位設定部３１は、ＰＤＦミドルウェア２２の文字列抽出単位を行単位に設定し、横閾値設定部３２は更にその場合の横閾値を設定する。一つの行に含まれる文字列の中の文字間の距離がこの横閾値以上である場合、ＰＤＦミドルウェア２２はその前後の文字列を別の行に属すると判定する。この横閾値、通常は予め設定された値（例えば、普通の大きさ（例えば11ポイント）の半角スペースで2個以上、等）に設定する。これら抽出単位設定部３１及び横閾値設定部３２によりＰＤＦミドルウェア２２の設定を行った後、文字列データ取得部３３は、ＰＤＦミドルウェア２２を用いて、分析レポート５のＰＤＦファイルから行単位で各文字列を取得する。こうしてＰＤＦミドルウェア２２から出力されるデータには、抽出された文字列の他、それら文字列の座標値が含まれている。本例では、各行<L1>〜<L31>に関し、以下に示す文字列とそれらの座標値（"x:y"で表す）が得られる。なお、以下の例では文字列の区切りがカンマ(,)によって表されているが、文字列中にカンマが含まれる可能性があるような場合には、他の記号やタブなどを用いることもできる。または、座標値（x:y)そのものや座標値とカンマの組み合わせを文字列同士の区切りとしてもよい。
【００２７】
<L1> 分析報告書(40:1)
<L2> 分析結果(0:3)
<L3> サンプル１(2:5)
<L4> サンプル２(25:5)
<L5> サンプル３(50:5)
<L6> サンプル４(70:5)
<L7> 311(10:7)
<L8> 353(30:7)
<L9> 322(60:7)
<L10> 399(80:7)
<L11> 2598(7:9)
<L12> 2283(26:9)
<L13> 2033(77:9)
<L14> 
<L15> 11.3(26:13)
<L16> 13.6(60:13)
<L17> 0(85:13)
<L18> 115(10:15)
<L19> 203(26:15)
<L20> 268(60:15)
<L21> 183(80:16)
<L22> ※1(10:17)
<L23> ※2(26:17)
<L24> ※3(60:17)
<L25> 7973(7:19)
<L26> 6088(77:19)
<L27> 15(60:21)
<L28> 3(85:21)
<L29> コメント(0:23)
<L30> 今回分析を行ったサンプル１〜４のうち、サンプル４(0:25)
<L31> にのみpHの異常が見られた。これは、サンプル４の(0:27)
【００２８】
［ステップＳ２２］次に、表形成部３２は、取得された行毎の文字列と座標値のうち、横閾値以上の横移動量により分離された行が複数連続するかどうかを調べる。各行のy座標が同一である文字列が複数行に亘っている場合、それであると判断することができる。本例の場合、第3行<L3>〜第6行<L6>まで、第7行<L7>〜第10行<L10>などがそれに該当する。そして、それらの行を、x座標値に基づき1つの行（前記「元行」）に再構成する。これらの元行が複数行に亘る場合、表形成部３４はそれらを、1つの表を構成しているデータであると判断する。上記例では、空行である第14行<L14>を含む第3行<L3>〜第28行<L28>が1つの表を構成するデータであると判断される。一方、第1行<L1>、第2行<L2>、第30行<L30>及び第31行<L31>はいずれも１行が１文字列で構成されているため、普通の文章のデータであると判断される。
【００２９】
表形成部３４は、第3行<L3>から第28行<L28>までの文字列のx座標がほぼ等間隔に4つに分かれていること、すなわち列が4列あることを検出する。また、第21行<L21>のy座標が第18行〜第20行のy座標との間及び第22行<L22>〜第24行<L24>のy座標と間において、他の元行の間よりもy方向の飛び幅が小さいことを検出し、第18行<L18>から第24行<L24>がy方向に１つのセルを構成していると判断する。
【００３０】
以上のような判断、すなわち、
・第3行<L3>が表の先頭行であり、第28行<L28>が最終行である。
・列数は4列である。
・第14行<L14>には文字列がなく、空行となっている。
・第18行<L18>から第24行<L24>はy方向に1つのセルとなる。
・8行×4列の表である。
に基づき、表形成部３４は、各文字列が表の正しい位置に配置されるように表を形成する。
【００３１】
［ステップＳ２３］最後に、出力部３５は、表形成部３４によって形成された表を、予め指定された、またはこのタイミングでユーザが指定する所定のファイル形式で以て出力する（図４。なお、これはｃｓｖ形式で出力した例である。）。これでＰＤＦデータ取り出し処理が終了する。
【００３２】
図５に、本発明に係るＰＤＦデータ取り出しシステム１の別の実施形態における動作中の画面例を示す。この実施形態では、ＣＰＵ１０が分析ＰＤＦデータ取り出しシステム用プログラム２１を実行することによりソフトウエア的に実現される機能手段として、さらにタイトル入力部３６と区切入力部３７が備わっている。
【００３３】
この入力画面（タイトル入力部３６）でユーザが列のタイトルリストとして「サンプル１、サンプル２、サンプル３、サンプル４」を入力すると、表形成部３４は、これらの文字列が表の第一行（元行）目の構成要素であり、且つ、表の列数が4列であることを確定することができる。また、本実施例では行のタイトルリストを空白としているが、この欄に文字列を入力することで表の行数を確定することもできる。
【００３４】
また、この入力画面（区切入力部３７）では、終端文字列として、表の最後の文字列の直後の文字列である「コメント」をユーザが指定する。これにより、表形成部３４は文字列「コメント」の直前の文字列である「3」で表が終了することを確定することができる。図５の例では終端文字列のみが入力できるが、表の開始文字列として、ＰＤＦファイルにおいて表の一番最初の文字列の直前の文字列をユーザが入力することができるようにしてもよい。これにより、表形成部３４は表の開始文字列を決定することができる。
【符号の説明】
【００３５】
１…ＰＤＦデータ取り出しシステム
５…分析レポート（ＰＤＦファイル）
１０…ＣＰＵ
１２…メモリ
１４…モニタ
１６…入力部
１８…Ｉ／Ｆ
２０…記憶部
２１…ＰＤＦデータ取り出しシステム用プログラム
２２…ＰＤＦミドルウェア
２９…ＯＳ
３１…抽出単位設定部
３２…横閾値設定部
３３…文字列データ取得部
３４…表形成部
３５…出力部
３６…タイトル入力部
３７…区切入力部
Ａ１…分析装置
【図１】
0006719862.tif 000002
【図２】
0006719862.tif 000003
【図３】
0006719862.tif 000004
【図４】
0006719862.tif 000005
【図５】
0006719862.tif 000006