72

PDFドキュメントを読み取ってデコードできるアプリケーションをコーディングしたいと思います。今、私はこのファイル形式の仕様を取得することになっていますか?PDF形式はISOグループから標準化されていますが、この種の情報を取得するための最も信頼できる情報源がどこにあるかは私にはわかりません。

このファイル形式から始めるのに適したソースは何ですか?

4

2 に答える 2

59

あなたが言及した両方のソースを実際に使用できます。混乱は歴史的なものです。

Adobe は PDF を発明し、それと一緒に使用するための Acrobat 製品ファミリを発明しました。さまざまな PDF バージョンが、主要な Acrobat バージョンとともにリリースされました (たとえば、PDF 1.3 は Acrobat 4 とともにリリースされました)。

PDF 形式の採用と、実際には独自の PDF ファイル形式に依存する多くの ISO 標準が作成されたため (ISO 標準にとっては簡単なことではありません)、Adobe は PDF 形式を ISO に引き渡すことにしました。

その時点から今日まで、PDF 仕様の編集と新しいバージョンの作成を担当する ISO 委員会があります。PDF の ISO 規格は ISO 32000 です。

また、PDF を使用する場所によっては、他の多くの ISO 標準が非常に有用または不可欠である可能性があることに注意してください。最も一般的に使用されているのは、PDF/X (出版コミュニティでの PDF ファイルの交換用) と PDF/A (長期保存が必要な PDF ファイルの作成用) です。これらの仕様は、PDF 標準の特定のバージョンを参照し、追加の要件と制限を追加します。

仕様に関する限り、すべてのドキュメントを ISO から直接取得できます。ただし、PDF 自体は Adob​​e から入手することもでき、そのドキュメントは同一になります。Acrobat の Adob​​e DevNet サイトを参照してください。

http://www.adobe.com/devnet/acrobat.html

Acrobat SDK をダウンロードするだけで、その一部としてドキュメントが提供されます。

コードで「PDF仕様をターゲットにする」ことについて、注意事項を追加させてください。PDF に対するニーズ (編集、生成、品質管理 (プリフライト)) をより明確に指定してから、それらのニーズを満たす、または拡張して満たすことができる既存のライブラリを探すか質問することをお勧めします。あなたの要望。

一般に「PDF」をサポートするものを作成するのは大変な作業です。PDF の仕様は大きく、複雑で、... まあ... 細かいところがたくさんあります。ドラゴンがいる!


アップデート:

Adobe の PDF-1.7 仕様ドキュメントへの直接リンク (初版、無料でダウンロード、こちら:

このドキュメントの内容は、後に一般的な PDF の ISO 規格である ISO 32000-1 として正式に採用されました。

ただし、ISO から入手できる PDF ファイルにはいくつかの違いがあることに注意してください。

PDF ソフトウェアの開発を開始する場合は、上記の Adob​​e リンクから (無料の) PDF があれば十分です。


更新: 2021 年

一方、ISO が ISO 32000-2 と呼ばれる PDF 仕様の新しいバージョンをリリースしたことは注目に値します。これに関する情報はISO サイトにあります。この新しいバージョンは 2017 年に公開され、2020 年 12 月に更新されました。

このドキュメントは PDF を大幅に変更するものではなく、たとえば無料の Adob​​e バージョンの仕様からの PDF に関する一般的な情報のほとんどは依然として正しいものですが、確実に変更されています。

  • 多くのこと、特に透明性に関するすべてのような非常に技術的なことは、主に既存の言語を明確にするために更新されました (そして、これまで多かれ少なかれ暗黙的であった情報を追加します)。これらの更新は、標準のこれらの部分を実装または使用する方法に影響を与える可能性があります。
  • 新機能が標準に含まれています。

PDF ファイル、特に単純なファイルを作成している場合は、Adobe の仕様で問題なく作業を進めることができます。PDF 標準のすべてをサポートしたい場合は、最新の ISO バージョンに料金を支払う必要があります (しかし、とにかくそれは難しい注文です)。

于 2013-01-01T23:12:37.003 に答える
3

PDFは軽量フォーマットではありません。基本的には、上に圧縮されたポストスクリプトです。既存のライブラリは間違いなくあなたが使いたいものであり、あなた自身のものを書くのではありません。それは大きな仕事です。

または、既存のPDFライターアプリケーションを入手して、プログラム内から起動します。

あまり見ていませんが、libgnupdfは問題ないようです。

ウィキペディアによると、PDFは3つのテクノロジーを組み合わせています。

  • レイアウトとグラフィックスを生成するためのPostScriptページ記述プログラミング言語のサブセット。
  • フォントがドキュメントと一緒に移動できるようにするフォント埋め込み/置換システム。
  • これらの要素と関連するコンテンツを1つのファイルにバンドルし、必要に応じてデータを圧縮する構造化ストレージシステム。
于 2013-01-01T16:25:01.210 に答える