カテゴリー別アーカイブ: PDF のあれこれ

PDF Driver API V5.0利用のマルチプロセス対応アプリケーション開発について

昨日に続き、PDFDriver API V5のスレッドを利用したアプリケーションからOffice文書を一括して、PDFに変換する場合についてお伝えします。
アプリケーション開発では、PDFDriver(仮想プリンタ)の選択・取得をスレッド単位に行い、最適なスレッド数を決めて、ユーザが変換したいOffice文書群を、それぞれのスレッド(PDFDriver)に振り分け、並行出力することにより、変換速度を上げることができます。プログラムから、それぞれのOffice文書に対して、それぞれの出力設定ファイル(プロパティ)を選択、あるいは変更して、PDF変換することが出来ます (図B参照)。
一括してPDF変換の例に、7月2日のブログで紹介しておりますように、スレッド数と変換速度の推移がプロットされております。
グラフを見て頂くと分かりますが、変換元のファイル数、ファイルサイズに関わらず、スレッド数と伴に、変換速度が減少して行く傾向(パターン)は、殆ど同じです。


PDF Driver API V5.0利用のマルチプロセス対応アプリケーション開発について

PDFは、どんな環境でもレイアウトを崩さず表示できる電子文書として、世界で認められています。
そのような理由から、電子文書の管理は、専らPDF形式で行っています。
紙資料をスキャン(透明テキストを付加)してPDFに変換したものや、MSのOffice文書などを、アプリケーションから直接PDFに変換し、電子文書管理システムに登録して、調査や研究時に、必要な資料を検索、再利用すると云ったことが、多くなってきています。
そこで、PDF変換アプリケーションの開発が容易にできる、アンテナハウス製品を紹介いたします。
アンテナハウスは、仮想プリンタDriver経由でPDF変換を行うソフトウェアコンポーネント製品「PDF Driver API V5」を提供しております。
開発者は最低限、入力としてOffice文書(変換元)のパスとPDF(出力先パス)を指定するだけで、マルチプロセス対応の恩恵を受けたPDF変換プログラムの作成が出来ます。
この場合、パスワードを付与、文字の埋め込み等PDFをどのように作成するかを指定する出力設定ファイル(プロパティ設定)は、Default値が自動選択されます。
もちろん、プログラムからPDF変換時に出力設定ファイルの諸設定や変更を動的に行うことができます。
複数ユーザから、サーバ側のPDF Driver API V5を利用したアプリケーションに、同時アクセスが有っても、並行してPDF変換を行うことが出来ます(図A参照)。
マルチプロセス対応になったので、旧バージョンと比較すると、飛躍的に処理速度が上がったことが体験できます。
zuA.jpg
評価版URL:https://www.antenna.co.jp/ptl/trial.html


紙の情報をコンピューターに取り込む

本日は、紙の情報をコンピューターに取り込む手段としてのOCR技術について説明いたします。

OCRとは、Optical Character Recognition(あるいはReader)という英語の略で、日本語では光学的文字認識(あるいは光学的文字読み取り装置)と訳されます。
紙に印刷された文字をイメージスキャナやデジタルカメラなどで読み取り、画像化された情報から文字情報を識別し、コンピュータで処理可能な情報(文字コード)を抽出する技術またはその装置を指します。

こう書くとなんだかややこしいですが、要は人間が新聞や雑誌など紙に書かれた文字を読んで内容を理解するのと同じようなことをコンピュータにもやらせようとするための技術のひとつと言えます。

実はOCR技術は身近なところで使われています。割と古くからあってOCRの老舗といえるのは「郵便番号読み取り装置」でしょう。日本では1968年の郵便番号導入とともに使われたといいますから、既に40年以上の実績があるわけです。
また、試験の際にお目にかかるマークシート方式の回答用紙も採点のためにOCR技術が応用されている身近な例といえます。

これらは大量の情報を一括で高速に処理する必要があるのでOCR装置も専用の高精度、高価格なものが使用されますが、私たちがパソコンを使って汎用に使用する場合には、市販のスキャナとOCRソフトとの組み合わせで取り込むのが一般的です。

さて、実際に紙の原稿からパソコンにデータを取り込み、文字を認識する場合には、概略次のことが行われます。

  1. 画像で取り込み:スキャナでスキャンした紙の原稿は画像データとしてパソコンに取り込まれます。画像データの種類はお使いのスキャナの仕様によって異なりますが、最近はPDF形式が使用されることが多いようです。PDFであっても内部には画像データのみ格納されています。
  2. 領域の識別:取り込んだ画像には、当然のことながら紙の原稿のレイアウトが移されています。それは文字であったり、図形であったり、画像であったりします。人間が紙に書かれたこれらの範囲を区別するのと同じようにOCRも識別をします。これを領域(レイアウト)認識または領域解析と呼びます。
  3. 文字の認識:上記で文字領域と識別された部分について文字データの読み込み(抽出)を行います。
    ただし、人間が文字を読み取るのと比較して、コンピュータが文字を読むことは簡単なことではありません。人間の脳は、乱暴に書かれた手書き文字やかすれた文字などを読む場合、曖昧な部分を的確に補って正しく認識する能力を備えていますが、コンピュータはこうした認識が大の苦手です。
    例えば、以下は、元の文字画像が鮮明でないために、文字の誤認識が出てしまう例です。

    文字の誤認識が出てしまう

    このため、さまざまな方法が考案されて文字の認識率を高める努力がされていますが、文字の認識率が100%(つまり完全)ということにはなかなかなりません。文字のかすれやつぶれがないなどコンディションの良い活字を認識した場合、一般に98%くらいの認識率であれば正確といえるようです。

  4. 認識結果の保存:OCR処理された結果はそのままでは利用することができません。認識された文字や画像などの情報をパソコン・ユーザーが扱える形式、たとえばWordやExcelなどのOffice文書やテキストファイル、透明テキスト付きPDFなどに保存することで、文字の検索に利用したり、編集して別の文書に再生したりといったことが可能になります。

以上、簡単にアウトラインだけをご説明しました。実際にはOCR技術はもっと複雑で、具体的な文字識別の方法などは興味のつきないところですが、これ以上は専門的な話題となってしまいますのでここでは割愛させていただきます。


OCR技術の活用

前回はOCR技術が完璧なものでなく、文字の誤認識は避けられないということをお話しました。

現状では、原稿の文字の品質が十分によければ、市販されているOCR用のソフトウェアで活字を認識できる率は100%に近いところまでいけるようです。
しかし、文字のかすれやつぶれなどがあって品質が低かったり、文字と文字の間隔が狭い場合などは、どうしても認識率が低下してしまいます。
また、広告などで使われる装飾された文字や背景に模様がある文字、イタリックのように斜めに寝てデザインされた文字などはやはり苦手なものです。

では、OCRはまったく使えないかというと、決してそうではありません。
例えば、以下はA4サイズの原稿を弊社の「瞬簡PDF 変換7」のOCR機能を使用してWordに変換した例です。この原稿に含まれる文字数は約1600字あります。

A4サイズの原稿

これを、もしOCR技術を使わないで取り込むとしたら、他の手段としてはキーボードから直接文字を打ち込むことくらいかと思います。
原稿が1枚きりであればそれも選択肢と考えられます。しかし10枚、20枚とあったら…これはもう冷や汗ものですね。

また、パソコン上に原稿を移して後から文字で検索するといった用途を考えた場合、文字の誤認識が仮に100文字中10文字あったとしたらどうでしょう?
紙の状態のままでまったく検索できないことを考えると、検索できない文字があったとしても、十分実用の範囲ではないでしょうか?

OCRの文字認識レベルは、特定の産業分野では実績もあり十分実用に耐えるものとなっています。
しかし、不特定の紙の原稿を汎用的に扱うパソコン用のOCRソフトではまだその信頼性は十分でありません。
それでも、こうした技術は日進月歩で、文字の認識率を上げる研究も絶え間なく行われていますから、ハードウェアの進化とともに今後性能が向上することはあってもこのままで停滞することは考えられません。

これまで人の手で時間をかけて行っていたことも、コンピューターにまかせられるところは上手に利用して、人間でなければできない別のところに時間とエネルギーを使うのがOCR技術の賢い使用方法だと思います。

最近は、スマートフォンやタブレットと、クラウドと呼ぶサーバーでのサービスとが組み合わされて、携帯端末のカメラで撮影した画像をクラウド上でOCR処理して文字情報を取得し、送り返すといった仕組みが利用されるようになってきました。パソコンの枠を超えた、こうした利用方法は今後もどんどん増えていくことでしょう。

絶えず新しい技術革新がされて進化を続けるOCR技術と、それを応用したOCRソフトに今後とも注目していただければ幸いです。


OCRのよもやま話

先週はNHKテレビのニュースで電子出版EXPO(7/4~7/6)についての話題が何度も取り上げられていました。ニュースを見られた方も、また直接会場に足を運ばれた方もたくさんおられたことでしょう。
弊社でも電子書籍関連の製品とサービスを出展しておりましたが、ご覧になられたでしょうか?
7月の第16回国際電子出版EXPOに、電子書籍関連製品とサービスを出展します。

さて、近年はスマートフォン(スマホ)やタブレット端末が急速に普及し、電子書籍や関連する技術・サービスへの関心も再び高まっているようです。
デジタル化されたデータを扱うといったら、これまではパソコンが主な手段でしたが、大きさや起動に時間がかかるなどの制約があり、いつでもどこでも気軽に使えるというものではありませんでした。

これを劇的に解決したのが、スマホやタブレットなど携帯性に特化した、まさに手のひらの上にのる「コンピュータ」の登場でした。
ハードウェアの進化でパソコンに近い処理性能が与えられてサクサク動作するのもさりながら、何よりインターネットへの接続が簡単にできる(というか、接続を意識することもないほど当たり前につながっている)ことが普及の大きな推進力となっているように思います。
これにより、単に個人の趣味的な使用にとどまらず、ビジネスシーンにおいてもパソコンを駆逐する勢いでスマホやタブレットの活用範囲が広がり続けているのは、皆さんもご存じの通りかと思います。

デジタルなデータを気軽に持ち出し、閲覧できる環境が広く整ってきたことで、電子書籍と同じようにこれまでややもすれば滞りがちだった企業内におけるペーパーレス化(紙文書のデジタルデータ化とその活用)にも拍車がかかることが予想されます。

前振りが長くなってしまいましたが、今週は、やや強引ながら電子書籍など紙を代替するデジタル化技術に欠かせないOCR技術について、これまであまりパソコンに縁のなかった方や、OCRという言葉にあまり馴染みのない方を対象にお話してみたいと思います。


PDF/A-3 PDFの新しい目的

PDF/A-3(DIS、以下単にPDF/A-3とします)仕様のIntroductionに、PDFを他のファイルフォーマットのコンテナとして機能できるようにすることが新しい目的である、との記載があります。この部分について、今回は見ていきます。
PDFファイル内にPDFやその他のファイルを格納する埋め込みファイル(Embedded Fil)と呼ばれる機能があります。Acrobat 8で「PDFパッケージ」、Acrobat 9以降で「PDF ポートフォリオ」呼ばれるようになった機能なども、これを用いて実装されています。PDF/A-2の仕様では、埋め込み可能なファイルをPDF/A-1あるいはPDF/A-2形式のファイルに限定していました。
PDF/A-3では、この制限がなくなり、任意の形式のファイルを埋め込むことを認めるように変更されています。
ただし、いくつかの要件が追加されています。
まず、埋め込みファイルがどのようなものであるかを説明するテキストを記載する必要があります。次に埋め込みファイルを記述するデータ内にAFRelaitionshipという、新しいキーを追加しています(PDF/A-1,2 ではベースとなるPDFの仕様に対して使用可能なキーを制限するような形で仕様を定めていましたが、PDF/A-3では、ベースのPDFの仕様では定義されていないキーが使われるようになっています)。
このAFRelationshipは、埋め込みファイルとPDF本文(全体であったり、PDF内の一部であったりします)との関係を指定するもです。
PDF/A-3の仕様で、AFRelationshipに設定する値の例がいくつか記載されています。
・ワープロファイルからPDFを作成し、元のワープロファイルをPDF内に埋め込む場合は”Source”と記載し、PDFのオリジナルデータ(Source File)であることを示す。
・PDF内に数式部分があり、この数式を補足するためにMathMLのデータをPDFに埋め込む場合は”Supplement”と記載し、PDF内のデータの補足データであることを示します。
・PDF内のチャートが存在し、このチャートのデータをCSVで埋め込んでおく場合、”Data”と記載し、チャートの元データであることを示します。
(”Source”,”Data”,”Supplement”の他に、代替え表現用の”Alternative”,それら以外の場合の”Undefined”が定義されています)
また、このほかに、上記の説明で、埋め込みファイルがPDFファイル全体に対するものであったり(上記のワープロの例)、PDF内の一部に対するものであったり(上記の数式の例)することを示すために、PDF内の各種データに埋め込みデータと対応付けをするためのキー(AF)が追加されています。
PDF/A-3は、このような機能の追加により、PDF/A-2を各種ファイルのコンテナとして使用できるように拡張したものとなります。


続・PDF/Aとは― PDF/A-3について

以前、国際標準化機構(ISO)が制定している国際標準 ISO 19005 のパート1、パート2 である PDF/A-1、PDF/A-2についてその概要を記載しました。
今回(および次回)はその続編である PDF/A-3についてまとめてみたいと思います。
PDF/A-1 はISO 19005 パート1として2005年に、PDF/A-2は ISO 19005パート2として2011年に制定されています。これに対して、パート3は、現時点ではDIS(Draft International Standard/国際規格案)というステータスで、まだ審議中のものです。審議中ではありますが、ISO ストアで 仕様書が販売されていますので、このレベルで記載してみたいと思います。
まず、タイトルからですが、PDF/A-2は、「Use of ISO 32000-1(PDF/A-2)」 でしたが、PDF/A-3(DIS)では、「Use of ISO 32000-1 with support for embedded files(PDF/A-3)」となっています。
前回記載しましたように、PDF/Aは PDFの特定のバージョンをベースとして、その機能に対して、使用範囲を制限し、長期保存に適した形(視覚的な外観、およびドキュメントの論理構造、意味などを継続して維持すること)にするものでした。PDF/A-1、PDF/A-2がベースとするPDF仕様はそれぞれ、PDF 1.4、ISO 32000-1 となっていました。PDF/A-3はタイトルからもわかりますように、PDF/A-2同様にISO 32000-1をベースとしています。変更点は埋め込みファイル関連のようです。
PDF/A-2とPDF/A-3の仕様書をざっと比較してみますと、どちらにも、Embedded filesという項がありますが、この項の記載内容が変更され、PDF/A-3では補遺部分に PDF/A-2には無かったAnnex E(informative) Associate Filesという項目が追加されています。この部分を除くと、ISO 32000-1をベースとして、 a,b,およびuの3種類の準拠レベルを定めている点など、PDF/A-3はPDF/A-2とほぼ同様です。
次回は、この変更部分についてまとめてみます。


Pages: Prev 1 2 3 4 5