JP4915337B2 - Print data processing program, method and apparatus - Google Patents

Print data processing program, method and apparatus Download PDF

Info

Publication number
JP4915337B2
JP4915337B2 JP2007314347A JP2007314347A JP4915337B2 JP 4915337 B2 JP4915337 B2 JP 4915337B2 JP 2007314347 A JP2007314347 A JP 2007314347A JP 2007314347 A JP2007314347 A JP 2007314347A JP 4915337 B2 JP4915337 B2 JP 4915337B2
Authority
JP
Japan
Prior art keywords
graphic
character
drawing command
command
record
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 - Fee Related
Application number
JP2007314347A
Other languages
Japanese (ja)
Other versions
JP2009140127A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007314347A priority Critical patent/JP4915337B2/en
Publication of JP2009140127A publication Critical patent/JP2009140127A/en
Application granted granted Critical
Publication of JP4915337B2 publication Critical patent/JP4915337B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)

Description

本発明は、印刷データの監視技術に関する。   The present invention relates to print data monitoring technology.

近年、文書データの情報漏洩が問題となっている。例えば2006年度の個人情報漏洩インシデント調査結果によると、情報漏洩経路別事故発生件数比率では、紙媒体経由が43.8%とトップを占めている。従って、多くの情報が電子化された現在でも、依然、紙文書による情報漏洩は無視できない。すなわち、機密文書の印刷の監視も、依然重要である。   In recent years, information leakage of document data has become a problem. For example, according to the results of the investigation of personal information leak incidents in 2006, the number of accidents by information leak route was the highest at 43.8%, which is 43.8%. Therefore, even now that a lot of information has been digitized, information leakage due to paper documents cannot be ignored. That is, the monitoring of confidential document printing is still important.

従来の機密文書印刷の監視は、印刷を行う人のユーザIDで行われていた。具体的には、プリンタでの印刷時に、印刷者のユーザIDと印刷文書名や印刷日時をログとして記録する。また、元となる電子ファイルにアクセス権情報として、印刷許可/不許可を設定できるようにし、ユーザID毎に、印刷出来る電子ファイルを制限するという方法が取られていた。   Conventional monitoring of confidential document printing has been performed with the user ID of the person who performs printing. Specifically, the user ID of the printer, the print document name, and the print date and time are recorded as a log when printing with the printer. Further, a method has been adopted in which printing permission / non-permission is set as access right information for the original electronic file, and electronic files that can be printed are restricted for each user ID.

また、ユーザIDとアクセス権に頼らない方法として、印刷データからテキスト情報を抽出し、その中に、個人情報などの機密情報が存在するかどうかを検出する方式もある。この場合、印刷データからテキスト情報を抽出し、予め設定された文字列、例えば人名等が入っていると、管理者に警告が発せられたり、ログとして記録されたりする。   As a method that does not depend on the user ID and access right, there is a method of extracting text information from print data and detecting whether confidential information such as personal information exists in the text information. In this case, if text information is extracted from the print data and a preset character string such as a person name is entered, a warning is issued to the administrator or recorded as a log.

なお、特開平8−221517号公報には、切出し確度の高い文字候補パターンのみに対して文字認識処理を実行することによって、認識処理時間を短縮する技術が開示されている。具体的には、画像メモリに蓄積されている画像データから黒連結成分の外接方形の座標を求める外接方形演算処理部と、個々の外接方形の統合及び統合後の強制切断を行って文字として認識される可能性がある複数の領域を文字候補パターンとして抽出する文字候補パターン抽出部と、文字候補パターンを格納する候補領域格納メモリと、個々の文字候補パターンに対して文字列中の文字としての確からしさを確率的に表す切出し確度を演算する切出し確度設定部とを備えて文字切出し装置を構成するものである。しかし、印刷データの監視という観点は開示されていない。   Japanese Patent Laid-Open No. 8-221517 discloses a technique for shortening the recognition processing time by executing the character recognition process only on the character candidate pattern having a high extraction accuracy. Specifically, the circumscribed rectangle calculation processing unit that obtains the coordinates of the circumscribed rectangle of the black connected component from the image data stored in the image memory, and the individual circumscribed rectangles are integrated and forcibly cut after the integration to be recognized as characters. Character candidate pattern extraction unit that extracts a plurality of areas that may be used as character candidate patterns, a candidate area storage memory that stores character candidate patterns, and character candidates in character strings for individual character candidate patterns A character cutout device is configured by including a cutout accuracy setting unit that calculates a cutout accuracy that probabilistically represents the probability. However, the viewpoint of monitoring print data is not disclosed.

また、特開平8−202883号公報には、正確な図形認識ができるようにする技術が開示されている。具体的には、イメージスキャナ等により2値画像化する入力処理を行う。この2値画像化されたデータに対して輪郭ベクトル群の抽出とその情報圧縮になる輪郭ベクトル処理を行う。得られたベクトルデータから外周輪郭ベクトルだけでベクトル間距離が1mm以上の線幅があるかどうかを判断し、条件を満足したときには次の処理を行って、塗り潰しとなるベクトルを選択する。選択されたデータは塗り潰し図形変換を行う。図形変換データを基に編集修正を行う。なお、条件を満足しなかったときには、一括ポリゴン、ポリライン認識を行う。しかし、印刷データの監視という観点は開示されていない。   Japanese Patent Application Laid-Open No. 8-202883 discloses a technique for enabling accurate figure recognition. Specifically, an input process for forming a binary image by an image scanner or the like is performed. Contour vector processing for extracting the contour vector group and compressing the information is performed on the binary image data. From the obtained vector data, it is determined whether or not there is a line width with an inter-vector distance of 1 mm or more using only the outer contour vector. When the condition is satisfied, the following processing is performed to select a vector to be filled. The selected data is filled and transformed. Edit and modify based on figure conversion data. If the conditions are not satisfied, batch polygon and polyline recognition is performed. However, the viewpoint of monitoring print data is not disclosed.

さらに、特開昭55−82381号公報には、原パターンである2次元パターンを周辺追跡してパターン判定を行う装置が開示されている。具体的には、本装置は、2次元パターンを処理して互いに包含関係にある複数個の閉曲線を抽出する手段と、閉曲線の個々についてその周辺追跡を行って得られる軌跡から閉曲線の形態分類を行う手段を有し、抽出された閉曲線の包含関係と、得られた閉曲線の形態分類結果から原パターンを判定する。しかし、印刷データの監視という観点は開示されていない。   Further, Japanese Patent Application Laid-Open No. 55-82381 discloses an apparatus for performing pattern determination by tracking the periphery of a two-dimensional pattern which is an original pattern. Specifically, the apparatus processes a two-dimensional pattern to extract a plurality of closed curves that are inclusive of each other, and classifies the closed curve from the trajectory obtained by tracking the periphery of each closed curve. And an original pattern is determined from the inclusion relationship of the extracted closed curves and the obtained closed curve shape classification result. However, the viewpoint of monitoring print data is not disclosed.

また、特開平6−150064号公報には、タブレット上に描かれたストロークや文字のサイズをもとに、図形か文字かを認識し、更に入力が文字の場合には表示する文字フォントのサイズを自動的に決定する手書き文字図形入力装置が開示されている。具体的には、タブレット(入力手段)からの手書き入力データからそのストロークや文字のサイズを判定するストローク、文字サイズ判定手段と、この判定結果をもとに、入力が文字か図形かを判断し、文字の場合には表示フォント格納手段内に格納されているフォントのなかから表示する文字フォントを選択し、これを表示手段に表示するよう指示する表示制御手段とを備える。しかし、印刷データの監視という観点は開示されていない。   Japanese Laid-Open Patent Publication No. 6-150064 discloses a character font size to be recognized based on a stroke or a character size drawn on a tablet, and when the input is a character. There is disclosed a handwritten character graphic input device that automatically determines. Specifically, the stroke and character size determination means for determining the size of the stroke and the character from the handwritten input data from the tablet (input means), and the determination result is determined based on the determination result. In the case of characters, display control means for selecting a character font to be displayed from the fonts stored in the display font storage means and instructing the display means to display it is provided. However, the viewpoint of monitoring print data is not disclosed.

さらに、特開平6−141176号公報には、参照エリアを大きくしないで、写真/文字判別の精度を上げるための技術が開示されている。具体的には、記憶部より注目画素を含む4×4の参照エリアの画素データが出力される。補正テーブル部は、この参照エリアの1ライン目の画素値変化箇所と隣接ライン間の画素値変化箇所の個数A、並びに1列目の画素値変化箇所と隣接列間の画素値変化箇所の個数Bを計数し、A,B両方が規定値以上のときにa=”1”を出力する。領域判定部は、a=”1”の画素の連続出現個数を計数し、計数値が規定値以上のときに写真画像と判定しb=”1”を出力する。補正テーブル部はb=”1”の時に写真画像用スムージング補正を選び、b=”0”のときに文字画像用スムージング補正を選ぶ。しかし、文字の可能性を具体的に描画命令を実行してイメージを生成することなく判断するような技術は開示されていない。
特開平8−221517号公報 特開平8−202883号公報 特開昭55−82381号公報 特開平6−150064号公報 特開平6−141176号公報
Further, Japanese Patent Laid-Open No. 6-141176 discloses a technique for improving the accuracy of photo / character discrimination without increasing the reference area. Specifically, pixel data of a 4 × 4 reference area including the target pixel is output from the storage unit. The correction table unit includes the number A of pixel value change points between the first line of the reference area and the adjacent line and the number A of pixel value change points between the first column and the adjacent column. B is counted, and a = “1” is output when both A and B are equal to or greater than the specified value. The area determination unit counts the number of consecutive appearances of pixels with a = “1”, and determines that the image is a photographic image and outputs b = “1” when the count value is equal to or greater than a specified value. The correction table portion selects the photographic image smoothing correction when b = “1”, and selects the character image smoothing correction when b = “0”. However, there is no disclosure of a technique for determining the possibility of a character without specifically generating an image by executing a drawing command.
JP-A-8-221517 JP-A-8-202883 Japanese Patent Laid-Open No. 55-82381 JP-A-6-150064 JP-A-6-141176

文書の印刷内容から、その文書が機密書類であるか否かを正しく判定するには、その文書の印刷データからテキスト情報を抽出しなければならない。しかし、印刷データ中の文字は、全て標準文字コードとして埋め込まれているわけではなく、図形や画像として存在する場合がある。この場合、印刷データから文字コードを抽出するだけでは、全ての文字を正しく抽出することはできない。特に、CONFIDENTIAL等、文書の背景に描画される透かし文字等を抽出できない。   In order to correctly determine whether the document is a confidential document from the print contents of the document, text information must be extracted from the print data of the document. However, not all characters in the print data are embedded as standard character codes, and may exist as graphics or images. In this case, it is not possible to correctly extract all characters simply by extracting the character code from the print data. In particular, watermark characters drawn on the background of documents such as CONFIDENTIAL cannot be extracted.

従って、本発明の目的は、印刷データの監視を効率的且つ有効に実施するための新規な技術を提供することである。   Accordingly, an object of the present invention is to provide a novel technique for efficiently and effectively monitoring print data.

本発明に係る印刷データ処理方法は、印刷処理の途中で生成される印刷メタデータを取得し、記憶装置に格納するステップと、記憶装置に格納されている印刷メタデータに含まれる描画レコードが図形の描画命令を含む場合、当該図形の描画命令を実行することなく、当該図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、当該図形の描画命令によって生成されることとなる描画オブジェクトが、文字の可能性が高いとされる所定の状態にあるか判断する判断ステップと、図形の描画命令によって生成されることとなる描画オブジェクトが所定の状態にあると判断された場合、図形の描画命令に係る描画レコードに従って描画処理を実施し、記憶装置に格納するステップと、描画処理の描画結果に対して文字認識処理を実施するステップとを含む。   The print data processing method according to the present invention includes a step of acquiring print metadata generated in the middle of print processing and storing it in a storage device, and a drawing record included in the print metadata stored in the storage device is a figure. If the drawing command is included, the drawing command of the graphic is generated from the coordinate value of the drawing point included in the drawing record related to the drawing command of the graphic without executing the drawing command of the graphic. When it is determined that the drawing object is in a predetermined state where the possibility of a character is high, and the drawing object to be generated by the drawing command of the graphic is in the predetermined state, A drawing process is performed in accordance with a drawing record related to a drawing command of a figure, and the character recognition process is performed on the drawing result of the drawing process and the step of storing in the storage device And a Hodokosuru step.

このように図形の描画命令をそのまま実行することなく文字の可能性が高いか否かを判断して、文字の可能性が高い場合に図形の描画命令を実行してさらに文字認識処理を実施することにより、効率的且つ有効に印刷データの監視を行うことができるようになる。   In this way, it is determined whether or not the possibility of the character is high without executing the graphic drawing command as it is, and when the character is highly likely, the graphic drawing command is executed and further character recognition processing is performed. As a result, print data can be monitored efficiently and effectively.

本発明に係る印刷データ処理方法は、記憶装置に格納されている印刷メタデータに含まれる描画レコードがイメージの描画命令を含む場合、当該イメージに対して文字認識処理を実施することなく、当該イメージ中の成分が所定の状態にあるか判断する第2判断ステップと、イメージ中の成分が所定の状態にある場合には、上記イメージに対して文字認識処理を実施するステップとをさらに含むようにしても良い。ビットマップなどのイメージデータにも文字が含まれている場合もあるので、このようにすれば効率的且つ有効に印刷データの監視を行うことができるようになる。   In the print data processing method according to the present invention, when the drawing record included in the print metadata stored in the storage device includes an image drawing command, the image is not subjected to character recognition processing without performing the character recognition processing on the image. A second determination step for determining whether or not a component in the image is in a predetermined state; and a step of performing character recognition processing on the image when the component in the image is in a predetermined state. good. Since image data such as a bitmap may also include characters, this makes it possible to monitor print data efficiently and effectively.

さらに、本発明に係る印刷データ処理方法は、文字認識処理の処理結果に所定の文字が含まれることを検出した場合、印刷処理を中断させるステップをさらに含むようにしても良い。このような制御を行うことによって、情報の漏洩を事前に防止することができるようになる。   Furthermore, the print data processing method according to the present invention may further include a step of interrupting the printing process when it is detected that a predetermined character is included in the processing result of the character recognition process. By performing such control, information leakage can be prevented in advance.

また、上で述べた判断ステップが、図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、図形の描画命令によって生成されることとなる描画オブジェクトが、直線状に並んで配置されている状態であるか判断するステップを含むようにしてもよい。文字列は通常直線状に並んでいることが多いためである。   In addition, in the determination step described above, the drawing objects that are generated by the drawing command of the figure are arranged in a straight line from the coordinate value of the drawing point included in the drawing record related to the drawing command of the figure. A step of determining whether or not the state is performed may be included. This is because character strings are usually arranged in a straight line.

さらに、上で述べた判断ステップが、図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、図形の描画命令によって生成されることとなる描画オブジェクトの線幅の変化が、一定範囲内という状態であるか判断するステップを含むようにしてもよい。文字には様々なフォントが存在しているが、線幅の変化はそれほど大きくないので、このような処理を実施することにより判断することができる。   In addition, the determination step described above determines that the change in the line width of the drawing object generated by the drawing command of the figure from the coordinate value of the drawing point included in the drawing record related to the drawing command of the figure is constant. A step of determining whether the state is within the range may be included. Various fonts exist for characters, but the change in line width is not so large, so that it can be determined by performing such processing.

さらに、上で述べた第2判断ステップが、イメージ中の線成分の傾き角が、90度又は実質的に90度間隔で分布するか判断するステップを含むようにしてもよい。漢字などでは、線が比較的直角に交わることが多いので、このような条件を満たせば文字が含まれている可能性が高いと判断できる。   Furthermore, the second determination step described above may include a step of determining whether the inclination angles of the line components in the image are distributed at 90 degrees or substantially at intervals of 90 degrees. In Chinese characters, etc., the lines often intersect at a relatively right angle. Therefore, if these conditions are satisfied, it can be determined that there is a high possibility that the characters are included.

さらに、上で述べた判断ステップが、図形の描画命令に関連する描画レコードに含まれる描画点の座標値の変化量を算出するステップと、描画点の座標値の変化量が所定の閾値以上となる描画区間を特定するステップと、各描画区間について、当該描画区間における描画点の近似直線を算出するステップと、各描画区間について、当該描画区間における描画点を近似直線に投影して描画点の近似直線上の移動量を算出するステップと、各描画区間について、近似直線上の移動量の分布におけるピークのうち移動量最大のピークについての移動量である推定文字間隔移動量を特定するステップと、各描画区間について、特定された推定文字間隔移動量が発生する描画点が等間隔又は実質的に等間隔に発生しているか判断するステップとを含むようにしてもよい。   Further, the determination step described above includes a step of calculating a change amount of the coordinate value of the drawing point included in the drawing record related to the drawing command of the figure, For each drawing section, for each drawing section, calculating an approximate straight line of the drawing point in the drawing section, and for each drawing section, projecting the drawing point in the drawing section onto the approximate line A step of calculating a movement amount on the approximate line; and a step of specifying an estimated character interval movement amount that is a movement amount of the peak of the movement amount among the peaks in the distribution of the movement amount on the approximation line for each drawing section; Determining for each drawing section whether or not the drawing points where the specified estimated character interval movement amount occurs are generated at equal intervals or substantially equal intervals. It may be.

また、上で述べた判断ステップが、図形の描画命令に関連する描画レコードに含まれる描画点の座標値から閉曲線毎に曲線長を算出するステップと、閉曲線毎に、当該閉曲線内の面積を算出するステップと、閉曲線毎に、閉曲線内の面積と曲線長とから単位曲線長あたりの面積を算出するステップと、単位曲線長あたりの面積の変動幅が所定範囲内の閉曲線の区間を特定するステップとを含むようにしてもよい。   In addition, the determination step described above calculates a curve length for each closed curve from the coordinate value of the drawing point included in the drawing record related to the drawing command of the figure, and calculates an area in the closed curve for each closed curve. A step of calculating, for each closed curve, an area per unit curve length from the area and curve length in the closed curve, and a step of specifying a closed curve section in which the fluctuation range of the area per unit curve length is within a predetermined range May be included.

さらに、上で述べた第2判断ステップが、イメージを二値化し、さらに細線化処理を実施するステップと、細線化されたイメージにおいて、各細線の端点及び分岐点を抽出し、当該端点及び分岐点間を結ぶ直線の傾きの分布を特定するステップと、直線の傾きの分布において頻出する傾き角の上位2つを特定するステップと、特定された傾き角の上位2つが、90度又は実質的に90度間隔で配置されているか判断するステップとを含むようにしてもよい。   Further, the second determination step described above includes the step of binarizing the image and further performing the thinning process, and extracting the end point and the branch point of each thin line in the thinned image, and the end point and the branch point. The step of specifying the slope distribution of the straight line connecting the points, the step of specifying the top two slope angles frequently appearing in the slope slope distribution, and the top two of the specified slope angles are 90 degrees or substantially And determining whether or not they are arranged at intervals of 90 degrees.

なお、本印刷データ処理方法は、コンピュータと当該コンピュータによって実行されるプログラムとの組み合わせにて実行される場合があり、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。   The print data processing method may be executed by a combination of a computer and a program executed by the computer. The program may be a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, a hard disk, for example. Stored in a storage medium or a storage device. Moreover, it may be distributed as a digital signal via a network or the like. The intermediate processing result is temporarily stored in a storage device such as a main memory.

本発明によれば、印刷データの監視を効率的且つ有効に実施することができるようになる。   According to the present invention, print data can be monitored efficiently and effectively.

図1に、パーソナルコンピュータなどの従来のコンピュータのシステム構成及び印刷処理のフローを模式的に示す。従来のコンピュータは、ワードプロセッサー・プログラムなどのアプリケーション10、Windows(登録商標)などのオペレーティング・システム(OS:Operating System)11、プリンタ・ドライバ12及びプリンタ13を有している。そして、ユーザから印刷を指示されると、アプリケーション10は、描画命令をOS11に出力する。OS11の所定のモジュールは、印刷メタデータを生成してプリンタ・ドライバ12に出力する。印刷メタデータは、例えばEMF(Enhanced Meta File)、XPS(XML Paper Specification)、PostScript、PDF(Portable Document Format)などが該当する。プリンタ・ドライバ12は、コンピュータに接続されているプリンタ13のためのプリンタ固有データを生成して、プリンタ13に出力する。プリンタ13は、プリンタ固有データを受信して、当該プリンタ固有データに従って印刷処理を実施する。   FIG. 1 schematically shows a system configuration of a conventional computer such as a personal computer and a flow of printing processing. A conventional computer has an application 10 such as a word processor program, an operating system (OS) 11 such as Windows (registered trademark), a printer driver 12 and a printer 13. When printing is instructed by the user, the application 10 outputs a drawing command to the OS 11. A predetermined module of the OS 11 generates print metadata and outputs it to the printer driver 12. Examples of the print metadata include EMF (Enhanced Meta File), XPS (XML Paper Specification), PostScript, PDF (Portable Document Format), and the like. The printer driver 12 generates printer-specific data for the printer 13 connected to the computer and outputs it to the printer 13. The printer 13 receives the printer specific data and performs a printing process according to the printer specific data.

印刷メタデータには、文字描画のためのデータが含まれているが、その文字描画の方法には、1)標準文字コードによる文字描画、2)Type3フォントを用いた文字描画、3)図形としての文字描画、4)ビットマップ画像としての文字描画といったものがある。標準文字コードによる文字描画の場合には、印刷メタデータには標準文字コードが含まれているので、この標準文字コードを抽出すればどのような情報が印刷されるかを把握することができる。しかし、2乃至4の方法が採用されている場合には、標準文字コードは印刷メタデータには含まれておらず、標準文字コードだけに着目していては印刷データの監視という意味では有効性が低くなる。   The print metadata includes data for character drawing. Character drawing methods include 1) character drawing using standard character codes, 2) character drawing using Type 3 fonts, and 3) graphics. 4) Character drawing as a bitmap image. In the case of character drawing using a standard character code, the standard character code is included in the print metadata. Therefore, by extracting this standard character code, it is possible to grasp what information is printed. However, when the methods 2 to 4 are adopted, the standard character code is not included in the print metadata, and if only the standard character code is focused, it is effective in the sense of monitoring the print data. Becomes lower.

そこで、本発明の実施の形態では、図2に示すようなシステムを採用することとする。すなわち、アプリケーション10、OS11、プリンタ・ドライバ12及びプリンタ13については図1と同様であるが、OS11から出力される印刷メタデータを処理するプリントマネージャ200を導入する。プリントマネージャ200は、OS11から出力された印刷メタデータをフックして、以下で述べるような処理を実施し、印刷される情報に問題がなければ、OS11から受け取った印刷メタデータをそのままプリンタ・ドライバ12に出力する。一方、印刷される情報に問題があれば、印刷処理を停止又は中止したり、管理者などに警告などを出力する。単にログを生成して記録するようにするだけでも良い。   Therefore, in the embodiment of the present invention, a system as shown in FIG. 2 is adopted. That is, the application 10, the OS 11, the printer driver 12, and the printer 13 are the same as in FIG. 1, but a print manager 200 that processes print metadata output from the OS 11 is introduced. The print manager 200 hooks the print metadata output from the OS 11 and performs processing as described below. If there is no problem with the information to be printed, the print metadata received from the OS 11 is directly used as a printer driver. 12 is output. On the other hand, if there is a problem with the information to be printed, the printing process is stopped or stopped, or a warning or the like is output to an administrator or the like. It is also possible to simply generate and record a log.

次に、プリントマネージャ200によって実現される機能の機能ブロック図を図3に示す。図3に示されるようにプリントマネージャ200により、印刷メタデータ取得部201と、印刷メタデータ取得部201により取得された印刷メタデータを格納する印刷メタデータ格納部203と、印刷メタデータ格納部203に格納されている印刷メタデータから処理単位毎に描画レコードを抽出する描画レコード抽出部205と、描画レコード抽出部205によって抽出された描画レコードを格納する抽出描画レコード格納部207と、抽出描画レコード格納部207に格納された描画レコードについて判断処理を実施する描画命令判断部209と、描画命令判断部209の指示により抽出描画レコード格納部207に格納された描画レコードについて処理を実施する描画命令処理部211と、描画命令処理部211又は描画命令判断部209の指示により抽出描画レコード格納部207に格納されている描画レコードの実行処理を行う描画命令実行部213と、描画命令処理部211から出力されたイメージ・データ又は描画命令実行部213により生成された描画結果を格納する画像格納部217と、画像格納部217に格納されたデータについて周知の文字認識処理を実施する文字認識部219と、描画命令判断部209によって抽出された標準文字コード又は文字認識部219によって抽出された文字コードを格納する文字コード格納部215と、描画レコード抽出部205からの指示に応じて文字コード格納部215に格納されている文字コードに対して判定処理を実施し、問題がなければ印刷メタデータ格納部203に格納された印刷メタデータをプリンタ・ドライバ12に出力する文字判定部221とが実現される。   Next, a functional block diagram of functions realized by the print manager 200 is shown in FIG. As shown in FIG. 3, a print metadata acquisition unit 201, a print metadata storage unit 203 that stores print metadata acquired by the print metadata acquisition unit 201, and a print metadata storage unit 203 by the print manager 200. A drawing record extraction unit 205 that extracts a drawing record for each processing unit from print metadata stored in the drawing metadata; an extraction drawing record storage unit 207 that stores a drawing record extracted by the drawing record extraction unit 205; and an extraction drawing record A drawing command determination unit 209 that performs a determination process on a drawing record stored in the storage unit 207, and a drawing command process that performs a process on a drawing record stored in the extracted drawing record storage unit 207 according to an instruction from the drawing command determination unit 209 Unit 211 and drawing command processing unit 211 or drawing command determination unit The drawing command execution unit 213 that executes the drawing record stored in the extracted drawing record storage unit 207 according to the instruction 09 and the image data output from the drawing command processing unit 211 or the drawing command execution unit 213 An image storage unit 217 that stores the drawing result, a character recognition unit 219 that performs a well-known character recognition process on the data stored in the image storage unit 217, and a standard character code or character extracted by the drawing command determination unit 209 The character code storage unit 215 that stores the character code extracted by the recognition unit 219 and the character code stored in the character code storage unit 215 in accordance with an instruction from the drawing record extraction unit 205 If there is no problem, the print metadata stored in the print metadata storage unit 203 is transferred to the printer / driver. A character determination unit 221 to be output to the bus 12 is achieved.

以下、図4乃至図20を用いて図3に示した機能ブロックの処理について説明する。まず、印刷メタデータ取得部201は、OS11が印刷メタデータを出力すると、当該印刷メタデータをフックして印刷メタデータ格納部203に格納する(ステップS1)。このようにして、印刷メタデータを一旦プリンタ・ドライバ12に出力しないようにする。印刷メタデータは、例えば図5に示すような構造を有する。   The processing of the functional blocks shown in FIG. 3 will be described below using FIGS. First, when the OS 11 outputs print metadata, the print metadata acquisition unit 201 hooks the print metadata and stores it in the print metadata storage unit 203 (step S1). In this way, the print metadata is not output to the printer driver 12 once. The print metadata has a structure as shown in FIG. 5, for example.

図5に示すように、印刷メタデータは、複数の描画レコードで構成される。描画レコードには、描画ペンの作成、描画開始位置(描画座標)の設定、各種描画命令(直線描画、円弧描画、ベジェ曲線描画、文字の描画など)、描画ペンの破棄などであって、印刷に必要なデータが複数の描画レコードにて規定されている。描画レコードの順番に特に規則はないので、例えば描画ペンの作成と描画開始位置の設定の順番は、逆転する場合もある。標準文字コードでの文字描画であれば、標準文字コード及びフォント種別が含まれており、Type3フォントを用いた文字描画であれば、グリフ(Gryph)IDとフォントデータが含まれており、図形による文字描画の場合には、1又は複数の輪郭線の描画命令及び描画開始位置が含まれており、イメージによる文字描画の場合には、ビットマップ画像及び描画開始位置等が含まれている。これらを用いて以下の処理を行う。   As shown in FIG. 5, the print metadata is composed of a plurality of drawing records. The drawing record includes drawing pen creation, drawing start position (drawing coordinate) setting, various drawing commands (straight line drawing, arc drawing, Bezier curve drawing, character drawing, etc.), drawing pen destruction, etc. Necessary data is specified in multiple drawing records. Since there is no particular rule in the order of the drawing records, for example, the order of creating the drawing pen and setting the drawing start position may be reversed. For character drawing with the standard character code, the standard character code and font type are included, and for character drawing using the Type 3 font, the glyph ID and font data are included. In the case of character drawing, a drawing command and drawing start position of one or a plurality of contour lines are included, and in the case of character drawing by an image, a bitmap image, a drawing start position, and the like are included. The following processing is performed using these.

図6に示すような一般的な印刷物を印刷する場合、全てが標準文字コードで文字が印刷されるのではなく、図7に示すように、「新入社員の研修日程について」については例えば文節毎にイメージとして文字を描画し、「第1日目」から「運用コスト試算」までの文字については標準文字コードによる文字描画(テキスト文字として描画)を行い、「関係者外秘」については、図形(ポリゴン)として描画し、右下の絵については図形(ポリゴン)として描画する。このように様々な描画方法が採用されている場合には、印刷メタデータには、各描画方法についての描画レコードが全て含まれる。各文字は複数の描画レコードで構成される場合もある。   When printing a general printed matter as shown in FIG. 6, not all characters are printed with standard character codes, but as shown in FIG. Characters are drawn as images, and characters from “Day 1” to “Operational cost calculation” are drawn with standard character codes (drawn as text characters), and “Stakeholder Confidential” is a figure. (Polygon) is drawn, and the lower right picture is drawn as a figure (polygon). When various drawing methods are employed in this way, the print metadata includes all drawing records for each drawing method. Each character may be composed of a plurality of drawing records.

図4の処理の説明に戻って、描画レコード抽出部205は、印刷メタデータ格納部203から、例えば描画命令の種別が変化するまで未処理の描画レコードを読み出し、抽出描画レコード格納部207に格納する(ステップS3)。図7に示した例でも、1つイメージを描画した後に、標準文字コードの文字を1つ描画するということも可能であるが、通常はある程度のかたまりでイメージを連続して描画し、標準文字コードの文字を連続して描画し、図形を連続して描画するため、ステップS3では、描画方法が同じ描画レコードについては一括して処理する。   Returning to the description of the processing in FIG. 4, the drawing record extraction unit 205 reads out an unprocessed drawing record from the print metadata storage unit 203 until, for example, the type of the drawing command changes, and stores it in the extraction drawing record storage unit 207. (Step S3). In the example shown in FIG. 7, it is possible to draw one character of the standard character code after drawing one image, but usually the image is drawn continuously in a certain chunk and the standard character is drawn. In order to draw the character of the code continuously and draw the figure continuously, in step S3, drawing records having the same drawing method are processed collectively.

そして、描画命令判断部209は、抽出描画レコード格納部207を参照して、格納されている描画レコードが、標準文字コードによる文字描画を指示するものであるか判断する(ステップS5)。抽出描画レコード格納部207に格納されている描画レコードが、標準文字コードによる文字描画を指示するものである場合には、当該標準文字コードを描画レコードから抽出し、文字コード格納部215に格納する(ステップS7)。そして処理は、端子Aを介して図20に移行する。   Then, the drawing command determination unit 209 refers to the extracted drawing record storage unit 207 to determine whether the stored drawing record is an instruction for character drawing using a standard character code (step S5). When the drawing record stored in the extracted drawing record storage unit 207 is an instruction to draw characters using the standard character code, the standard character code is extracted from the drawing record and stored in the character code storage unit 215. (Step S7). Then, the processing shifts to FIG.

一方、標準文字コードによる文字描画を指示するものではない場合には、描画命令判断部209は、抽出描画レコード格納部207に格納されている描画レコードが、Type3フォントによる文字描画を指示するものであるか判断する(ステップS9)。抽出描画レコード格納部207に格納されている描画レコードが、Type3フォントによる文字描画を指示するものである場合には、描画命令判断部209は、描画命令実行部213に指示を出力し、描画命令実行部213は、抽出描画レコード格納部207に格納されている描画レコードの描画命令を実行して画像として実体化し、画像格納部217に格納する(ステップS11)。そして、文字認識部219は、画像格納部217に格納されているイメージ・データに対して周知の文字認識処理を実施する(ステップS13)。そして、端子Aを介して図20の処理に移行する。   On the other hand, when the character drawing by the standard character code is not instructed, the drawing command determination unit 209 instructs the drawing record stored in the extracted drawing record storage unit 207 to perform the character drawing by the Type 3 font. It is determined whether or not there is (step S9). When the drawing record stored in the extracted drawing record storage unit 207 is an instruction to draw a character using Type 3 font, the drawing command determination unit 209 outputs an instruction to the drawing command execution unit 213 to output the drawing command. The execution unit 213 executes a drawing record drawing command stored in the extracted drawing record storage unit 207, materializes it as an image, and stores it in the image storage unit 217 (step S11). Then, the character recognition unit 219 performs a well-known character recognition process on the image data stored in the image storage unit 217 (step S13). And it transfers to the process of FIG.

一方、Type3フォントによる文字描画を指示するものではない場合には、描画命令判断部209は、図形(ポリゴン)の描画であるか判断する(ステップS15)。図形の描画である場合には、描画命令判断部209は、描画命令処理部211に指示して、第1文字包含判断処理を実施する(ステップS17)。   On the other hand, when it is not an instruction to draw a character using Type 3 font, the drawing command determination unit 209 determines whether the drawing is a figure (polygon) (step S15). In the case of drawing a figure, the drawing command determination unit 209 instructs the drawing command processing unit 211 to perform a first character inclusion determination process (step S17).

第1文字包含判断処理については、図8乃至図18を用いて説明する。なお、本実施の形態では、2つの第1文字包含判断処理について説明するが、これらのうちいずれかを実施するようにしても良いし、両方を重複して実施するようにしても良い。   The first character inclusion determination process will be described with reference to FIGS. In the present embodiment, two first character inclusion determination processes will be described. However, either of these may be performed, or both may be performed in duplicate.

まず図8乃至図15を用いて1つ目の第1文字包含判断処理(第1文字包含判断処理A)について説明する。第1文字包含判断処理Aは、文字は等間隔に直線状に配置されることが多いという性質を用いて文字の可能性が高いか否かを判断するものである。   First, the first first character inclusion determination process (first character inclusion determination process A) will be described with reference to FIGS. The first character inclusion determination process A is to determine whether or not the possibility of a character is high by using the property that characters are often arranged in a straight line at equal intervals.

まず、描画命令処理部211は、抽出描画レコード格納部207に格納されている描画レコードから、描画点の描画座標を抽出する(ステップS31)。そして、描画座標の変化量を算出し、例えばメインメモリなどの記憶装置に格納する(ステップS33)。例えば、1番目の描画座標と2番目の描画座標との距離を変化量として算出し、2番目の描画座標と3番目の描画座標との距離を変化量として算出し、といったように、順番に変化量を算出する。   First, the drawing command processing unit 211 extracts the drawing coordinates of the drawing point from the drawing record stored in the extracted drawing record storage unit 207 (step S31). Then, the amount of change in drawing coordinates is calculated and stored in a storage device such as a main memory (step S33). For example, the distance between the first drawing coordinate and the second drawing coordinate is calculated as the change amount, the distance between the second drawing coordinate and the third drawing coordinate is calculated as the change amount, and so on. The amount of change is calculated.

例えば、図9に示すように、1乃至6が第1のサイズで図形により描画される文字であり、7乃至11が第2のサイズで図形により描画される文字であり、右下には数千個の図形がランダムに配置されているような場合を考える。このような場合、通常であれば、1乃至6の文字を描画した後に、7乃至11の文字を描画し、さらに数千個の図形をランダムに描画する。このように、1乃至6の文字を左から順番に描画する場合には、その輪郭線の描画開始位置の変化量は、大小はあるもののそれほど大きく変化はしない。同様に、7乃至11の文字を左下から右上に順番に描画する場合には、その輪郭線の描画開始位置の変化量は、大小はあるもののそれほど大きくは変化しない。文字が大きいので1乃至6の文字の場合に比して相対的に大きくなる。但し、6の文字から7の文字の描画に遷移する際に描画開始位置の変化量は大きくなる。同様に、11の文字から数千個の図形のうち最初の図形の描画に遷移する際にも描画開始位置の変化量は大きくなる。移動量をグラフ化して模式的に示せば、図10に示すようになる。図10では、横軸は、描画の順番を示しており、縦軸は、描画開始位置の移動量を示している。このように、☆印で示すように移動量のピークが2つ現れ、3つの区間に分かれていることを特定できるようになる。   For example, as shown in FIG. 9, 1 to 6 are characters drawn by a graphic at a first size, 7 to 11 are characters drawn by a graphic at a second size, Consider a case where 1000 figures are randomly arranged. In such a case, normally, after drawing 1 to 6 characters, 7 to 11 characters are drawn, and several thousand figures are drawn at random. As described above, when the characters 1 to 6 are drawn in order from the left, the amount of change in the drawing start position of the contour line is large or small but does not change so much. Similarly, when the characters 7 to 11 are drawn in order from the lower left to the upper right, the amount of change in the drawing start position of the contour line is large but small and does not change so much. Since the characters are large, they are relatively large compared to the case of 1 to 6 characters. However, the amount of change in the drawing start position increases when transitioning from drawing 6 characters to drawing 7 characters. Similarly, the amount of change in the drawing start position also increases when transitioning from drawing 11 characters to drawing the first of several thousand figures. If the movement amount is graphed and schematically shown, it is as shown in FIG. In FIG. 10, the horizontal axis indicates the drawing order, and the vertical axis indicates the movement amount of the drawing start position. In this way, as indicated by the asterisks, two movement amount peaks appear, and it can be specified that the movement is divided into three sections.

図8の説明に戻って、描画命令処理部211は、描画座標の変化量(例えば図10のようなグラフ)に対して周知の平滑化処理を実施し、例えばメインメモリなどの記憶装置に格納する(ステップS35)。このような平滑化処理によって、図10のグラフにおいて小さなピークが丸められ、2つの大きなピークを特定しやすくなる。そして、平滑化後の描画座標の変化量が閾値を超える箇所を検出し、描画区間を特定する(ステップS37)。図10のようなグラフの場合には、2つのピークから、第1乃至第3の区間を特定する。すなわち、第1の区間が、最初からX1番目の描画開始位置までであり、第2の区間がX1+1番目からX2番目の描画開始位置までであり、第3の区間がX2+1から最後の描画開始位置までである。ほぼ1乃至6の文字が第1の区間になり、7乃至11の文字が第2の区間になり、残りが第3の区間になる。   Returning to the description of FIG. 8, the drawing command processing unit 211 performs a known smoothing process on the amount of change in drawing coordinates (for example, a graph as shown in FIG. 10), and stores it in a storage device such as a main memory. (Step S35). By such a smoothing process, a small peak is rounded in the graph of FIG. 10, and it becomes easy to specify two large peaks. And the location where the variation | change_quantity of the drawing coordinate after smoothing exceeds a threshold value is detected, and a drawing area is specified (step S37). In the case of the graph as shown in FIG. 10, the first to third sections are specified from the two peaks. That is, the first section is from the first to the X1th drawing start position, the second section is from the X1 + 1st to the X2nd drawing start position, and the third section is from the X2 + 1 to the last drawing start position. Up to. Approximately 1 to 6 characters are the first interval, 7 to 11 characters are the second interval, and the rest are the third interval.

そして、描画命令処理部211は、各区間において、描画点付近を通る直線を例えば最小自乗法にて算出する(ステップS39)。例えば7乃至11がCONFIDENTIALのような文字であれば、図11に模式的に示すような直線が算出される。小さい点は描画点である。なお、数千個の図形の部分にも、直線が算出されるが、以下の処理で文字の可能性小と判断される。   Then, the drawing command processing unit 211 calculates a straight line passing through the vicinity of the drawing point in each section, for example, by the method of least squares (step S39). For example, if 7 to 11 are characters such as CONFIDENTIAL, a straight line as schematically shown in FIG. 11 is calculated. Small points are drawing points. A straight line is also calculated for thousands of figures, but it is determined that the possibility of a character is small by the following processing.

その後、描画命令処理部211は、1つの未処理区間を特定し(ステップS41)、描画点移動判定処理を実施する(ステップS43)。描画点移動判定処理については、図12を用いて説明する。なお、描画点移動判定処理の後には端子Dを介して図15の処理に移行する。まず、描画命令処理部211は、描画点を、ステップS39で算出された直線に投影した際の位置及び移動量を算出し、例えばメインメモリなどの記憶装置に格納する(ステップS61)。例えば、第1の描画点の投影位置と、第2の描画点の投影位置との距離を移動量として算出し、第2の描画点の投影位置と、第3の描画点の投影位置との距離を移動量として算出し、といったように直線上における移動量を算出してゆく。   Thereafter, the drawing command processing unit 211 identifies one unprocessed section (step S41), and performs a drawing point movement determination process (step S43). The drawing point movement determination process will be described with reference to FIG. After the drawing point movement determination process, the process proceeds to the process of FIG. First, the drawing command processing unit 211 calculates the position and amount of movement when the drawing point is projected onto the straight line calculated in step S39, and stores it in a storage device such as a main memory (step S61). For example, the distance between the projection position of the first drawing point and the projection position of the second drawing point is calculated as a movement amount, and the projection position of the second drawing point and the projection position of the third drawing point are calculated. The distance is calculated as the movement amount, and the movement amount on the straight line is calculated.

例えば、図11の例では、図13に示すような移動量の変化を得られる。図13では、横軸は描画点の移動順番を示し、縦軸は直線上の描画点の移動量を示す。このように、文字内の移動量(例えば「C」「O」「N」を描画中の移動量)の絶対値はあまり大きくないが、文字間を移動する際には移動量の絶対値は大きくなる。もし、文字列でない区間であれば、移動量はばらばらであって、ピークが規則的に現れることはなく、ピークはばらばらで特徴的な規則はない。   For example, in the example of FIG. 11, a change in the movement amount as shown in FIG. 13 can be obtained. In FIG. 13, the horizontal axis indicates the order of movement of the drawing points, and the vertical axis indicates the amount of movement of the drawing points on the straight line. As described above, the absolute value of the movement amount within the character (for example, the movement amount during drawing of “C”, “O”, and “N”) is not so large, but when moving between characters, the absolute value of the movement amount is growing. If it is a section that is not a character string, the amount of movement is disjoint, the peaks do not appear regularly, and the peaks are disjoint and there are no characteristic rules.

そして、描画命令処理部211は、移動量のヒストグラムを生成し、例えばメインメモリなどの記憶装置に格納する(ステップS63)。図11の例では、例えば図14に示すようなヒストグラムが得られる。図14では、横軸は描画点の移動量を表し、縦軸は頻度を表す。図11のような例では、文字内の移動量を代表する小さい移動量のピークと、文字間の移動量を代表する大きい移動量のピークの2つのピークが現れる。もし、文字列でない区間であれば、移動量がばらばらなので意味のあるピークは現れない。   Then, the drawing command processing unit 211 generates a movement amount histogram and stores it in a storage device such as a main memory (step S63). In the example of FIG. 11, for example, a histogram as shown in FIG. 14 is obtained. In FIG. 14, the horizontal axis represents the amount of movement of the drawing point, and the vertical axis represents the frequency. In an example as shown in FIG. 11, two peaks, a small movement amount peak representing the movement amount within the character and a large movement amount peak representing the movement amount between characters, appear. If it is a section that is not a character string, a meaningful peak does not appear because the amount of movement varies.

その後、描画命令処理部211は、ヒストグラムにおけるピーク位置から、文字間移動時の推定移動量を特定する(ステップS65)。具体的には、ヒストグラムにおけるピークのうち移動量が最も大きいピークを特定し、当該ピークの移動量を、文字間移動時の推定移動量として特定する。   Thereafter, the drawing command processing unit 211 specifies an estimated movement amount at the time of movement between characters from the peak position in the histogram (step S65). Specifically, the peak having the largest movement amount among the peaks in the histogram is specified, and the movement amount of the peak is specified as the estimated movement amount at the time of movement between characters.

さらに、描画命令処理部211は、文字間移動時の推定移動量に一致する又はほぼ一致する描画位置(ここでは直線上に投影した際の位置)を特定する(ステップS67)。具体的には、
|描画位置の移動量−文字間移動時の推定移動量|/(文字間移動時の推定移動量)<α
を満たすような描画点の位置を特定する。なお、αは、微小の閾値である。図11の例では、図13に示すグラフにおける☆印の位置で、上記の条件を満たすようになるので、その描画点の直線上の投影位置を特定する。
Further, the drawing command processing unit 211 specifies a drawing position (in this case, a position when projected onto a straight line) that matches or substantially matches the estimated movement amount during the movement between characters (step S67). In particular,
| Drawing position movement amount-Estimated movement amount during movement between characters | / (Estimated movement amount during movement between characters) <α
The position of the drawing point that satisfies the above is specified. Α is a minute threshold value. In the example of FIG. 11, the above condition is satisfied at the position of the ☆ mark in the graph shown in FIG. 13, so the projection position on the straight line of the drawing point is specified.

そして、描画命令処理部211は、ステップS67で特定された描画位置間の距離(ここでは直線上に投影した際の距離)を算出し、例えばメインメモリなどの記憶装置に格納する(ステップS69)。   Then, the drawing command processing unit 211 calculates the distance between the drawing positions specified in step S67 (here, the distance when projected onto a straight line) and stores it in a storage device such as a main memory (step S69). .

このようにして、直線上の描画点の移動状況を特定する。   In this way, the movement situation of the drawing points on the straight line is specified.

そして、端子Dの後の図15の処理の説明に移行して、描画命令処理部211は、ステップS69で算出された距離が一致又はほぼ一致しているか判断する(ステップS45)。すなわち、文字がほぼ等間隔で並んでいるか判断する。例えば、距離の差が、予め定められた閾値未満であるか判断する。距離がほぼ一致すると判断された場合には、処理対象区間について文字の可能性大と設定し、例えばメインメモリなどの記憶装置に格納する(ステップS47)。一方、距離がほぼ一致するとは判断できない場合には、処理対象区間について文字の可能性小と設定し、例えばメインメモリなどの記憶装置に格納する(ステップS49)。そして、ステップS47又はS49の後に、全ての区間について処理したか判断し(ステップS51)、未処理の区間が存在する場合には端子Eを介してステップS41に戻り、未処理の区間が存在しない場合には元の処理に戻る。   Then, the description shifts to the description of the processing in FIG. 15 after the terminal D, and the drawing command processing unit 211 determines whether the distances calculated in step S69 match or substantially match (step S45). That is, it is determined whether or not the characters are arranged at almost equal intervals. For example, it is determined whether the difference in distance is less than a predetermined threshold. If it is determined that the distances are substantially the same, the processing target section is set as having a high possibility of characters and stored in a storage device such as a main memory (step S47). On the other hand, if it is not possible to determine that the distances are substantially the same, the processing target section is set to be less likely to be a character, and stored in a storage device such as a main memory (step S49). Then, after step S47 or S49, it is determined whether or not all sections have been processed (step S51). If there is an unprocessed section, the process returns to step S41 via the terminal E, and there is no unprocessed section. If so, return to the original process.

このようにすれば、描画オブジェクトがほぼ等間隔に直線状に並んでいる区間を特定することができ、その区間について文字の可能性大と判定することができるようになる。   In this way, it is possible to specify a section in which drawing objects are arranged in a straight line at substantially equal intervals, and it is possible to determine that the possibility of characters in the section is high.

次に、図16乃至図18を用いて、2つ目の第1文字包含判断処理(第1文字包含判断処理B)について説明する。図16(a)には文字の一例として「関」という漢字が示されている。文字の場合フォントの種類にもよるが、図形の線幅(例えば閉曲線で囲まれる領域の面積/閉曲線の長さ又は2×(閉曲線で囲まれる領域の面積)/閉曲線の長さ)はあまり変動することはない。一方、図16(b)には文字以外のポリゴンの一例を示しているが、このようなポリゴンの場合、図形の線幅については様々に変化する。第1文字包含判断処理Bでは、このような特徴を用いて文字の可能性の高い部分を特定する。   Next, the second first character inclusion determination process (first character inclusion determination process B) will be described with reference to FIGS. 16 to 18. FIG. 16A shows a Chinese character “Kan” as an example of a character. For characters, depending on the font type, the line width of the figure (for example, the area of the area surrounded by the closed curve / the length of the closed curve or 2 × (the area of the area surrounded by the closed curve) / the length of the closed curve) varies greatly. Never do. On the other hand, FIG. 16B shows an example of a polygon other than a character. In the case of such a polygon, the line width of the figure changes variously. In the first character inclusion determination process B, such a feature is used to identify a portion having a high possibility of a character.

まず、描画命令処理部211は、抽出描画レコード格納部207から、閉曲線単位で、描画レコードを抽出する(ステップS71)。そして、閉曲線毎に曲線長を算出し、例えばメインメモリなどの記憶装置に格納する(ステップS73)。描画点の間については直線近似して距離を求めるようにしても良い。その後、閉曲線毎に、当該閉曲線内の面積を算出し、例えばメインメモリなどの記憶装置に格納する(ステップS75)。面積については、例えば描画点で構成される三角形や四角形に分割して、加算減算を行うことによって算出することができる。このような手法は周知であるからここでは詳細な説明を省略する。   First, the drawing command processing unit 211 extracts drawing records in units of closed curves from the extracted drawing record storage unit 207 (step S71). Then, the curve length is calculated for each closed curve and stored in a storage device such as a main memory (step S73). The distance between the drawing points may be obtained by linear approximation. Thereafter, for each closed curve, the area in the closed curve is calculated and stored in a storage device such as a main memory (step S75). The area can be calculated by, for example, dividing into triangles or quadrangles composed of drawing points and performing addition / subtraction. Since such a method is well known, detailed description thereof is omitted here.

さらに、描画命令処理部211は、閉曲線毎に、単位曲線長あたりの面積を算出し、例えばメインメモリなどの記憶装置に格納する(ステップS77)。具体的には、ステップS75で算出された面積/ステップS73で算出された閉曲線の曲線長で算出される。そして、単位曲線長あたりの面積を列挙して、その変動幅が所定範囲内の区間を抽出する(ステップS79)。図18に一例を示す。図18の例では、横軸は描画の順番を表し、縦軸は単位曲線長あたりの面積を表す。図18に示すように、小さい文字の文字列では、単位曲線長あたりの面積は、低位安定でばらつきは少なく、大きい文字の文字列では、単位曲線長あたりの面積、高位安定でばらつきは少ない。一方、文字列でない区間では、単位曲線長あたりの面積は、大きくばらつく。従ってステップS79では、単位曲線長あたりの面積の変動幅が所定範囲内の区間(閉曲線の区間)を特定する。   Further, the drawing command processing unit 211 calculates an area per unit curve length for each closed curve, and stores the calculated area in a storage device such as a main memory (step S77). Specifically, it is calculated by the area calculated in step S75 / the curve length of the closed curve calculated in step S73. Then, the areas per unit curve length are listed, and sections whose fluctuation range is within a predetermined range are extracted (step S79). An example is shown in FIG. In the example of FIG. 18, the horizontal axis represents the drawing order, and the vertical axis represents the area per unit curve length. As shown in FIG. 18, in the character string of a small character, the area per unit curve length is low and stable, and the variation is small. In the character string of a large character, the area per unit curve length is high and stable and the variation is small. On the other hand, in a section that is not a character string, the area per unit curve length varies greatly. Accordingly, in step S79, a section (closed curve section) in which the fluctuation range of the area per unit curve length is within a predetermined range is specified.

そして、描画命令処理部211は、抽出された閉曲線の区間については文字の可能性大を設定し、抽出された閉曲線の区間以外の区間については文字の可能性小を設定し、例えばメインメモリなどの記憶装置に格納する(ステップS81)。   Then, the drawing command processing unit 211 sets a high possibility of a character for the extracted closed curve section, and sets a low possibility of a character for a section other than the extracted closed curve section. For example, the main memory or the like (Step S81).

このようにすれば、線幅に基づき文字の可能性が大である区間を抽出することができるようになる。   In this way, it is possible to extract a section where the possibility of characters is large based on the line width.

図4の処理フローの説明に戻って、ステップS17の後に、描画命令処理部211は、文字の可能性大とされた区間又は部分が存在するか判断する(ステップS21)。文字の可能性大とされた区間又は部分が存在しない場合には、端子Bを介して図20のステップS113に移行する。一方、文字の可能性大とされた区間又は部分が存在した場合には、描画命令処理部211は、描画命令実行部213に指示を出力し、描画命令実行部213は、抽出描画レコード格納部207に格納されている描画レコードについての描画命令を実行して画像として実体化し、画像格納部217に格納する(ステップS23)。なお、文字の可能性大とされた区間又は部分についてのみ画像として実体化するようにしてもよいし、念のため全体を画像として実体化させるようにしてもよい。一方、ステップS15で図形の描画ではないと判断された場合には、イメージの描画であるから、描画命令処理部211は、第2文字包含判断処理を実行する(ステップS19)。この第2文字包含判断処理の後にステップS21に移行する。第2文字包含判断処理を経てステップS23に到達した場合には、ステップS23で、描画命令処理部211は、抽出描画レコード格納部207から、ビットマップ画像を抽出して、画像格納部217に格納する。そして、ステップS13に移行する。   Returning to the description of the processing flow in FIG. 4, after step S <b> 17, the drawing command processing unit 211 determines whether or not there is a section or a portion that is considered to have a high possibility of characters (step S <b> 21). If there is no section or part that is considered to have a high possibility of characters, the process proceeds to step S113 in FIG. On the other hand, when there is a section or a part that is considered to have a high possibility of characters, the drawing command processing unit 211 outputs an instruction to the drawing command execution unit 213, and the drawing command execution unit 213 receives the extracted drawing record storage unit. A drawing command for the drawing record stored in 207 is executed and materialized as an image, and stored in the image storage unit 217 (step S23). It should be noted that only a section or a portion having a high possibility of characters may be materialized as an image, or the whole may be materialized as an image just in case. On the other hand, when it is determined in step S15 that the figure is not drawn, the drawing command processing unit 211 executes the second character inclusion determination process because the image is drawn (step S19). After the second character inclusion determination process, the process proceeds to step S21. When step S23 is reached through the second character inclusion determination process, the drawing command processing unit 211 extracts a bitmap image from the extracted drawing record storage unit 207 and stores it in the image storage unit 217 in step S23. To do. Then, the process proceeds to step S13.

図19を用いて第2文字包含判断処理について説明する。本実施の形態では、主に漢字であれば直交する直線が多数存在するという性質を用いて、ビットマップ画像に文字が含まれる可能性が高いか否かを判断するものである。   The second character inclusion determination process will be described with reference to FIG. In the present embodiment, it is determined whether or not there is a high possibility that characters are included in the bitmap image by using the property that there are a large number of orthogonal lines mainly for Chinese characters.

まず、描画命令処理部211は、抽出描画レコード格納部207から描画レコードに含まれるビットマップ画像のデータを抽出する(ステップS91)。そして、当該ビットマップ画像を周知の手法にて二値化し(ステップS93)、さらに周知の細線化処理を実施する(ステップS97)。二値化及び細線化の処理結果は、例えばメインメモリなどの記憶装置に格納する。さらに、細線化されたビットマップ画像中の細線における端点及び分岐点を抽出し(ステップS97)、端点同士、分岐点同士、及び端点と分岐点を結ぶ直線の傾き角度を特定する(ステップS99)。   First, the drawing command processing unit 211 extracts bitmap image data included in the drawing record from the extracted drawing record storage unit 207 (step S91). Then, the bitmap image is binarized by a known method (step S93), and further known thinning processing is performed (step S97). The binarization and thinning processing results are stored in a storage device such as a main memory. Further, the end points and branch points of the thin lines in the thinned bitmap image are extracted (step S97), and the inclination angles of the end points, the branch points, and the straight line connecting the end points and the branch points are specified (step S99). .

そして、描画命令処理部211は、ステップS99で特定された傾き角度についてヒストグラムを生成し、頻出角度の上位2つを特定する(ステップS101)。ここで、頻出角度の上位2つの差が直角又はほぼ直角であれば文字の可能性大と設定し、そうでなければ文字の可能性小と設定し、例えばメインメモリなどの記憶装置に格納する(ステップS103)。そして元の処理に戻る。   Then, the drawing command processing unit 211 generates a histogram for the tilt angle identified in step S99, and identifies the top two frequently occurring angles (step S101). Here, if the difference between the top two of the frequent angles is a right angle or almost a right angle, the character possibility is set to be high, and if not, the character possibility is set to be low and stored in a storage device such as a main memory. (Step S103). Then, the process returns to the original process.

このようにして、ビットマップ画像において文字が含まれる可能性について判断することができる。但し、他の手法を用いるようにしても良い。   In this way, it is possible to determine the possibility that characters are included in the bitmap image. However, other methods may be used.

次に、図4の端子A以降の処理(図20)について説明する。図4の端子Aの前に、文字認識処理を実施しているので、文字認識部219は、当該文字認識処理の処理結果である文字コードを文字コード格納部215に格納する(ステップS111)。その後、描画レコード抽出部205は、全ての描画レコードを処理したか判断する(ステップS113)。未処理の描画レコードが存在する場合にはステップS3(図4)に戻る。一方、全ての描画レコードについて処理した場合には、描画レコード抽出部205は、文字判定部221に指示を出力し、文字判定部221は、文字コードが文字コード格納部215に格納されているか判断する(ステップS115)。上で述べた処理を実施しても全て絵だけで、文字が含まれていない場合もあるので、ここで判断する。文字コードが含まれていない場合にはステップS119に移行する。一方、文字コードが含まれている場合には、文字判定部221は、文字コードを解析する処理を実施する(ステップS117)。例えば、特定すべき文字列についての文字コードを予め格納したファイル等(図示せず)を用意しておき、当該ファイルを参照して一致するか否かを判断する。   Next, processing after the terminal A in FIG. 4 (FIG. 20) will be described. Since the character recognition process is performed before the terminal A in FIG. 4, the character recognition unit 219 stores the character code, which is the processing result of the character recognition process, in the character code storage unit 215 (step S111). Thereafter, the drawing record extraction unit 205 determines whether all drawing records have been processed (step S113). If there is an unprocessed drawing record, the process returns to step S3 (FIG. 4). On the other hand, when all drawing records have been processed, the drawing record extraction unit 205 outputs an instruction to the character determination unit 221, and the character determination unit 221 determines whether the character code is stored in the character code storage unit 215. (Step S115). Even if the processing described above is performed, all the images are only included and no characters are included. If no character code is included, the process proceeds to step S119. On the other hand, if a character code is included, the character determination unit 221 performs a process of analyzing the character code (step S117). For example, a file or the like (not shown) in which character codes for character strings to be specified are stored in advance is prepared, and it is determined whether or not they match with reference to the file.

そして、文字判定部221は、文字コードの解析処理の結果として印刷停止を行うべきか判断する(ステップS119)。例えば重要な書類に付される文字列(厳秘など)が含まれると判断された場合には、印刷停止にする(ステップS123)。すなわち、印刷メタデータ格納部203に格納されている印刷メタデータをプリンタ・ドライバ12に出力することなく、処理を終了する。印刷停止と併せて又は印刷停止ではなく、管理者などに警告を出力するようにしても良い。その後処理を終了する。   Then, the character determination unit 221 determines whether printing should be stopped as a result of the character code analysis processing (step S119). For example, if it is determined that a character string (such as confidentiality) attached to an important document is included, printing is stopped (step S123). In other words, the process ends without outputting the print metadata stored in the print metadata storage unit 203 to the printer driver 12. A warning may be output to an administrator or the like together with printing stop or not printing stop. Thereafter, the process ends.

一方、文字コードが含まれていない等の印刷停止する必要がないケースでは、文字判定部221は、印刷メタデータ格納部203に格納されている印刷メタデータを、プリンタ・ドライバ12に出力する(ステップS121)。そして処理を終了する。   On the other hand, in the case where there is no need to stop printing such as no character code is included, the character determination unit 221 outputs the print metadata stored in the print metadata storage unit 203 to the printer driver 12 ( Step S121). Then, the process ends.

以上のように、印刷メタデータに含まれる描画命令を実際に実行することなく文字が含まれる可能性について適切に判断し、その結果文字が含まれる可能性が大きい場合には描画命令を実際に実行して文字認識を実行している。従って、効率的に文字の有無を判断して、印刷メタデータから文字コードを抽出することができ、適切に印刷の可否を判断することができるようになる。印刷の可否ではなく、警告の有無を判断するようにしても良い。   As described above, appropriately determine the possibility of characters being included without actually executing the drawing command included in the print metadata. Execute and perform character recognition. Therefore, it is possible to efficiently determine the presence / absence of characters, extract the character code from the print metadata, and appropriately determine whether printing is possible. The presence or absence of a warning may be determined instead of whether or not printing is possible.

以上本発明の実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、上で述べた処理フローは一例であって、処理結果が同じであれば、処理ステップの順番を入れ替えたり、並列実行するように変更することも可能である。   Although the embodiment of the present invention has been described above, the present invention is not limited to this. For example, the processing flow described above is an example, and if the processing results are the same, the order of the processing steps may be changed or changed so as to be executed in parallel.

さらに図3に示した機能ブロック図については一例であって、必ずしもプリントマネージャ200のプログラム・モジュールに対応しない場合もある。   Further, the functional block diagram shown in FIG. 3 is merely an example, and may not necessarily correspond to the program module of the print manager 200.

さらに、第1文字包含判断処理についても、文字又は文字列が有する特徴を、イメージではなく図形の描画命令等から抽出する他の処理で代替することも可能である。さらに、上で述べた処理に加えて実施するようにしても良い。   Further, with respect to the first character inclusion determination process, it is also possible to replace the characteristic of the character or character string with another process that extracts a graphic drawing command instead of an image. Furthermore, it may be performed in addition to the processing described above.

なお、図2に示したコンピュータは、例えばコンピュータ装置であって、図21に示すように当該コンピュータ装置においては、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517と、プリンタ2521とがバス2519で接続されている。オペレーティング・システム(OS)及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。   The computer shown in FIG. 2 is, for example, a computer device. As shown in FIG. 21, the computer device includes a memory 2501 (storage unit), a CPU 2503 (processing unit), a hard disk drive (HDD) 2505, and the like. A display control unit 2507 connected to the display device 2509, a drive device 2513 for the removable disk 2511, an input device 2515, a communication control unit 2517 for connecting to a network, and a printer 2521 are connected by a bus 2519. Application programs including an operating system (OS) and a Web browser are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. If necessary, the CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 to perform necessary operations. Further, data in the middle of processing is stored in the memory 2501 and stored in the HDD 2505 if necessary. Such a computer realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above with the OS and necessary application programs.

(付記1)
印刷処理の途中で生成される印刷メタデータを取得し、記憶装置に格納するステップと、
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードが図形の描画命令を含む場合、当該図形の描画命令を実行することなく、当該図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、当該図形の描画命令によって生成されることとなる描画オブジェクトが、文字の可能性が高いとされる所定の状態にあるか判断する判断ステップと、
前記図形の描画命令によって生成されることとなる描画オブジェクトが前記所定の状態にあると判断された場合、前記図形の描画命令に係る描画レコードに従って描画処理を実施し、前記記憶装置に格納するステップと、
前記描画処理の描画結果に対して文字認識処理を実施するステップと、
をコンピュータに実行させるための印刷データ処理プログラム。
(Appendix 1)
Acquiring print metadata generated during the printing process and storing it in a storage device;
When the drawing record included in the print metadata stored in the storage device includes a drawing command for a graphic, the drawing record is included in the drawing record related to the drawing command for the graphic without executing the drawing command for the graphic. A determination step of determining from a coordinate value of a drawing point whether a drawing object to be generated by a drawing command for the graphic is in a predetermined state where the possibility of a character is high;
A step of performing a drawing process according to a drawing record relating to the drawing command of the graphic and storing it in the storage device when it is determined that a drawing object to be generated by the drawing command of the graphic is in the predetermined state; When,
Performing character recognition processing on the drawing result of the drawing processing;
Print data processing program for causing a computer to execute.

(付記2)
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードがイメージの描画命令を含む場合、当該イメージに対して文字認識処理を実施することなく、当該イメージ中の成分が所定の状態にあるか判断する第2判断ステップと、
前記イメージ中の成分が所定の状態にある場合には、前記イメージに対して文字認識処理を実施するステップと、
をさらに前記コンピュータに実行させるための付記1記載の印刷データ処理プログラム。
(Appendix 2)
When the drawing record included in the print metadata stored in the storage device includes an image drawing command, the components in the image are brought into a predetermined state without performing character recognition processing on the image. A second determination step for determining whether there is,
Performing a character recognition process on the image if the component in the image is in a predetermined state;
The print data processing program according to appendix 1, for causing the computer to further execute

(付記3)
前記文字認識処理の処理結果に所定の文字が含まれることを検出した場合、前記印刷処理を中断させるステップ
をさらに実行させるための付記1記載の印刷データ処理プログラム。
(Appendix 3)
The print data processing program according to appendix 1, further executing a step of interrupting the print processing when it is detected that a predetermined character is included in the processing result of the character recognition processing.

(付記4)
前記判断ステップが、
前記図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、前記図形の描画命令によって生成されることとなる前記描画オブジェクトが、直線状に並んで配置されている状態であるか判断するステップ
を含む付記1記載の印刷データ処理プログラム。
(Appendix 4)
The determination step includes
Whether or not the drawing objects to be generated by the drawing command of the figure are arranged in a straight line from the coordinate value of the drawing point included in the drawing record related to the drawing command of the figure The print data processing program according to appendix 1, including a step of determining.

(付記5)
前記判断ステップが、
前記図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、前記図形の描画命令によって生成されることとなる前記描画オブジェクトの線幅の変化が、一定範囲内という状態であるか判断するステップ
を含む付記1記載の印刷データ処理プログラム。
(Appendix 5)
The determination step includes
Whether the change of the line width of the drawing object generated by the drawing command of the graphic is within a certain range from the coordinate value of the drawing point included in the drawing record related to the drawing command of the graphic The print data processing program according to appendix 1, including a step of determining.

(付記6)
前記第2判断ステップが、
前記イメージ中の線成分の傾き角が、90度又は実質的に90度間隔で分布するか判断するステップ
を含む付記2記載の印刷データ処理プログラム。
(Appendix 6)
The second determining step includes
The print data processing program according to appendix 2, including a step of determining whether the inclination angle of the line component in the image is distributed at 90 degrees or substantially at intervals of 90 degrees.

(付記7)
前記判断ステップが、
前記図形の描画命令に関連する描画レコードに含まれる描画点の座標値の変化量を算出するステップと、
前記描画点の座標値の変化量が所定の閾値以上となる描画区間を特定するステップと、
各前記描画区間について、当該描画区間における前記描画点の近似直線を算出するステップと、
各前記描画区間について、当該描画区間における前記描画点を前記近似直線に投影して前記描画点の近似直線上の移動量を算出するステップと、
各前記描画区間について、前記近似直線上の移動量の分布におけるピークのうち移動量最大のピークについての移動量である推定文字間隔移動量を特定するステップと、
各前記描画区間について、特定された前記推定文字間隔移動量が発生する前記描画点が等間隔又は実質的に等間隔に発生しているか判断するステップと、
を含む付記1記載の印刷データ処理プログラム。
(Appendix 7)
The determination step includes
Calculating a change amount of a coordinate value of a drawing point included in a drawing record related to the drawing command of the graphic;
Identifying a drawing section in which the amount of change in the coordinate value of the drawing point is equal to or greater than a predetermined threshold;
For each drawing section, calculating an approximate straight line of the drawing points in the drawing section;
For each drawing section, calculating the amount of movement of the drawing point on the approximate line by projecting the drawing point in the drawing section onto the approximate line;
For each drawing section, specifying an estimated character interval movement amount that is a movement amount for a peak with a maximum movement amount among peaks in a movement amount distribution on the approximate straight line;
Determining whether or not the drawing points at which the specified estimated character interval movement amount is generated are equally spaced or substantially equally spaced for each drawing interval;
The print data processing program according to appendix 1, including:

(付記8)
前記判断ステップが、
前記図形の描画命令に関連する描画レコードに含まれる描画点の座標値から閉曲線毎に曲線長を算出するステップと、
前記閉曲線毎に、当該閉曲線内の面積を算出するステップと、
前記閉曲線毎に、前記閉曲線内の面積と前記曲線長とから単位曲線長あたりの面積を算出するステップと、
前記単位曲線長あたりの面積の変動幅が所定範囲内の前記閉曲線の区間を特定するステップと、
を含む付記1記載の印刷データ処理プログラム。
(Appendix 8)
The determination step includes
Calculating a curve length for each closed curve from a coordinate value of a drawing point included in a drawing record related to the drawing command of the figure;
For each closed curve, calculating an area within the closed curve;
For each closed curve, calculating an area per unit curve length from the area in the closed curve and the curve length;
Specifying a section of the closed curve in which a fluctuation range of the area per unit curve length is within a predetermined range;
The print data processing program according to appendix 1, including:

(付記9)
前記第2判断ステップが、
前記イメージを二値化し、さらに細線化処理を実施するステップと、
細線化された前記イメージにおいて、各細線の端点及び分岐点を抽出し、当該端点及び分岐点間を結ぶ直線の傾きの分布を特定するステップと、
前記直線の傾きの分布において頻出する傾き角の上位2つを特定するステップと、
特定された前記傾き角の上位2つが、90度又は実質的に90度間隔で配置されているか判断するステップと、
を含む付記2記載の印刷データ処理プログラム。
(Appendix 9)
The second determining step includes
Binarizing the image and further performing a thinning process;
Extracting the end points and branch points of each thin line in the thinned image, and specifying the distribution of the slope of a straight line connecting the end points and the branch points;
Identifying the top two slope angles that frequently appear in the slope slope distribution;
Determining whether the top two identified tilt angles are arranged at 90 degree or substantially 90 degree intervals;
The print data processing program according to appendix 2, including

(付記10)
印刷処理の途中で生成される印刷メタデータを取得し、記憶装置に格納するステップと、
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードが図形の描画命令を含む場合、当該図形の描画命令を実行することなく、当該図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、当該図形の描画命令によって生成されることとなる描画オブジェクトが、文字の可能性が高いとされる所定の状態にあるか判断する判断ステップと、
前記図形の描画命令によって生成されることとなる描画オブジェクトが前記所定の状態にあると判断された場合、前記図形の描画命令に係る描画レコードに従って描画処理を実施し、前記記憶装置に格納するステップと、
前記描画処理の描画結果に対して文字認識処理を実施するステップと、
を含み、コンピュータに実行される印刷データ処理方法。
(Appendix 10)
Acquiring print metadata generated during the printing process and storing it in a storage device;
When the drawing record included in the print metadata stored in the storage device includes a drawing command for a graphic, the drawing record is included in the drawing record related to the drawing command for the graphic without executing the drawing command for the graphic. A determination step of determining from a coordinate value of a drawing point whether a drawing object to be generated by a drawing command for the graphic is in a predetermined state where the possibility of a character is high;
A step of performing a drawing process according to a drawing record relating to the drawing command of the graphic and storing it in the storage device when it is determined that a drawing object to be generated by the drawing command of the graphic is in the predetermined state; When,
Performing character recognition processing on the drawing result of the drawing processing;
A print data processing method executed by a computer.

(付記11)
印刷処理の途中で生成される印刷メタデータを取得し、記憶装置に格納する手段と、
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードが図形の描画命令を含む場合、当該図形の描画命令を実行することなく、当該図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、当該図形の描画命令によって生成されることとなる描画オブジェクトが、文字の可能性が高いとされる所定の状態にあるか判断する判断手段と、
前記図形の描画命令によって生成されることとなる描画オブジェクトが前記所定の状態にあると判断された場合、前記図形の描画命令に係る描画レコードに従って描画処理を実施し、前記記憶装置に格納する手段と、
前記描画処理の描画結果に対して文字認識処理を実施する手段と、
を有する印刷データ処理装置。
(Appendix 11)
Means for acquiring print metadata generated during the printing process and storing it in a storage device;
When the drawing record included in the print metadata stored in the storage device includes a drawing command for a graphic, the drawing record is included in the drawing record related to the drawing command for the graphic without executing the drawing command for the graphic. A determination means for determining from a coordinate value of a drawing point whether a drawing object to be generated by a drawing command for the graphic is in a predetermined state where the possibility of a character is high;
Means for carrying out a drawing process according to a drawing record relating to the drawing command of the graphic and storing it in the storage device when it is determined that the drawing object to be generated by the drawing command of the graphic is in the predetermined state; When,
Means for performing character recognition processing on a drawing result of the drawing processing;
A print data processing apparatus.

従来技術の問題を説明するための図である。It is a figure for demonstrating the problem of a prior art. 本発明の実施の形態に係るシステム概要を示す図である。It is a figure which shows the system outline | summary which concerns on embodiment of this invention. プリントマネージャ200により実現される機能ブロックを表す図である。3 is a diagram illustrating functional blocks realized by the print manager 200. FIG. 本発明の実施の形態におけるメインの処理フローを示す図である。It is a figure which shows the main processing flow in embodiment of this invention. 印刷メタデータの構造例を示す図である。It is a figure which shows the structural example of printing metadata. 印刷物の一例を示す図である。It is a figure which shows an example of printed matter. 印刷物の描画方法例を示す図である。It is a figure which shows the example of a drawing method of printed matter. 第1文字包含判断処理Aの処理フローを示す図である。It is a figure which shows the processing flow of the 1st character inclusion determination process. 図形による文字描画の例を示す図である。It is a figure which shows the example of the character drawing by a figure. 描画開始位置の移動量変化の一例を示す図である。It is a figure which shows an example of the movement amount change of a drawing start position. 傾いている文字列の近傍を通る直線の一例を示す図である。It is a figure which shows an example of the straight line which passes along the vicinity of the inclined character string. 描画点移動判定処理の処理フローを示す図である。It is a figure which shows the processing flow of a drawing point movement determination process. 直線上に対する描画点の投影位置の移動量の変化を示す図である。It is a figure which shows the change of the movement amount of the projection position of the drawing point with respect to a straight line. 描画点の移動量のヒストグラムの一例を示す図である。It is a figure which shows an example of the histogram of the movement amount of a drawing point. 第1文字包含判断処理Aの処理フローを示す図である。It is a figure which shows the processing flow of the 1st character inclusion determination process. (a)は、漢字の一例を示す図であり、(b)は図形(絵)の一例を示す図である。(A) is a figure which shows an example of a Chinese character, (b) is a figure which shows an example of a figure (picture). 第1文字包含判断処理Bの処理フローを示す図である。It is a figure which shows the processing flow of the 1st character inclusion determination process. 単位曲線長あたりの面積の変化を示す図である。It is a figure which shows the change of the area per unit curve length. 第2文字包含判断処理の処理フローを示す図である。It is a figure which shows the processing flow of a 2nd character inclusion determination process. 本発明の実施の形態におけるメインの処理フローを示す図である。It is a figure which shows the main processing flow in embodiment of this invention. コンピュータの機能ブロック図である。It is a functional block diagram of a computer.

符号の説明Explanation of symbols

10 アプリケーション 11 OS 12 プリンタ・ドライバ
13 プリンタ 200 プリンタマネージャ
201 印刷メタデータ取得部 203 印刷メタデータ格納部
205 描画レコード抽出部 207 抽出描画レコード格納部
209 描画命令判断部 211 描画命令処理部
213 描画命令実行部 215 文字コード格納部
217 画像格納部 219 文字認識部
221 文字判定部
DESCRIPTION OF SYMBOLS 10 Application 11 OS 12 Printer driver 13 Printer 200 Printer manager 201 Print metadata acquisition part 203 Print metadata storage part 205 Drawing record extraction part 207 Extraction drawing record storage part 209 Drawing command determination part 211 Drawing command processing part 213 Drawing command execution part Section 215 Character code storage section 217 Image storage section 219 Character recognition section 221 Character determination section

Claims (7)

印刷処理の途中で生成される印刷メタデータを取得し、記憶装置に格納するステップと、
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードが図形の描画命令を含む場合、当該図形の描画命令を実行することなく、当該図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、当該図形の描画命令によって生成されることとなる描画オブジェクトが、文字の可能性が高いとされる所定の状態にあるか判断する判断ステップと、
前記図形の描画命令によって生成されることとなる描画オブジェクトが前記所定の状態にあると判断された場合、前記図形の描画命令に係る描画レコードに従って描画処理を実施し、前記記憶装置に格納するステップと、
前記描画処理の描画結果に対して文字認識処理を実施するステップと、
をコンピュータに実行させるための印刷データ処理プログラム。
Acquiring print metadata generated during the printing process and storing it in a storage device;
When the drawing record included in the print metadata stored in the storage device includes a drawing command for a graphic, the drawing record is included in the drawing record related to the drawing command for the graphic without executing the drawing command for the graphic. A determination step of determining from a coordinate value of a drawing point whether a drawing object to be generated by a drawing command for the graphic is in a predetermined state where the possibility of a character is high;
A step of performing a drawing process according to a drawing record relating to the drawing command of the graphic and storing it in the storage device when it is determined that a drawing object to be generated by the drawing command of the graphic is in the predetermined state; When,
Performing character recognition processing on the drawing result of the drawing processing;
Print data processing program for causing a computer to execute.
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードがイメージの描画命令を含む場合、当該イメージに対して文字認識処理を実施することなく、当該イメージ中の成分が所定の状態にあるか判断する第2判断ステップと、
前記イメージ中の成分が所定の状態にある場合には、前記イメージに対して文字認識処理を実施するステップと、
をさらに前記コンピュータに実行させるための請求項1記載の印刷データ処理プログラム。
When the drawing record included in the print metadata stored in the storage device includes an image drawing command, the components in the image are brought into a predetermined state without performing character recognition processing on the image. A second determination step for determining whether there is,
Performing a character recognition process on the image if the component in the image is in a predetermined state;
The print data processing program according to claim 1, further causing the computer to execute the following.
前記判断ステップが、
前記図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、前記図形の描画命令によって生成されることとなる前記描画オブジェクトが、直線状に並んで配置されている状態であるか判断するステップ
を含む請求項1記載の印刷データ処理プログラム。
The determination step includes
Whether or not the drawing objects to be generated by the drawing command of the figure are arranged in a straight line from the coordinate value of the drawing point included in the drawing record related to the drawing command of the figure The print data processing program according to claim 1, further comprising a step of determining.
前記判断ステップが、
前記図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、前記図形の描画命令によって生成されることとなる前記描画オブジェクトの線幅の変化が、一定範囲内という状態であるか判断するステップ
を含む請求項1記載の印刷データ処理プログラム。
The determination step includes
Whether the change of the line width of the drawing object generated by the drawing command of the graphic is within a certain range from the coordinate value of the drawing point included in the drawing record related to the drawing command of the graphic The print data processing program according to claim 1, further comprising a step of determining.
前記第2判断ステップが、
前記イメージ中の線成分の傾き角が、90度又は実質的に90度間隔で分布するか判断するステップ
を含む請求項2記載の印刷データ処理プログラム。
The second determining step includes
The print data processing program according to claim 2, further comprising: determining whether the inclination angle of the line component in the image is distributed 90 degrees or substantially at intervals of 90 degrees.
印刷処理の途中で生成される印刷メタデータを取得し、記憶装置に格納するステップと、
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードが図形の描画命令を含む場合、当該図形の描画命令を実行することなく、当該図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、当該図形の描画命令によって生成されることとなる描画オブジェクトが、文字の可能性が高いとされる所定の状態にあるか判断する判断ステップと、
前記図形の描画命令によって生成されることとなる描画オブジェクトが前記所定の状態にあると判断された場合、前記図形の描画命令に係る描画レコードに従って描画処理を実施し、前記記憶装置に格納するステップと、
前記描画処理の描画結果に対して文字認識処理を実施するステップと、
を含み、コンピュータに実行される印刷データ処理方法。
Acquiring print metadata generated during the printing process and storing it in a storage device;
When the drawing record included in the print metadata stored in the storage device includes a drawing command for a graphic, the drawing record is included in the drawing record related to the drawing command for the graphic without executing the drawing command for the graphic. A determination step of determining from a coordinate value of a drawing point whether a drawing object to be generated by a drawing command for the graphic is in a predetermined state where the possibility of a character is high;
A step of performing a drawing process according to a drawing record relating to the drawing command of the graphic and storing it in the storage device when it is determined that a drawing object to be generated by the drawing command of the graphic is in the predetermined state; When,
Performing character recognition processing on the drawing result of the drawing processing;
A print data processing method executed by a computer.
印刷処理の途中で生成される印刷メタデータを取得し、記憶装置に格納する手段と、
前記記憶装置に格納されている前記印刷メタデータに含まれる描画レコードが図形の描画命令を含む場合、当該図形の描画命令を実行することなく、当該図形の描画命令に関連する描画レコードに含まれる描画点の座標値から、当該図形の描画命令によって生成されることとなる描画オブジェクトが、文字の可能性が高いとされる所定の状態にあるか判断する判断手段と、
前記図形の描画命令によって生成されることとなる描画オブジェクトが前記所定の状態にあると判断された場合、前記図形の描画命令に係る描画レコードに従って描画処理を実施し、前記記憶装置に格納する手段と、
前記描画処理の描画結果に対して文字認識処理を実施する手段と、
を有する印刷データ処理装置。
Means for acquiring print metadata generated during the printing process and storing it in a storage device;
When the drawing record included in the print metadata stored in the storage device includes a drawing command for a graphic, the drawing record is included in the drawing record related to the drawing command for the graphic without executing the drawing command for the graphic. A determination means for determining from a coordinate value of a drawing point whether a drawing object to be generated by a drawing command for the graphic is in a predetermined state where the possibility of a character is high;
Means for carrying out a drawing process according to a drawing record relating to the drawing command of the graphic and storing it in the storage device when it is determined that the drawing object to be generated by the drawing command of the graphic is in the predetermined state; When,
Means for performing character recognition processing on a drawing result of the drawing processing;
A print data processing apparatus.
JP2007314347A 2007-12-05 2007-12-05 Print data processing program, method and apparatus Expired - Fee Related JP4915337B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007314347A JP4915337B2 (en) 2007-12-05 2007-12-05 Print data processing program, method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007314347A JP4915337B2 (en) 2007-12-05 2007-12-05 Print data processing program, method and apparatus

Publications (2)

Publication Number Publication Date
JP2009140127A JP2009140127A (en) 2009-06-25
JP4915337B2 true JP4915337B2 (en) 2012-04-11

Family

ID=40870691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007314347A Expired - Fee Related JP4915337B2 (en) 2007-12-05 2007-12-05 Print data processing program, method and apparatus

Country Status (1)

Country Link
JP (1) JP4915337B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3683925B2 (en) * 1994-11-18 2005-08-17 キヤノン株式会社 Electronic filing device
JP2006171851A (en) * 2004-12-13 2006-06-29 Nec Corp Document file analysis system, document file analysis method, and program

Also Published As

Publication number Publication date
JP2009140127A (en) 2009-06-25

Similar Documents

Publication Publication Date Title
EP0543598B1 (en) Method and apparatus for document image processing
EP2241999A2 (en) Underline removal apparatus
JP6900164B2 (en) Information processing equipment, information processing methods and programs
JP4443576B2 (en) Pattern separation / extraction program, pattern separation / extraction apparatus, and pattern separation / extraction method
US6947596B2 (en) Character recognition method, program and recording medium
CN104809099A (en) Document file generating device and document file generation method
US20030118211A1 (en) Watermark information extraction apparatus and method of controlling thereof
US8600175B2 (en) Apparatus and method of processing image including character string
US10984277B2 (en) Image analysis apparatus, image analysis method, and non-transitory computer readable medium
JP2008312139A (en) Printing apparatus and method
JPH10171922A (en) Ruled line eraser and recording medium
JP2002015280A (en) Device and method for image recognition, and computer- readable recording medium with recorded image recognizing program
JP4915337B2 (en) Print data processing program, method and apparatus
JP4522323B2 (en) Image processing apparatus and control method thereof
JP4078045B2 (en) Image processing apparatus, method, program, and storage medium
JP2006072839A (en) Image processing method, image processing apparatus, image processing program and recording medium
JP5361315B2 (en) Information processing apparatus and information processing method
JP4328511B2 (en) Pattern recognition apparatus, pattern recognition method, program, and storage medium
JP3880091B2 (en) Information processing apparatus and method
JP5402417B2 (en) Image processing device
JP3133797B2 (en) Character recognition method and apparatus
JP2003030585A (en) Image processor and image processing method, and program and storage medium therefor
JPH0535916A (en) Character segmenting method
CN115631493A (en) Text area determining method, system and related device
CN116959004A (en) Handwritten signature recognition method, handwritten signature recognition device, electronic equipment and computer program product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111221

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: 20111227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120109

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

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees