2011-02-02 6 views
2

特定のマージン、カラム、テキストが同じ幅の2つのカラムと別のスタイルのバリデーションルールで区切られているかどうかを確認するには、pdfファイルのソース(好ましくはPHPを使用)を調べる必要があります。ファイルはWebサイトにアップロードされ、アップロード時に、ファイルが有効かどうかを確認するメッセージがユーザーに表示されなければなりません。下記のリンクでPHP - PDFファイルのスタイルバリデータ

は、どのファイルが付着しなければならないためのルールの一部です: http://ifac.papercept.net/conferences/support/page.php

を、あなたはこれを行うことができる方法についてアドバイスしてくださいもらえますか?そのような申請をすることは可能でしょうか?私はすでにウェブサイトを持っており、私はpdfバリデータを実装する必要があります。

答えて

0

私はそのような仕事を手渡されたときにあなたの貧しい人々の悲惨な存在を笑うだけではなく、あなたが望むものがすべて不可能である理由を説明させたいと思います。

PDFで余白と列と段落が定義されていません。 「これらの座標でこれらの文字を描く」という行に沿っています。 Transformation matrices, and color spaces and clipping regions, oh my!

特定のページのすべてのテキスト描画コマンドの位置(境界ボックス)を特定できるPDFライブラリがあります。その情報から、レイアウト要件をすべて満たしているかどうかを判断する必要があります。

マージンはそれほど難しくありません(すべてのテキストの周囲に境界ボックスを作成して、そのボックスがマージン内にあるかどうかを確認します)が、カラムはかなり難しくなります。

(some text from column one   some text from column two) Tj 

(BBOX分析に優しいと完全に合法的な、しかしなし)のようなものを提示、あなたが持っているだろう:誰かのPDF生成プログラムは、1の両方の列に描画しても不可能な場合は、コマンド「いくつかのテキストを描画」そこに含まれる空白に基づいてテキストボックスをさらに分割します。

すべての場合、巨大で痛みを伴うプロセスで、約束することはできませんが、偽陽性と偽陰性の両方を伴う100%の正確性があります。


楽しい。

このレベルのテキスト情報を提供するライブラリは、一般に、与えられたテキストのチャンクが使用するフォント、サイズ、および色を示します。

このようなライブラリはPHP用に存在しますか?知りません。 iText(JavaまたはC#、AGPLまたは$)は、Adobeの($$)ライブラリのようにテキストの境界を判断できます。私は他の人がいると確信しています。

私は強くあなたが「PDFファイルを見ている人」のように(このガイドラインを施行するためにいくつかの他の方法を探し、あるいは「誰もが[他のいくつかの形式]として提出しなければならない」をお勧めします。

+0

ヘック、でもtext」はdoesnのPDFコンテナに埋め込まれている.jpgファイルでもかまいません。PDFを画像に変換して、基本的なocr-ishの処理を行うのがよいでしょう。その中に白い線があります。 "など... –

+0

それはラインアートになることができます。はい、いくつかの奇妙なフリークは、ラスターイメージの代わりに色の付いた四角形を描くことさえできます。テキストであり、私はエンコーディングにもなりませんでした。 –