私が知りたいのはパーサーについてです。そのテーブルを抽出し、配列に変換する必要があります。1以前にも同じようなニーズのために書いたことがありますが、こう言うことができます:楽しんでください。それは非常に複雑なタスクです。PDF仕様は大きく、扱いにくいです。内部にテキストを保存する方法はいくつかあります。キッカーは、各PDFジェネレーターの動作が異なることです。そのため、TFPDFやDOMPDFのようなものが(機械の観点から)本当に読みやすいPDFを作成しますが、Acrobatはいくつかの本当に地獄のような文書を作成します。理由は、テキストの書き方です。私が使用したほとんどのDOMベースのレンダラーは、行全体を1つの文字列として記述し、1回配置します(読みやすくなっています)。Acrobatは、一度に1つまたは数個の文字のみを記述し、それらを独立して配置することにより、より効率的に(そして実際に)しようとします。これにより、レンダリングが本当に簡単になりますが、読み取りがさらに難しくなります。ここでの利点は、PDF形式自体が非常にシンプルであることです。通常の構文に従う「オブジェクト」があります。次に、それらをリンクしてコンテンツを生成できます。この仕様は、ファイル形式の記述に適しています。現実世界の読書には少し頭の力が必要です...あなたが自分でそれを書くつもりなら難しい方法を学ばなければならなかったいくつかの役立つアドバイス:Adob​​eはフォントの再マッピングを好みます。...マップオブジェクトを見つけ、そこに含まれる文字に基づいてマップオブジェクトが何をしているかを推測する必要があります。そのフォントのドキュメントに文字が表示されない場合は含まれないため、効率的です(プログラムでPDFを編集しようとすると生活が難しくなります)...できるだけ抽象的に記述します。各オブジェクトタイプ、および各ネイティブタイプ(文字列、数値など)のクラスを記述します。これらのクラスを解析してみましょう。そこにはかなりの繰り返しがありますが、特定の1つのタイプだけで何かを微調整する必要があることに気づいたら、最後に自分自身を救います)...特定のバージョンまたは2つのPDF仕様について記述し、強制します。バージョン番号を確認し、予想よりも高い場合は、保釈してください...そして、「動作させる」ようにしないでください。新しいバージョンをサポートする場合は、仕様を作成して、そこからパーサーをアップグレードしてください。試行錯誤をしないでください(面白くない)...圧縮ストリームで頑張ってください。通常、長さの引数を信頼して、圧縮解除されているものを確認することはできません。場合によっては(一部のジェネレーターでは)うまく機能します...その他の場合は1バイト以上ずれています。使用しないでください。異なる文字セットを補正するため(そして、他の文字セットで潜在的に無効な文字を許可するため)。2私はそのためにPDFBoxを使用しています(http://pdfbox.apache.org/)。このソフトウェアはjavaベースであり、プラットフォームに依存しません。それは高速で信頼性があります。executeまたはPHP/Java-Bridge(http://php-java-bridge.sourceforge.net/)経由で使用できます。3xPDFを既に見ましたか?そこには、変換を行うpdftotextと呼ばれるプログラムがあります。PHPから呼び出して、テキストバージョンのPDFを読み込むことができます。exec()またはsystem()をphpから実行する必要があるため、これはホストされているすべてのソリューションで機能しない場合があります。PHPサイトにはPDFをテキストに変換するいくつかの例がありますが、かなり荒いものです。これらの例のいくつかも試してみてください。orgでlucを検索します。4GhostScriptまたはITextSharpを見てください。両方のクロスプラットフォームバージョンがあります。Frameworkの。ドキュメントを作成、変更、保存します。したがって、PHPアプリケーションを支援できます。最初から新しいものを生成します。