PHPでPDF編集?

誰か、PHPでPDFを編集する良い方法を知っていますか?できればオープンソース/ゼロライセンスのコスト方法で :)

私が考えているのは、PDFファイルを開き、PDF内のテキストを置換し、修正されたバージョンのPDFを書き出すというものです。

過去にFPDFを使ってプログラムでPDFファイルを作成したことがありますが、少し扱いにくいと感じていました。

ソリューション

空白を埋める」というアプローチであれば、ページ上の好きな場所にテキストを正確に配置することができます。そのため、不足しているテキストをドキュメントに追加するのは比較的簡単です(少し面倒ではありますが)。例えば、Zend Frameworkの場合。

<?php
require_once 'Zend/Pdf.php';

$pdf = Zend_Pdf::load('blank.pdf');
$page = $pdf->pages[0];
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$page->setFont($font, 12);
$page->drawText('Hello world!', 72, 720);
$pdf->save('zend.pdf');

もし、"[placeholder string], " のようなインラインコンテンツを置き換えようとすると、もっと複雑になります。技術的には可能ですが、ページのレイアウトを崩してしまう可能性があります。

PDF文書は、「ここに線、ここに画像、ここにテキストチャンク」といった原始的な描画操作の集合体で構成されています。PDF文書は、線はここ、画像はここ、文字はここ、といったプリミティブな描画操作の集合で構成されていますが、それらのプリミティブのレイアウト意図に関する情報は一切含まれていません。

解説 (7)

Zend Frameworkは既存のPDFファイルを読み込んで編集することができます。リビジョンもサポートしていると思います。

プロジェクトでドキュメントを作成するのに使っていますが、とてもうまくいきました。編集したことはありませんが。

ドキュメントをチェックしてみてください [ここ][1]

解説 (0)

私たちはpdflibを使って、railsアプリからPDFファイルを作成しています。pdflibは、PHPやその他多くの言語に対応しています。

商用版を使っていますが、いくつかの制限があるフリー/オープンソース版もあります。

残念ながら、これはPDFしか作成できません。

既存のファイルを開いて編集したい場合は、pdflibがこれを行う製品を提供していますが、ロットの費用がかかります。

解説 (0)