JP3689441B2 - Electronic filing device and electronic filing method - Google Patents

Electronic filing device and electronic filing method Download PDF

Info

Publication number
JP3689441B2
JP3689441B2 JP30044594A JP30044594A JP3689441B2 JP 3689441 B2 JP3689441 B2 JP 3689441B2 JP 30044594 A JP30044594 A JP 30044594A JP 30044594 A JP30044594 A JP 30044594A JP 3689441 B2 JP3689441 B2 JP 3689441B2
Authority
JP
Japan
Prior art keywords
driver
electronic filing
print
application program
drawing information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP30044594A
Other languages
Japanese (ja)
Other versions
JPH08161467A (en
Inventor
良和 横溝
杉浦  進
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP30044594A priority Critical patent/JP3689441B2/en
Priority to US08/560,496 priority patent/US5907835A/en
Publication of JPH08161467A publication Critical patent/JPH08161467A/en
Application granted granted Critical
Publication of JP3689441B2 publication Critical patent/JP3689441B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、電子ファイリングを行なうためのプリントドライバを有する電子ファイリング装置および電子ファイリング方法に関するものである。
【0002】
【従来の技術】
従来、DTPアプリケーションは、それを開発するメーカ毎にバラバラのフォーマットでデータを保存していたので、異なるメーカ間のファイルのやり取りは困難であった。この問題を解決するツールとして、各種のフィルタが提供されていた。
【0003】
【発明が解決しようとする課題】
上記フィルタの必要個数は、使用するアプリケーションの数によって変化し、例えば10種類のアプリケーションが必要とするフィルタの組合せの個数は、10C2通りになるので、膨大なフィルタ処理が必要となる。
【0004】
ただし、一旦中間ファイルに落すやり方をすれば、その数は10通りで済むが、それでもアプリケーションの数分まで必要となる。
【0005】
また、小形で安価な電子ファイリング装置を実現するためには、必然的に市販のパーソナルコンピュータ(以下パソコン)をベースにしたファイリング装置を実現することになる。
【0006】
そして、電子ファイリングに必須の機能要素としては、スキャナ,OCR,キーワード検索機能,(光磁気)ディスク装置等を備えている。「紙」に印刷された文書をスキャナで読んで保存するのが基本である。その際、検索を容易にするためにOCR処理部で文字情報をコード化し、キーワードを自動的に拾い出して一緒に保存する訳である。
【0007】
専用機であれば、これだけの機能で十分であるが、パソコンをベースに電子ファイリングを行うためには、対象とする文書は「紙」に印刷された文書だけでは不十分で、キーボードから入力して作成したようなDTP文書も統一的に扱う必要性が出てくる。
【0008】
ところが、DTP文書というのは、作成したアプリケーションによってファイルフォーマットが全く異なり、それらをファイルの形で保存すると以下(1)〜(4)のような問題が生じる。
【0009】
(1)ネットワーク上にあるサーバに保存したDTP文書を複数のパソコンからアクセスする場合、全てのパソコンに作成時に用いたアプリケーションと同じアプリケーションが存在するという保証は無い。バージョンが違うだけでも問題である。
【0010】
(2)ネットワーク上にアーキテクチャーの異なるパソコンが存在する場合、たとえ同一アプリケーションの作成したファイルでもファイル形式が異なるのが普通なので、相互にアクセスできない。
【0011】
(3)市販のアプリケーションには、キーワードを抽出する機能など無いのが普通であるから、電子ファイリングをする場合、ファイルを媒介するか、カット&ペースト機能を媒介して文書情報を伝送するわけだが、操作手順が繁雑で時間がかかり、自動化も困難であるから実用にならない。
【0012】
また、市販のアプリケーション、例えばスキャナアプリ,ワープロ,表計算アプリ等のように非常に正確が異なるアプリケーション間でのデータ交換を考えてみる。これらのアプリケーション間でデータのやり取りをするには、ファイルを介して行うのは非常に困難である。
【0013】
なぜなら、スキャナアプリ,ワープロ,表計算アプリ等のように性格が異なるアプリケーションが生成するファイルのフォーマットはそれぞれのベンダーが独自に定めたものなので、互換性は全く無いからである。
【0014】
また、アプリケーションに依存しないファイルフォーマットとして「TIFF」「PICT」「EPS」「GIF」「TGA」等の業界標準フォーマットはアプリケーションに向き/不向きがあり万能ではない。
【0015】
さらに、コンピュータがMacintosh (商品名)やWindows (商品名)の場合には、「カット&ペースト」の機能を用いてやり取りする仕組が用意されているが、フォーマットは「PICT」か「GIF」に限定される。
【0016】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、アプリケーションプログラムとプリンタドライバを実行するコンピュータを有する電子ファイリング装置において、コンピュータが前記プリントドライバを実行して、各アプリケーションプログラムにより伝達される印刷用の描画情報を複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換して電子ファイル用のデータベースに蓄積することにより、各アプリケーションプログラムからプリンタドライバに伝達された描画情報を各アプリケーションプログラムに共有できる文書ファイルとして管理することができる電子ファイリング装置および電子ファイリング方法を提供することである。
【0017】
【課題を解決するための手段】
本発明に係る第1の発明は、複数のアプリケーションプログラムと、前記アプリケーションプログラムから伝達される印刷用の描画情報に基づいて電子ファイリングを行なうためのプリントドライバと、前記アプリケーションプログラム及び前記プリントドライバを実行するコンピュータとを有する電子ファイリング装置であって、
前記コンピュータは、前記アプリケーションプログラムからの印刷指示に応じて起動される前記プリントドライバを実行することによって、当該アプリケーションプログラムから伝達される印刷用の描画情報を受信し、当該受信した印刷用の描画情報を複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換し、当該変換された前記共通文書ファイル形式の描画情報を電子ファイリング用のデータベースに蓄積することを特徴とする。
【0018】
本発明に係る第2の発明は、前記プリントドライバは汎用ドライバであり、前記データベースに蓄積された共通文書ファイル形式の描画情報を前記プリントドライバを介して検索する検索ドライバを更に有することを特徴とする。
【0019】
本発明に係る第3の発明は、前記印刷用の描画情報は描画コマンドで構成され、
前記コンピュータは、前記プリントドライバを実行することによって、当該アプリケーションプログラムから伝達される前記印刷用の描画情報の各描画コマンドを解析して、複数の部分に分割し、当該分割した複数の部分に基づいて前記印刷用の描画情報を前記共通文書ファイル形式の描画情報に変換することを特徴とする。
【0020】
本発明に係る第4の発明は、前記分割される複数の部分は、文字部分とベクトル描画部分と画像部分であることを特徴とする。
【0021】
本発明に係る第5の発明は、前記プリントドライバは、プリントドライバをエミュレートしたファイリングドライバであって、
前記コンピュータは、前記アプリケーションプログラムからの印刷指示に応じて起動される前記ファイリングドライバを実行することによって、前記変換された描画情報を前記電子ファイリング用のデータベースに蓄積すると、印刷完了メッセージを送ることを特徴とする。
【0022】
本発明に係る第6の発明は、前記コンピュータは、前記プリントドライバを実行することによって、前記分割された画像部分を解析して当該画像部分に含まれる文字情報を認識して抽出する光学文字認識処理を実行し、当該抽出された文字情報を蓄積することを特徴とする。
【0023】
本発明に係る第7の発明は、複数のアプリケーションプログラムと、前記アプリケーションプログラムからの印刷指示に応じて起動されるプリントドライバと、前記アプリケーションプログラム及び前記プリントドライバを実行するコンピュータとを有する装置において、前記コンピュータが、前記プリントドライバを実行することにより、前記アプリケーションプログラムから伝達される印刷用の描画情報に基づいて電子ファイリングを行なうように制御する電子ファイリング方法であって、
前記アプリケーションプログラムからの印刷指示に応じて起動されたプリントドライバを前記コンピュータに実行させることによって、前記コンピュータが、当該アプリケーションプログラムから伝達される印刷用の描画情報を受信し、前記受信した印刷用の描画情報を複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換し、当該変換された前記共通文書ファイル形式の描画情報を電子ファイリング用のデータベースに蓄積するように制御することを特徴とする。
【0029】
【実施例】
以下、図示の実施例に基づき詳細に説明する。
〔第1実施例〕
図1は本発明の第1実施例を示す電子ファイル装置の構成を説明するブロック図である。
【0030】
図において、1,2,3は市販のアプリケーションであり、例えばスキャナアプリ,ワープロ,表計算アプリ等を示している。これらのアプリケーション間でデータのやり取りをするには、ファイル4,5を介して行うのは非常に困難である。なぜなら、スキャナアプリ,ワープロ,表計算アプリ等が生成するファイルのフォーマットはそれぞれのベンダが独自に定めたものなので、互換性は全くない。
【0031】
ところが、これらのアプリケーションが印刷する際にプリンタドライバに引き渡すデータは、Macintosh (第1のコンピュータ系)の場合はQuickDraw (第1の出力データ)、Windows (第2のコンピュータ系)の場合はGDI(第2の出力データ)に統一されている。
【0032】
図1に示す様に、第1のコンピュータ系のアプリケーション1,2,3がプリンタドライバ6に印刷データを渡す際、Postscriptアプリケーションの一部に例外はあるが、ほとんどのアプリケーションがQuickDraw の描画コマンド7,8,9をプリンタドライバ6に渡している。
【0033】
本発明はこの特徴に着目し、プリンタドライバ6の中に文書変換/蓄積機能を実現した。すなわち、QuickDraw の描画コマンドはコンピュータに依存した描画コマンドであり、Macintosh のみに限定すればほとんどのアプリケーションに共通の言語があるが、Windows ではGDIコマンドが用いられており、互換性はない。
そこで、QuickDraw −共通文書変換装置10−1により、データベース13にセーブしやすい一般的なドキュメントの形のデータ、すなわち、共通文書12,14に変換を行う。
【0034】
なお、共通文書12,14はドローであってもペイントであっても、また混在していても構わない。ドローとは、描画の線の太さ,色,座標点を指定する数値で表現する描画方法で、それを受け取った側もその数値をデコードする機能がなければならない。
【0035】
一方、ペイントとは、ビットマップ画像のことであり、データのサイズは大きくなるが、受け取った側のデコード機能は不要である。
【0036】
10−2はOCR装置で、ビットマップ画像をコード化する場合に用いるが、ドロー系の情報の場合には処理はバイパスする。
【0037】
10−3はキーワード抽出装置で、QuickDraw から変換された共通文書の中から、検索に使えそうな単語を拾いだし、その共通文書とセットでアクセスするためのものである。
【0038】
10−4はデータベースAPIで、ローカルまたはネットワーク(LAN)11を介して接続されているリモートのデータベース13に接続するためのものである。
【0039】
プリンタドライバ6は、システムが提供するものに合わせるが、プリンタドライバ6は印刷だけを想定しているので、通常はデータの流れは一方通行であり、データベース13から引き出した文書をQuickDraw コマンドに逆変換してアプリケーション1,2,3側に送ることはできない。
【0040】
この問題を解決するために、本発明のプリンタドライバ6は汎用ドライバの形式になっている。プリンタドライバ6を介して双方向の文書変換をするためには、OSやアプリケーションの変更が必要であるが、専用の文書検索ソフトウェアを用いた場合には双方向の文書変換が実現できる。共通文書12はLAN11を介してデータベース13に送られる。
【0041】
この装置を文書のファイリングシステムとして用いるには、通常スキャナ15で原稿を読み取る。その制御はスキャナアプリ1が行うが、そのアプリが印刷する場合にはやはりQuickDraw 7に変換されてプリンタドライバ6に伝達される。
【0042】
QuickDraw 7とはいっても、スキャン画像の場合には中身はビットマップであるから、QuickDraw −共通文書変換装置10−1でビットマップに戻し、必要に応じて図示しない圧縮回路によって画像圧縮を行う。
【0043】
プリンタドライバ6は、パソコンのOSがサポートするすべてのQuickDraw コマンドをサポートする必要がある。さもないと、あらゆるアプリケーションからの印刷要求に応えられない。
【0044】
一方、アプリケーション1,2,3は自分の都合により一部のQuickDraw コマンドしかサポートしなくても何ら問題はなかった。ところが、プリンタドライバ6を双方向性にし、QuickDraw −共通文書変換装置10−1が出力するQuickDraw コマンドを表示可能にするためには、やはりすべてのQuickDraw コマンドをサポートする必要がある。
【0045】
なぜなら、その文書は自分より高機能なアプリケーションが作成したものかもしれないからである。
【0046】
そのためプリンタドライバ6は、アプリケーションに伝達しようとしたドロー系のコマンドがアプリケーションドライバに理解できないと拒絶された場合には、それをペイント系のデータに変換して再度伝達しなおす。
【0047】
これらの誤り制御機能のないアプリケーションのために、QuickDraw 運用に水準を設け、例えばJISの漢字コードの如く、第1,第2,第3水準に分類し、伝達しても理解されないことが分かっている場合には、あらかじめ低レベルのQuickDraw コマンドに変換して伝達してもよい。
〔第2実施例〕
図2は本発明の第2実施例を示す電子ファイル装置の構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。
【0048】
なお、図1では市販のアプリケーション1,2,3からデータベース13への文書蓄積を説明したが、市販のアプリケーションはやはり文書蓄積/検索用に設計されている訳ではないから、スピーディーな検索には専用の検索アプリ(アプリケーションプログラム)16が必要となる。この検索アプリ16はQuickDraw −共通文書変換装置10−1と直接接続する。データフォーマットはQuickDraw ではなく共通文書フォーマット17である。QuickDraw −共通文書変換装置10−1は汎用ドライバとして構築されている。
〔第3実施例〕
図3は本発明の第3実施例を示す電子ファイル装置の構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。
【0049】
なお、図3は、OCRアクセラレータ10−5を使う場合の実施例である。
【0050】
OCRアクセラレータ10−5は、OCRには変換時間がかかるので、専用のハードウェアに処理を代行させることにより高速化を図るため、通常ハードウェアで実現される。
【0051】
また、QuickDraw −共通文書変換装置10−1はプリンタドライバ/汎用ドライバとしてソフトウェアで実現する。
【0052】
一方、OCR10−2,キーワード抽出装置10−3,データベースAPI10−4はバックグラウンドで走る汎用ドライバとしてソフトまたはハードで実現し、これらが処理しているときでも、オペレータの他の操作を中断しない。
【0053】
図4は、図3に示した電子ファイル装置におけるデータ処理系を説明する図である。
【0054】
図において、10−6はプリントキュー、10−7はバッファメモリである。
【0055】
QuickDraw −共通文書変換装置10−1はもっぱらプリンタドライバ6と一体で動作し、プリントキュー10−6への出力はフォアグランドで行う。
【0056】
一方、OCR10−2以下はプリントキュー10−6から文書データをバックグランドで受取り、アプリケーション1,2,3,16と同時並行的に処理する。メモリ10−7は、プリントキュー10−6が一時的に文書データを蓄えておくためのものである。
〔第4実施例〕
図5は本発明の第4実施例を示す電子ファイルシステムの構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。
【0057】
図において、左半分は図1のパソコンと同じものであり、説明上必要な番号には「a」の枝番を付けてある。
【0058】
一方、右半分は第2のパソコンで「b」の枝番を付けたものは、「a」の枝番の付いた同じ番号の要素と同じものである。第1のパソコン(左)にはスキャナ15をそのまま残して説明してあるが、第2のパソコン(右)にスキャナがない場合の状態を説明している。
【0059】
この場合、OCR,キーワード検索,データベースAPI機能は不要なので、図示される傾斜線で示した様に機能を止めて使う。ネットワーク上を流れるデータが共通文書である限りは、アプリケーションとのインタフェースは共通文書であっても他のフォーマット、すなわち、QuickDraw であっても構わない。
【0060】
スキャナ15からのデータは、プリンタドライバ6が共通文書に変換するので、何ら問題なく相互通信が可能である。
〔第5実施例〕
図6は本発明の第4実施例を示す電子ファイル装置の構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。
【0061】
図において、20−1はQuickDraw −共通文書変換ドライバインタフェース、20−2はユニットで、OCRユニット,構文解析ユニット,逆PDLユニットの集合である。20−3はファイル構築ルーチンである。20−1で印刷時の描画コードはQuickDraが解析され、文字部分,ベクトル描画コード部分,ビットマップ画像部分,中間調画像部分に分けられる。ビットマップ画像部分と中間調画像部分はOCRに掛けられ、文字部分がコードとして抽出される。
【0062】
ベクトル描画コード部分は、いくつかの描画コードの集合の単位で逆PDLユニットで処理され、「表」,「画」,「マーク」,「閉曲線」等の機能要素に区分される。機能要素に入らないものは、「線」,「円」,「四角」,「楕円」,「円弧」,「自由曲線」等に分類する。
【0063】
ユニット20−2の構文解析ユニットは、主にテキスト部分の構文を解析して、それを「タイトル」,「章」,「節」,「段落」,「ヘッダ」,「文」,「フッタ」,「ページ」,「日付」等に区分する。それらの区分に入らないものは、「テキスト」として扱われる。そのようにして分類解析された共通文書は、ファイル構築ルーチン20−3で共通文書12に落とされる。
【0064】
一旦、共通文書12に落とされれば、該ファイルフォーマットを理解できる編集アプリ19で標準のOSのインタフェース18を介して再編集が可能となる。
【0065】
以下、本実施例と第1〜第6の発明の各手段との対応及びその作用について図1〜図6を参照して説明する。
【0066】
第1の発明は、所定のオペレーティングシステム(DOS/V,漢字トーク等,UNIX)に準拠する複数のアプリケーションプログラム(アプリケーションプログラム1,2,3)を起動して作成編集される文書,表組,画像のファイル情報を処理可能なコンピュータシステムと、このコンピュータシステムで起動可能な各アプリケーションプログラムから伝達される各描画情報を前記所定のオペレーティングシステムが規定する所定の印刷データ形式に変換するプリントドライバ手段(プリンタドライバ6)と、このプリントドライバ6により所定の印刷データ形式に変換された印刷データを前記複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換する変換手段(本実施例では、プリントドライバ6のサブドライバとして組み込む構成となっているQuickDraw −共通文書変換装置10−1)と、この変換手段に変換された前記共通文書ファイル形式に従う共有ファイルを記憶する記憶手段(データベース13)とを有し、コンピュータシステムで起動可能な各アプリケーションプログラムから伝達される各描画情報がプリントドライバ6により前記所定のオペレーティングシステムが規定する所定の印刷データ形式に変換されると、QuickDraw −共通文書変換装置10−1が所定の印刷データ形式に変換された印刷データを前記複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換し、該変換された前記共通文書ファイル形式に従う共有ファイル(共通文書12)を記憶媒体に記憶して、各アプリケーションプログラムからプリントドライバに伝達された描画情報を各アプリケーションプログラムに共有できるファイルとして管理することを可能とする(図1,図2,図3等参照)。
【0067】
第2の発明は、各アプリケーションプログラムの汎用ドライバとしてコンピュータシステムに組み込まれる検索ドライバ(検索アプリケーション16等(図3参照)が記憶手段(データベース13)に記憶された共通文書ファイル形式に従う共有ファイルをQuickDraw −共通文書変換装置10−1を介して検索して、共有ファイルを各アプリケーションプログラムで直接的に処理可能とする。
【0068】
第3の発明は、プリントドライバ6は、各アプリケーションプログラムから伝達される各描画情報を解析して、文字部分,ベクトル描画部分,ビットマップ画像部分,中間調画像部分とに分割して、該分割された文字部分,ベクトル描画部分,ビットマップ画像部分,中間調画像部分に圧縮処理した圧縮データを生成し、記憶媒体に登録するデータボリュームをできるだけ小さくすることを可能とする。
【0069】
第4の発明は、変換手段(QuickDraw −共通文書変換装置10−1)は、プリントドライバにより所定の印刷データ形式に変換された圧縮データを前記複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換して、各アプリケーションプログラムからプリントドライバに伝達された描画情報を圧縮した圧縮データを各アプリケーションプログラムに共有できるファイルとして管理することを可能とする。
【0070】
第5の発明は、プリントドライバ6により分割されたビットマップ画像部分,中間調画像部分を光学文字認識処理手段が解析して文字情報をOCR装置10−2により(本実施例ではプリントドライバ6のサブドライバとして構成される)認識して抽出し、該抽出された文字情報を既に分割された文字部分に追加して、画像情報中の文字画像を文字情報として利用可能とする。
【0071】
第6の発明は、所定のネットワークを介して各電子ファイル装置間で共有ファイルを転送可能(図5等参照)とし、ネットワーク上で各アプリケーションプログラム(アプリケーションプログラム1,2,3)でにより生成されたファイルを共有ファイルとして処理可能とする。
【0072】
上記各実施例によれば、アプリケーションが印刷する場合に出力するデータ形式はOS毎に標準化されているという点に着目し、プリンタドライバの部分に「統一したファイル形式への変換機能」,「OCR機能」,「キーワード検索機能」を構築することにより、パソコンのアーキテクチャーの違いによらず、あらゆる市販アプリで作成した文書を、統一した1種類のフォーマットで保存することができた。
【0073】
また、本実施例によれば、従来ハード/ソフト共にスタンドアロンの機械として提供されていた文書蓄積/検索装置を、市販されているコンピュータをベースにし、市販されている幾多のアプリケーションをフロントエンドとする文書蓄積/検索機能を自在に組み込むことでできる安価なシステムを提供できる。
【0074】
なお、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器から成る装置に適用しても良い。また、本発明はシステムあるいは装置にプログラムを供給することによって達成させる場合にも適用できることは言うまでもない。
【0075】
以下、図7〜図11等を参照して本発明に係る電子ファイルシステムにおけるファイル処理方法について説明する。
【0076】
図7は本発明に係る電子ファイルシステムにおけるファイル処理方法のメイン処理手順の一例を示すフローチャートである。なお、(1)〜(5)はアプリケーション側のステップを示し、(6)〜(13)はOS側のステップを示し、(14)〜(19)はファイリングドライバ側のステップを示す。
【0077】
なお、本実施例では、OSがマルチタスクのものならもちろんのこと、シングルタスクの場合でも、アプリケーションとOS,ドライバの処理動作は見かけ上独立したタスクのように振舞うから、図7に示すように、3種の独立タスクのように記載することは何ら問題とはならない。また、図中の点線の矢印で示してある部分は、実際には関数コールであるが、プログラム言語(C++)やクラス定義の中では「メッセージ」という表現を用いることが一般的であり、ここではその例に習うものとする。
【0078】
まず、アプリケーションがドキュメントを作成して(1)、それを本発明に係る電子ファイルシステムにファイルする時、通常の印刷動作と全く同じ操作を行う。印刷メニューを選択すると(2)、OSに対して印刷開始メッセージが送られる。OSはこの時種々のOSサービスを実行しながら(6)、イベントループに入っていて(7)、印刷開始メッセージを受け付けると、ドライバを起動する(8)。
【0079】
ファイリングドライバは、レジスタセットやメモリ空間の確保等の初期化処理を実行した後(14)、初期化完了メッセージをOSに返す。この間、OSはドライバからの返事をループで待っている(9)。
【0080】
そして、アプリケーションに対し、ドライバの準備が整ったことを示すメッセージを送る(10)。これを受けて、アプリケーションはステップ(3)のループから抜け出し、プリンタに描画すべきGDIコードを出力する(4)。該GDIコードを受け取ったOSは、プリンタ(ドライバ)がGDIプリンタならば、GDIコードのままで、また、ビットマッププリンタならば、OSの中でGDIコードをラスタライズしてプリンタドライバに渡す(11)。ファイルドライバば、プリンタドライバをエミュレートしており、GDIプリンタかビットマッププリンタのどちらかであることを宣言する必要がある。そのどちらでも実現可能である。
【0081】
もし、GDIプリンタであると宣言すると、OSからはGDIコードがそのままの形で送られて来るので、ドライバの中では容易にGDIコードの解析ができるし、ビットマップが必要なら、OSのシステムコールを呼んで、ラスタライズすることができる。
【0082】
もし、ビットマッププリンタであると宣言すると、OSの中でGDIをビットマップに変換するGDIサービスが実行され(11)、ファイリングドライバにはビットマップが渡される(15)。
なお、OSがWindows の場合、たとえビットマップにしても、ビットマップコードの片隅に元のGDIコードが記載されているから、本発明ではビットマップを宣言することにする。
【0083】
ファイリングドライバは、受け取ったGDIコードを解析して(16)、原稿に書かれている内容の特徴を抽出し(17)、それをデータベースに保存する(18)。ファイリングドライバからOSに対し、印刷完のメッセージが届いたら、ドライバの処理待ちになっているループ(12)から抜け出し、印刷完了メッセージをアプリケーションに送るとともに(13)、ファイリングドライバを終了させ、メモリ空間からスワップアウトする。アプリケーションは、OSからの印刷完了メッセージを受けて、印刷シーケンスを終了する(5)。なお、ファイリングドライバは、ステップ(18)でデータベースに保存したら、メモリ空間を解放する(19)。
【0084】
図8は、図7に示したファイリングドライバによるGDIコード解析および特徴抽出処理の詳細手順を示すフローチャートである。なお、(20)〜(29)は各ステップを示す。
【0085】
OS経由でアプリケーションから渡されたGDIコードを取得したら(20)、該GDIコードを解析し(21)、画像か、文字か、ドローかを区別する(21)〜(23)。なお、本実施例において、ドローとは、ベクトル情報の集合による線図形,面図形を用いた描画をいう。
【0086】
そして、ステップ(21)でYESの場合は、画像を表すGDIコードを、JBIG,JPEG,MMR等の圧縮アルゴリズムを用いて圧縮され、画像バッファに保存される(24)。
【0087】
一方、ステップ(22)でYESの場合は、文字を表すGDIコードは文字バッファに蓄えられ、文字バッファの処理でタイトルであるかどうかの判定を受けた後、文字に関する各種の情報(文字コード,スタイル,文字色)を保存し、キーワードとして登録する(25)。
【0088】
一方、ステップ(23)でYESの場合は、ドロー部分のGDIコードは、ドロー情報の処理ルーチン(詳細は後述する)において、表,図形の判定を受け、さらに統計処理を受ける(27)。
【0089】
一方、ステップ(23)でNOすなわち、GDIコードが上記のいずれでもない時は、制御コードであるから、ステップ(26)において、制御コードの処理を行う。制御コードの中身は、例えば紙サイズ指定であり、また、紙方向指定,解像度指定,余白指定,頁番号指定,印刷枚数指定,改頁であるかもしれない。
【0090】
次いで、すなわち、ステップ(24),(25),(26),(27)の後は、次のGDIコードを取得するための準備に入る(28)。もし、制御コードが終了コードであった時は、GDIコードの解析は終了するが、そうでない場合には次のGDIコードを取得するためにステップ(2)にループする。
【0091】
図9は、図8に示した文字バッファの処理ルーチンの詳細手順を示すフローチャートである。なお、(30)〜(38)は各ステップを示し、該ステップにより、文字バッファに蓄えられた文字情報を解析して、タイトル文字かどうかの判定を行い、キーワードとして登録する処理を行う。
【0092】
なお、GDIコードの場合、文字コードは一連のストリング(文章)になって表現されるとは限らない。ストリングのGDIコードを吐き出すアプリケーションは、エディタと呼ばれるソフトウエア程度で、高級なDTPアプリケーションになればなるほど、むしろ1文字1文字描画する場合が多い。高級なDTPアプリケーションは、GDIコードの表現能力を越えた高度の文章表現をするので、1文字1文字の描画になることが多い。
【0093】
先ず、1個前の文字との距離を計算し(30)、文字の高さの1/2より狭いかどうかを判定し(31)、NOならば、すなわち、文字の高さの1/2より以上であれば単語の区切りと判定して(32)、キーワード登録する。
【0094】
その中でも、タイトルと思われる文字は、特別に保存し、タイトル文字として検索の用に供する。タイトルと判定するアルゴリズムは、対象とする文字が原稿の縦寸法の上から1/4以内にあり(33)、かつ、原稿中で最大サイズの文字ならタイトルと判定する(34),(35)。それ以外の文字は、タイトル以外の文字としてキーワード登録する(36)。なお、タイトル自身もキーワードであることはいうまでもない。 一方、ステップ(31)の判定でYESの場合は、すなわち、文字の高さの1/2より狭い場合は、前の文字ととともに単語を構成していると判定し(37)、該単語の区切りを見つけるために、文字情報を文字バッファに書き込み(38)、該ルーチンを終了する。
【0095】
図10は、図8に示したドロー情報の処理ルーチンの詳細手順を示すフローチャートである。なお、(40〜(50)は各ステップを示す。また、図11に示すドロー情報例を参照して処理動作を説明する。
【0096】
先ず、GDIコードが直線かどうかを判定し(40)、直線であれば、さらに表であるかどうかを判別するルーチンに入るが、直線以外の円,楕円,四角,ポリゴン,斜め線,曲線等であり、単純にドロー画グループに加え(49)、保存する。
【0097】
一方、ステップ(40)で、直線と判別された場合、既に登録済みの直線グループの中の線と接するかどうかを判定する(41)。判定方法は、直線の持つ2点(始点,終点)の持つX座標とY座標のどれが直線グループの中の線の持つ2点の座標のどれかと1つでも一致し、かつ、他の座標が所定範囲内であれば接していると判別できる。例えば図11に示すように、2本の線A,Bが接しているとかどうかを判別する場合、X1=X3であるかどうかをチェックするだけで良い。
【0098】
また、線A,Bも斜め線でないことは解っているので、X1=X3=X4でもある。さらに、線BのY座標は、Aの始点と終点の間になければならないから、Y4≦Y1≦Y3でなければならない。すなわち、2本の直線を有する4種類のX,Y座標の内、3つが一致する成分を調べ、もし一致する場合には、2つとも一致する成分を持つ直線の他方の成分の間に他の線分の同じ座標が入っていれば、接していると判別できる。これが、X座標,Y座標ともに成立するときは、t2本の直線A,Bは直角を形成する。
【0099】
そこで、ステップ(41)で、どの直線グループとも接しないと判別された直線は、それ自身が新たな直線グループを形成するものとして登録する(50)。
【0100】
一方、接することが解った直線については、その直線グループの一員として加える(42)。
【0101】
ある直線グループを有するX座標,Y座標のうち、最大,最小の4つを、その直線グループの矩形領域と定める。この矩形領域は、新たな直線が加わる毎に再計算する(43)。その直線グループの構成するX座標だけまたはY座標だけの種類の数を求め、それから「1」を引いた数がセル数として導出される(44)。
【0102】
また、同様に、X座標の成分と、Y座標の成分を別々に大きさ順に並べ、互いに接近する座標同志の差分がセルサイズとなる(45)。
【0103】
この直線グループの矩形領域の中に、文字が入るかどうかを判定し(46)、文字が入る場合には、その文字を表中の文字として特別に登録し(47)、かつ、その直線グループを表と判定する(48)。なお、文字を全く含まない直線グループは表とは見做さない。
【0104】
【発明の効果】
以上説明したように、本発明によれば、アプリケーションとプリンタドライバを実行するコンピュータが各アプリケーションプログラムからプリンタドライバに伝達された描画情報を各アプリケーションプログラムに共有できる文書ファイルとして管理することができる。
また、共有できる文書ファイルを各アプリケーションプログラムが直接的に処理できる。
さらに、データベースに蓄積する共通文書ファイル形式の描画情報のデータボリュームをできるだけ小さくできる等の効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1実施例を示す電子ファイル装置の構成を説明するブロック図である。
【図2】本発明の第2実施例を示す電子ファイル装置の構成を説明するブロック図である。
【図3】本発明の第3実施例を示す電子ファイル装置の構成を説明するブロック図である。
【図4】図3に示した電子ファイル装置におけるデータ処理系を説明する図である。
【図5】本発明の第4実施例を示す電子ファイルシステムの構成を説明するブロック図である。
【図6】本発明の第5実施例を示す電子ファイル装置の構成を説明するブロック図である。
【図7】本発明に係る電子ファイルシステムにおけるファイル処理方法のメイン処理手順の一例を示すフローチャートである。
【図8】図7に示したファイリングドライバによるGDIコード解析および特徴抽出処理の詳細手順を示すフローチャートである。
【図9】図8に示した文字バッファの処理ルーチンの詳細手順を示すフローチャートである。
【図10】図8に示したドロー情報の処理ルーチンの詳細手順を示すフローチャートである。
【図11】図10に示したドロー情報の処理ルーチンで使用するドロー情報の一例を示す図である。
【符号の説明】
1 アプリケーション
2 アプリケーション
3 アプリケーション
6 プリンタドライバ
10−1 QuickDraw −共通文書変換装置
10−2 OCR装置
10−3 キーワード抽出装置
10−4 データベースAPI(アプリケーション・プログラム・インタフェース)
12 共通文書
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an electronic filing apparatus and an electronic filing method having a print driver for performing electronic filing.
[0002]
[Prior art]
Conventionally, since a DTP application stores data in a different format for each manufacturer that develops the DTP application, it has been difficult to exchange files between different manufacturers. Various filters have been provided as tools to solve this problem.
[0003]
[Problems to be solved by the invention]
The required number of filters varies depending on the number of applications to be used. For example, the number of combinations of filters required by 10 types of applications is 10C2, so a huge amount of filter processing is required.
[0004]
However, once it is dropped to an intermediate file, the number is 10, but it is still necessary up to the number of applications.
[0005]
In order to realize a small and inexpensive electronic filing apparatus, a filing apparatus based on a commercially available personal computer (hereinafter referred to as a personal computer) is inevitably realized.
[0006]
As functional elements essential for electronic filing, a scanner, an OCR, a keyword search function, a (magneto-optical) disk device, and the like are provided. Basically, a document printed on “paper” is read and stored by a scanner. At that time, in order to facilitate the search, the character information is encoded by the OCR processing unit, and the keywords are automatically picked up and stored together.
[0007]
If it is a dedicated machine, these functions are sufficient, but for electronic filing based on a personal computer, the target document is not enough to be printed on “paper”. Therefore, it is necessary to handle DTP documents created in a unified manner.
[0008]
However, DTP documents have completely different file formats depending on the created application, and if they are saved in the form of files, the following problems (1) to (4) occur.
[0009]
(1) When a DTP document stored in a server on a network is accessed from a plurality of personal computers, there is no guarantee that the same application as that used for creation exists on all personal computers. It is a problem even if the versions are different.
[0010]
(2) If there are computers with different architectures on the network, even if files created by the same application are usually in different file formats, they cannot be accessed from each other.
[0011]
(3) Since commercially available applications usually do not have a keyword extraction function, when electronic filing is performed, the document information is transmitted via a file or cut / paste function. The operation procedure is complicated, time consuming and difficult to automate, so it is not practical.
[0012]
Also, consider data exchange between applications that differ in accuracy, such as commercially available applications such as scanner applications, word processors, and spreadsheet applications. It is very difficult to exchange data between these applications via a file.
[0013]
This is because the format of a file generated by an application having a different character such as a scanner application, a word processor, or a spreadsheet application is uniquely determined by each vendor, and is not compatible at all.
[0014]
In addition, industry standard formats such as “TIFF”, “PICT”, “EPS”, “GIF”, and “TGA” are not versatile because they are not suitable for applications.
[0015]
Furthermore, when the computer is a Macintosh (product name) or Windows (product name), there is a mechanism for exchanging using the “cut and paste” function, but the format is either “PICT” or “GIF”. Limited.
[0016]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide an electronic filing apparatus having a computer that executes an application program and a printer driver. The drawing information for printing transmitted by each application program is converted into a common document file format that can be directly referred to by a plurality of application programs, and stored in the database for electronic files, so that it is transmitted from each application program to the printer driver. It is to provide an electronic filing device and an electronic filing method capable of managing the drawn information as a document file that can be shared with each application program.
[0017]
[Means for Solving the Problems]
According to a first aspect of the present invention, a plurality of application programs, a print driver for performing electronic filing based on drawing information for printing transmitted from the application program, the application program, and the print driver are executed. An electronic filing device comprising:
The computer receives the drawing information for printing transmitted from the application program by executing the print driver activated in response to a printing instruction from the application program, and the received drawing information for printing Is converted into a common document file format that can be directly referred to by a plurality of application programs, and the converted drawing information of the common document file format is stored in a database for electronic filing.
[0018]
According to a second aspect of the present invention, the print driver is a general-purpose driver, and further includes a search driver that searches the drawing information in the common document file format stored in the database via the print driver. To do.
[0019]
In a third aspect of the present invention, the drawing information for printing is composed of drawing commands.
The computer, by executing the print driver, analyzes each drawing command of the printing drawing information transmitted from the application program, divides it into a plurality of parts, and based on the divided parts The drawing information for printing is converted into drawing information in the common document file format.
[0020]
According to a fourth aspect of the present invention, the plurality of parts to be divided are a character part, a vector drawing part, and an image part.
[0021]
According to a fifth aspect of the present invention, the print driver is a filing driver emulating a print driver,
When the computer stores the converted drawing information in the electronic filing database by executing the filing driver activated in response to a print instruction from the application program, the computer sends a print completion message. Features.
[0022]
According to a sixth aspect of the present invention, in the optical character recognition, the computer executes the print driver to analyze the divided image portion and recognize and extract character information included in the image portion. The processing is executed, and the extracted character information is accumulated.
[0023]
According to a seventh aspect of the present invention, there is provided an apparatus having a plurality of application programs, a print driver activated in response to a print instruction from the application program, and a computer that executes the application program and the print driver. An electronic filing method for controlling the computer to perform electronic filing based on drawing information for printing transmitted from the application program by executing the print driver,
By causing the computer to execute a print driver activated in response to a print instruction from the application program, the computer receives print drawing information transmitted from the application program, and receives the received print information. The drawing information is converted into a common document file format that can be directly referred to by a plurality of application programs, and the converted drawing information in the common document file format is controlled to be stored in an electronic filing database. .
[0029]
【Example】
Hereinafter, a detailed description will be given based on the illustrated embodiment.
[First embodiment]
FIG. 1 is a block diagram for explaining the configuration of an electronic file device according to the first embodiment of the present invention.
[0030]
In the figure, reference numerals 1, 2, and 3 denote commercially available applications such as a scanner application, a word processor, and a spreadsheet application. It is very difficult to exchange data between these applications via files 4 and 5. This is because the format of the file generated by the scanner application, word processor, spreadsheet application, etc. is uniquely determined by each vendor, so there is no compatibility.
[0031]
However, when these applications print, the data delivered to the printer driver is QuickDraw (first output data) for Macintosh (first computer system) and GDI (first computer data) for Windows (second computer system). Second output data).
[0032]
As shown in FIG. 1, when the first computer applications 1, 2, and 3 pass print data to the printer driver 6, there are exceptions in part of the Postscript application, but most applications use QuickDraw drawing commands 7 , 8 and 9 are passed to the printer driver 6.
[0033]
The present invention pays attention to this feature and realizes a document conversion / storage function in the printer driver 6. In other words, QuickDraw drawing commands are computer-dependent drawing commands, and if limited to Macintosh only, there is a common language for most applications, but Windows uses GDI commands and is not compatible.
Therefore, the QuickDraw-common document conversion apparatus 10-1 performs conversion into data in a general document form that can be easily saved in the database 13, that is, common documents 12 and 14.
[0034]
The common documents 12 and 14 may be drawn, painted, or mixed. Drawing is a drawing method that expresses the thickness, color, and coordinate point of a drawing line with numerical values. The side that receives the drawing must also have a function to decode the numerical values.
[0035]
On the other hand, “paint” is a bitmap image, which increases the data size, but does not require a decoding function on the receiving side.
[0036]
An OCR apparatus 10-2 is used to encode a bitmap image, but in the case of draw information, the process is bypassed.
[0037]
A keyword extraction device 10-3 is used for picking up a word that can be used for searching from a common document converted from QuickDraw and accessing the common document as a set.
[0038]
A database API 10-4 is used to connect to a remote database 13 connected via a local or network (LAN) 11.
[0039]
The printer driver 6 matches the one provided by the system. However, since the printer driver 6 assumes only printing, the data flow is usually one-way, and the document extracted from the database 13 is converted back to the QuickDraw command. Thus, it cannot be sent to the applications 1, 2, 3 side.
[0040]
In order to solve this problem, the printer driver 6 of the present invention is in the form of a general-purpose driver. In order to perform bidirectional document conversion via the printer driver 6, it is necessary to change the OS and application. However, when dedicated document search software is used, bidirectional document conversion can be realized. The common document 12 is sent to the database 13 via the LAN 11.
[0041]
In order to use this apparatus as a document filing system, an original is usually read by a scanner 15. The control is performed by the scanner application 1. When the application prints, it is also converted to QuickDraw 7 and transmitted to the printer driver 6.
[0042]
Even though it is QuickDraw 7, in the case of a scanned image, the content is a bitmap. Therefore, the QuickDraw-common document conversion apparatus 10-1 restores the bitmap and compresses the image by a compression circuit (not shown) as necessary.
[0043]
The printer driver 6 needs to support all QuickDraw commands supported by the OS of the personal computer. Otherwise, the print request from any application cannot be satisfied.
[0044]
On the other hand, applications 1, 2, and 3 have no problem even if they support only a part of QuickDraw commands for their own convenience. However, in order to make the printer driver 6 bidirectional and display the QuickDraw command output by the QuickDraw-common document conversion apparatus 10-1, it is necessary to support all the QuickDraw commands.
[0045]
This is because the document may have been created by a more sophisticated application.
[0046]
For this reason, if the printer driver 6 rejects that the draw command to be transmitted to the application cannot be understood by the application driver, the printer driver 6 converts the command into paint data and transmits it again.
[0047]
For applications without these error control functions, it is understood that QuickDraw operation has a level, and it is not understood even if it is classified into the first, second, and third levels, for example, JIS Kanji codes. If so, it may be converted into a low-level QuickDraw command and transmitted in advance.
[Second Embodiment]
FIG. 2 is a block diagram for explaining the configuration of an electronic file device according to the second embodiment of the present invention. Components identical with those shown in FIG. 1 are designated by like reference characters.
[0048]
In FIG. 1, the document storage from the commercial applications 1, 2, 3 to the database 13 has been described. However, the commercial application is not designed for document storage / retrieval. A dedicated search application (application program) 16 is required. The search application 16 is directly connected to the QuickDraw-common document conversion apparatus 10-1. The data format is not QuickDraw but the common document format 17. The QuickDraw-common document conversion apparatus 10-1 is constructed as a general-purpose driver.
[Third embodiment]
FIG. 3 is a block diagram for explaining the configuration of an electronic file device according to the third embodiment of the present invention. Components identical with those shown in FIG. 1 are designated by like reference characters.
[0049]
FIG. 3 shows an embodiment in which the OCR accelerator 10-5 is used.
[0050]
Since the OCR accelerator 10-5 takes a long time for conversion, the OCR accelerator 10-5 is usually implemented by hardware in order to increase the speed by substituting dedicated hardware for processing.
[0051]
The QuickDraw-common document conversion apparatus 10-1 is realized by software as a printer driver / general-purpose driver.
[0052]
On the other hand, the OCR 10-2, the keyword extracting device 10-3, and the database API 10-4 are implemented as software or hardware as general-purpose drivers that run in the background, and do not interrupt other operations of the operator even when they are processed.
[0053]
FIG. 4 is a diagram for explaining a data processing system in the electronic file device shown in FIG.
[0054]
In the figure, 10-6 is a print queue, and 10-7 is a buffer memory.
[0055]
The QuickDraw-common document conversion apparatus 10-1 operates exclusively with the printer driver 6 and outputs to the print queue 10-6 in the foreground.
[0056]
On the other hand, the OCR 10-2 and below receive document data from the print queue 10-6 in the background and process it in parallel with the applications 1, 2, 3, and 16. The memory 10-7 is used for temporarily storing document data in the print queue 10-6.
[Fourth embodiment]
FIG. 5 is a block diagram for explaining the configuration of an electronic file system according to the fourth embodiment of the present invention. Components identical with those shown in FIG. 1 are designated by like reference characters.
[0057]
In the figure, the left half is the same as that of the personal computer of FIG. 1, and a branch number “a” is attached to a number necessary for explanation.
[0058]
On the other hand, the right half of the second personal computer with the branch number “b” is the same as the element with the same number with the branch number “a”. Although the first personal computer (left) is described with the scanner 15 left as it is, the state where the second personal computer (right) has no scanner is described.
[0059]
In this case, since the OCR, keyword search, and database API functions are unnecessary, the functions are stopped and used as shown by the inclined lines shown in the figure. As long as the data flowing on the network is a common document, the interface with the application may be a common document or another format, that is, QuickDraw.
[0060]
Since the data from the scanner 15 is converted into a common document by the printer driver 6, mutual communication is possible without any problem.
[Fifth embodiment]
FIG. 6 is a block diagram for explaining the configuration of an electronic file apparatus according to the fourth embodiment of the present invention. Components identical with those shown in FIG. 1 are designated by like reference characters.
[0061]
In the figure, 20-1 is a QuickDraw-common document conversion driver interface, 20-2 is a unit, and is a set of an OCR unit, a parsing unit, and an inverse PDL unit. Reference numeral 20-3 denotes a file construction routine. In 20-1, the drawing code at the time of printing is analyzed by QuickDra and divided into a character portion, a vector drawing code portion, a bitmap image portion, and a halftone image portion. The bitmap image portion and the halftone image portion are subjected to OCR, and the character portion is extracted as a code.
[0062]
The vector drawing code portion is processed by the inverse PDL unit in units of several drawing code sets, and is divided into functional elements such as “table”, “draw”, “mark”, and “closed curve”. Items that do not fall within the functional elements are classified into “line”, “circle”, “square”, “ellipse”, “arc”, “free curve”, and the like.
[0063]
The parsing unit of the unit 20-2 mainly parses the syntax of the text part, and converts it into “title”, “chapter”, “section”, “paragraph”, “header”, “sentence”, “footer”. , “Page”, “Date”, etc. Those that do not fall into these categories are treated as “text”. The common document thus classified and analyzed is dropped into the common document 12 by the file construction routine 20-3.
[0064]
Once dropped in the common document 12, the editing application 19 that can understand the file format can be re-edited via the standard OS interface 18.
[0065]
The correspondence between this embodiment and each means of the first to sixth inventions and the operation thereof will be described below with reference to FIGS.
[0066]
In the first invention, a plurality of application programs (application programs 1, 2, and 3) conforming to a predetermined operating system (DOS / V, Kanji talk, etc., UNIX) are created, edited, a table set, Computer system capable of processing image file information, and print driver means for converting each drawing information transmitted from each application program that can be started by this computer system into a predetermined print data format defined by the predetermined operating system ( A printer driver 6) and conversion means for converting the print data converted into a predetermined print data format by the print driver 6 into a common document file format that can be directly referred to by the plurality of application programs (in this embodiment, the print driver). 6 subs A QuickDraw-common document conversion apparatus 10-1) configured as a driver, and storage means (database 13) for storing a shared file in accordance with the common document file format converted by the conversion means, and a computer When each drawing information transmitted from each application program that can be activated in the system is converted by the print driver 6 into a predetermined print data format defined by the predetermined operating system, the QuickDraw-common document conversion apparatus 10-1 performs a predetermined process. Is converted into a common document file format that can be directly referred to by the plurality of application programs, and a shared file (common document 12) according to the converted common document file format is stored in a storage medium. Memorize and download from each application program The drawing information transmitted to the lint driver can be managed as a file that can be shared by each application program (see FIGS. 1, 2, 3 and the like).
[0067]
According to a second aspect of the present invention, a search driver (search application 16 or the like (see FIG. 3) incorporated in a computer system as a general-purpose driver for each application program stores a shared file according to a common document file format stored in a storage means (database 13) as QuickDraw. -Search through the common document conversion apparatus 10-1, and enable the shared file to be directly processed by each application program.
[0068]
In the third invention, the print driver 6 analyzes each drawing information transmitted from each application program, and divides it into a character part, a vector drawing part, a bitmap image part, and a halftone image part. Compressed data is generated by compressing the character portion, vector drawing portion, bitmap image portion, and halftone image portion, and the data volume registered in the storage medium can be made as small as possible.
[0069]
According to a fourth aspect of the present invention, the converting means (QuickDraw-common document converting apparatus 10-1) is a common document file format in which the plurality of application programs can directly refer to the compressed data converted into a predetermined print data format by the print driver. The compressed data obtained by compressing the drawing information transmitted from each application program to the print driver can be managed as a file that can be shared by each application program.
[0070]
According to a fifth aspect of the present invention, the optical character recognition processing means analyzes the bitmap image portion and the halftone image portion divided by the print driver 6, and the character information is obtained by the OCR device 10-2 (in this embodiment, the print driver 6 It recognizes and extracts (configured as a sub-driver), adds the extracted character information to the already divided character portion, and makes the character image in the image information available as character information.
[0071]
In the sixth aspect of the present invention, a shared file can be transferred between electronic file devices via a predetermined network (see FIG. 5 and the like), and is generated by each application program (application programs 1, 2, and 3) on the network. Can be processed as a shared file.
[0072]
According to each of the above embodiments, paying attention to the fact that the data format output when the application prints is standardized for each OS, the printer driver portion includes a "converting function to a unified file format", "OCR By constructing "function" and "keyword search function", it was possible to save documents created by any commercial application in one unified format, regardless of the difference in PC architecture.
[0073]
Further, according to the present embodiment, the document storage / retrieval apparatus that has been conventionally provided as a stand-alone machine for both hardware and software is based on a commercially available computer, and many commercially available applications are used as a front end. An inexpensive system that can be freely incorporated with a document storage / retrieval function can be provided.
[0074]
Note that the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Further, it goes without saying that the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus.
[0075]
Hereinafter, a file processing method in the electronic file system according to the present invention will be described with reference to FIGS.
[0076]
FIG. 7 is a flowchart showing an example of the main processing procedure of the file processing method in the electronic file system according to the present invention. Note that (1) to (5) indicate steps on the application side, (6) to (13) indicate steps on the OS side, and (14) to (19) indicate steps on the filing driver side.
[0077]
In this embodiment, the processing operations of the application, the OS, and the driver behave as if they are independent tasks even if the OS is a multitasking or single task, as shown in FIG. It is not a problem to describe as three independent tasks. The portion indicated by the dotted arrow in the figure is actually a function call, but in the programming language (C ++) and class definition, the expression “message” is generally used. Let's learn from that example.
[0078]
First, when an application creates a document (1) and files it in the electronic file system according to the present invention, the same operation as a normal printing operation is performed. When the print menu is selected (2), a print start message is sent to the OS. At this time, the OS executes various OS services (6), enters an event loop (7), and starts a driver upon receiving a print start message (8).
[0079]
The filing driver returns an initialization completion message to the OS after executing initialization processing such as register setting and memory space reservation (14). During this time, the OS waits for a reply from the driver in a loop (9).
[0080]
Then, a message indicating that the driver is ready is sent to the application (10). In response, the application exits the loop of step (3) and outputs the GDI code to be drawn on the printer (4). The OS that has received the GDI code remains in the GDI code if the printer (driver) is a GDI printer, or rasterizes the GDI code in the OS and passes it to the printer driver if it is a bitmap printer (11). . A file driver emulates a printer driver and needs to be declared as either a GDI printer or a bitmap printer. Either of them is feasible.
[0081]
If it is declared that it is a GDI printer, the GDI code is sent as it is from the OS, so the GDI code can be easily analyzed in the driver, and if a bitmap is required, the OS system call Can be rasterized.
[0082]
If the printer is declared as a bitmap printer, a GDI service for converting GDI into a bitmap is executed in the OS (11), and a bitmap is passed to the filing driver (15).
If the OS is Windows, even if it is a bitmap, the original GDI code is written in one corner of the bitmap code, so in the present invention, a bitmap is declared.
[0083]
The filing driver analyzes the received GDI code (16), extracts the characteristics of the content written in the manuscript (17), and stores it in the database (18). When a printing completion message arrives from the filing driver to the OS, the processing exits from the loop (12) waiting for processing of the driver, and sends the printing completion message to the application (13). Swap out from. Upon receiving the print completion message from the OS, the application ends the print sequence (5). The filing driver releases the memory space (19) after it is stored in the database in step (18).
[0084]
FIG. 8 is a flowchart showing a detailed procedure of GDI code analysis and feature extraction processing by the filing driver shown in FIG. In addition, (20)-(29) show each step.
[0085]
When the GDI code passed from the application via the OS is acquired (20), the GDI code is analyzed (21), and whether it is an image, a character or a draw is distinguished (21) to (23). In the present embodiment, the term “draw” refers to drawing using a line figure or a plane figure by a set of vector information.
[0086]
If YES in step (21), the GDI code representing the image is compressed using a compression algorithm such as JBIG, JPEG, or MMR, and stored in the image buffer (24).
[0087]
On the other hand, if YES in step (22), the GDI code representing the character is stored in the character buffer, and after receiving a determination as to whether it is a title in the character buffer processing, various information relating to the character (character code, Style and character color) are saved and registered as keywords (25).
[0088]
On the other hand, if YES in step (23), the GDI code of the draw part is subjected to table / graphic determination in a draw information processing routine (details will be described later), and further subjected to statistical processing (27).
[0089]
On the other hand, if NO in step (23), that is, if the GDI code is not one of the above, the control code is processed in step (26) because it is a control code. The contents of the control code are, for example, paper size designation, and may be paper orientation designation, resolution designation, margin designation, page number designation, print number designation, and page break.
[0090]
Next, that is, after steps (24), (25), (26), and (27), preparation for obtaining the next GDI code is started (28). If the control code is an end code, the GDI code analysis ends. If not, the process loops to step (2) to obtain the next GDI code.
[0091]
FIG. 9 is a flowchart showing the detailed procedure of the character buffer processing routine shown in FIG. Note that (30) to (38) indicate steps, in which the character information stored in the character buffer is analyzed to determine whether it is a title character, and a process of registering it as a keyword is performed.
[0092]
In the case of the GDI code, the character code is not always expressed as a series of strings (sentences). The application that discharges the GDI code of a string is about software called an editor. The higher the DTP application is, the more often one character is drawn. A high-level DTP application expresses a high level of text that exceeds the expression capability of the GDI code, and thus often draws one character per character.
[0093]
First, the distance from the previous character is calculated (30), and it is determined whether it is smaller than 1/2 of the character height (31). If NO, that is, 1/2 of the character height. If it is more, it is determined as a word break (32), and the keyword is registered.
[0094]
Among them, the character that seems to be a title is specially stored and used as a title character for searching. The algorithm for determining a title is determined to be a title if the target character is within a quarter of the vertical dimension of the document (33) and the character of the maximum size is in the document (34), (35). . The other characters are registered as keywords other than the title (36). Needless to say, the title itself is also a keyword. On the other hand, if the determination in step (31) is YES, that is, if it is smaller than 1/2 of the height of the character, it is determined that it forms a word with the previous character (37), and the word In order to find a break, the character information is written into the character buffer (38), and the routine is terminated.
[0095]
FIG. 10 is a flowchart showing a detailed procedure of the draw information processing routine shown in FIG. In addition, (40- (50) shows each step. Moreover, a processing operation is demonstrated with reference to the example of draw information shown in FIG.
[0096]
First, it is determined whether or not the GDI code is a straight line (40), and if it is a straight line, a routine for determining whether or not it is a table is entered, but a circle, ellipse, square, polygon, diagonal line, curve, etc. Simply add to the draw group (49) and save.
[0097]
On the other hand, if it is determined in step (40) that the line is a straight line, it is determined whether or not it touches a line in an already registered straight line group (41). The determination method is that any one of the X coordinates and Y coordinates of the two points (start point, end point) of the straight line matches one of the coordinates of the two points of the line in the straight line group, and other coordinates. Can be determined to be in contact with each other if within a predetermined range. For example, as shown in FIG. 11, when it is determined whether or not two lines A and B are in contact, it is only necessary to check whether X1 = X3.
[0098]
Since it is understood that the lines A and B are not diagonal lines, X1 = X3 = X4. Furthermore, since the Y coordinate of the line B must be between the start point and end point of A, it must satisfy Y4 ≦ Y1 ≦ Y3. That is, among the four types of X and Y coordinates having two straight lines, a component in which three coincide with each other is examined, and if they coincide, there is another between the other components of the straight line having two identical components. If the same coordinates are included, it can be determined that they are in contact. When this is true for both the X coordinate and the Y coordinate, the t2 straight lines A and B form a right angle.
[0099]
Therefore, the straight line determined not to contact any straight line group in step (41) is registered as one forming a new straight line group (50).
[0100]
On the other hand, the straight line that is found to be in contact is added as a member of the straight line group (42).
[0101]
Among the X coordinate and Y coordinate having a certain straight line group, the maximum and minimum four are defined as the rectangular area of the straight line group. This rectangular area is recalculated each time a new straight line is added (43). The number of types of only the X coordinate or only the Y coordinate constituting the straight line group is obtained, and the number obtained by subtracting “1” is derived as the number of cells (44).
[0102]
Similarly, the X-coordinate component and the Y-coordinate component are separately arranged in order of size, and the difference between the coordinates approaching each other is the cell size (45).
[0103]
It is determined whether or not a character enters the rectangular area of the straight line group (46). If a character is included, the character is specially registered as a character in the table (47), and the straight line group Is determined to be a table (48). A straight line group that does not contain any characters is not considered a table.
[0104]
【The invention's effect】
As described above, according to the present invention, a computer executing an application and a printer driver can manage drawing information transmitted from each application program to the printer driver as a document file that can be shared by each application program.
In addition, each application program can directly process a document file that can be shared.
In addition, the data volume of drawing information in the common document file format stored in the database can be reduced as much as possible.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating the configuration of an electronic file device according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of an electronic file device according to a second embodiment of the present invention.
FIG. 3 is a block diagram illustrating a configuration of an electronic file device according to a third embodiment of the present invention.
4 is a diagram for explaining a data processing system in the electronic file device shown in FIG. 3; FIG.
FIG. 5 is a block diagram illustrating the configuration of an electronic file system according to a fourth embodiment of the present invention.
FIG. 6 is a block diagram illustrating the configuration of an electronic file device according to a fifth embodiment of the present invention.
FIG. 7 is a flowchart showing an example of a main processing procedure of a file processing method in the electronic file system according to the present invention.
FIG. 8 is a flowchart showing a detailed procedure of GDI code analysis and feature extraction processing by the filing driver shown in FIG. 7;
9 is a flowchart showing a detailed procedure of a character buffer processing routine shown in FIG. 8. FIG.
FIG. 10 is a flowchart showing a detailed procedure of a draw information processing routine shown in FIG. 8;
11 is a diagram showing an example of draw information used in the draw information processing routine shown in FIG. 10; FIG.
[Explanation of symbols]
1 Application
2 application
3 Application
6 Printer driver
10-1 QuickDraw-Common document converter
10-2 OCR equipment
10-3 Keyword extraction device
10-4 Database API (Application Program Interface)
12 Common documents

Claims (7)

複数のアプリケーションプログラムと、前記アプリケーションプログラムから伝達される印刷用の描画情報に基づいて電子ファイリングを行なうためのプリントドライバと、前記アプリケーションプログラム及び前記プリントドライバを実行するコンピュータとを有する電子ファイリング装置であって、
前記コンピュータは、前記アプリケーションプログラムからの印刷指示に応じて起動される前記プリントドライバを実行することによって、当該アプリケーションプログラムから伝達される印刷用の描画情報を受信し、当該受信した印刷用の描画情報を複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換し、当該変換された前記共通文書ファイル形式の描画情報を電子ファイリング用のデータベースに蓄積することを特徴とする電子ファイリング装置。
An electronic filing apparatus having a plurality of application programs, a print driver for performing electronic filing based on printing drawing information transmitted from the application program, and a computer that executes the application program and the print driver. And
The computer, by executing the print driver is activated in response to a print instruction from the application program, receives the drawing information for printing transmitted from the application program, drawing information for printing the received a plurality of application programs into a common document file format that can see directly the electronic filing device comprising a Turkey to accumulate drawing information of the converted the common document file format database for electronic filing.
前記プリントドライバは汎用ドライバであり、前記データベースに蓄積された共通文書ファイル形式の描画情報を前記プリントドライバを介して検索する検索ドライバを更に有することを特徴とする請求項1記載の電子ファイリング装置。2. The electronic filing apparatus according to claim 1, wherein the print driver is a general-purpose driver, and further includes a search driver that searches through the print driver for drawing information in a common document file format stored in the database. 前記印刷用の描画情報は描画コマンドで構成され、
前記コンピュータは、前記プリントドライバを実行することによって、当該アプリケーションプログラムから伝達される前記印刷用の描画情報の各描画コマンドを解析して、複数の部分に分割し、当該分割した複数の部分に基づいて前記印刷用の描画情報を前記共通文書ファイル形式の描画情報に変換することを特徴とする請求項1記載の電子ファイリング装置。
The printing drawing information is composed of drawing commands,
The computer , by executing the print driver, analyzes each drawing command of the printing drawing information transmitted from the application program, divides it into a plurality of parts, and based on the divided parts 2. The electronic filing apparatus according to claim 1, wherein the drawing information for printing is converted into drawing information in the common document file format.
前記分割される複数の部分は、文字部分とベクトル描画部分と画像部分であることを特徴とする請求項3記載の電子ファイリング装置。  4. The electronic filing device according to claim 3, wherein the plurality of divided parts are a character part, a vector drawing part, and an image part. 前記プリントドライバは、プリントドライバをエミュレートしたファイリングドライバであって、
前記コンピュータは、前記アプリケーションプログラムからの印刷指示に応じて起動される前記ファイリングドライバを実行することによって、前記変換された描画情報を前記電子ファイリング用のデータベースに蓄積すると、印刷完了メッセージを送ることを特徴とする請求項1記載の電子ファイリング装置。
The print driver is a filing driver emulating a print driver,
When the computer stores the converted drawing information in the electronic filing database by executing the filing driver activated in response to a print instruction from the application program , the computer sends a print completion message. The electronic filing apparatus according to claim 1, wherein
前記コンピュータは、前記プリントドライバを実行することによって、前記分割された画像部分を解析して当該画像部分に含まれる文字情報を認識して抽出する光学文字認識処理を実行し、当該抽出された文字情報を蓄積することを特徴とする請求項4記載の電子ファイリング装置。Character the computer, by executing the print driver, which performs optical character recognition process for extracting and recognizing the text information contained in the image portion by analyzing the divided image portion is the extracted 5. The electronic filing apparatus according to claim 4, wherein information is stored. 複数のアプリケーションプログラムと、前記アプリケーションプログラムからの印刷指示に応じて起動されるプリントドライバと、前記アプリケーションプログラム及び前記プリントドライバを実行するコンピュータとを有する装置において、前記コンピュータが、前記プリントドライバを実行することにより、前記アプリケーションプログラムから伝達される印刷用の描画情報に基づいて電子ファイリングを行なうように制御する電子ファイリング方法であって、
前記アプリケーションプログラムからの印刷指示に応じて起動されたプリントドライバを前記コンピュータに実行させることによって、前記コンピュータが、当該アプリケーションプログラムから伝達される印刷用の描画情報を受信し、前記受信した印刷用の描画情報を複数のアプリケーションプログラムが直接参照可能な共通文書ファイル形式に変換し、当該変換された前記共通文書ファイル形式の描画情報を電子ファイリング用のデータベースに蓄積するように制御することを特徴とする電子ファイリング方法。
An apparatus having a plurality of application programs, and print driver is activated in response to a print instruction from the application program, and a computer for executing the application program and the print driver, the computer executes the print driver An electronic filing method for controlling to perform electronic filing based on drawing information for printing transmitted from the application program ,
By causing the computer to execute a print driver activated in response to a print instruction from the application program , the computer receives the drawing information for printing transmitted from the application program, and the received printing information The drawing information is converted into a common document file format that can be directly referred to by a plurality of application programs, and the converted drawing information in the common document file format is controlled to be stored in an electronic filing database. Electronic filing method.
JP30044594A 1994-11-18 1994-12-05 Electronic filing device and electronic filing method Expired - Lifetime JP3689441B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30044594A JP3689441B2 (en) 1994-12-05 1994-12-05 Electronic filing device and electronic filing method
US08/560,496 US5907835A (en) 1994-11-18 1995-11-17 Electronic filing system using different application program for processing drawing commands for printing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30044594A JP3689441B2 (en) 1994-12-05 1994-12-05 Electronic filing device and electronic filing method

Publications (2)

Publication Number Publication Date
JPH08161467A JPH08161467A (en) 1996-06-21
JP3689441B2 true JP3689441B2 (en) 2005-08-31

Family

ID=17884893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30044594A Expired - Lifetime JP3689441B2 (en) 1994-11-18 1994-12-05 Electronic filing device and electronic filing method

Country Status (1)

Country Link
JP (1) JP3689441B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260044B1 (en) * 1998-02-04 2001-07-10 Nugenesis Technologies Corporation Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
EP1272940A1 (en) * 2000-04-14 2003-01-08 Picsel Technologies Limited Systems and methods for digital document processing
JP4895340B2 (en) * 2005-03-31 2012-03-14 キヤノン株式会社 Information processing apparatus and method
JP4509173B2 (en) * 2006-12-26 2010-07-21 キヤノンマーケティングジャパン株式会社 Information processing apparatus, control method therefor, program, and computer-readable storage medium
JP4904218B2 (en) 2007-07-19 2012-03-28 キヤノン株式会社 Image processing server, image processing method, computer program, and storage medium

Also Published As

Publication number Publication date
JPH08161467A (en) 1996-06-21

Similar Documents

Publication Publication Date Title
US5907835A (en) Electronic filing system using different application program for processing drawing commands for printing
EP1102204B1 (en) Printing performance enhancements for variable data publishing
US6078403A (en) Method and system for specifying format parameters of a variable data area within a presentation document
US6476930B1 (en) Output processing and merging of hybrid electronic documents
US6817791B2 (en) Idiom recognizing document splitter
JP3683925B2 (en) Electronic filing device
JPH0683879A (en) Method and device for labelling document for preservation, handling and introduction
US7738702B2 (en) Image processing apparatus and image processing method capable of executing high-performance processing without transmitting a large amount of image data to outside of the image processing apparatus during the processing
US20020174100A1 (en) Culturally correct ordering of keyed records
JPH09325928A (en) Method and equipment for communicating message
Merz PostScript & Acrobat/PDF: applications, troubleshooting, and cross-platform publishing
JP2002091726A (en) Printer system
US9524127B2 (en) Method and system for managing print jobs
JP3689441B2 (en) Electronic filing device and electronic filing method
JP2003044472A (en) Information processor, system for processing information, control method for information processor, storage medium and control program
CN113297425B (en) Document conversion method, device, server and storage medium
US7710602B2 (en) Systems and methods for context-based adaptive image processing using segmentation
US20060053119A1 (en) Performing multiple actions on a spool file by assigning a particular action to be performed on each segment of the spool file
US7973954B2 (en) Method and apparatus for automatic language switching for an imaging device
US7352484B2 (en) Printing system and management method therefor
JP6839389B2 (en) Image processing and error handling systems and printing methods for linearized and non-linearized portable document format (Pdf) files
JP2004265425A (en) Message communication method and device
JPH11203282A (en) Data processor, method for processing contents data for data processor and storage medium stored with computer readable program
JP2003308325A (en) Device, method and program for registering data, and recording medium
JP3230916B2 (en) Encoding type recognition method and encoding type recognition device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050613

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080617

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

EXPY Cancellation because of completion of term