FPDIParserでPDF1.5以上を読み込む

はじめに

「PHPでPDFファイルを編集する」の記事で
フリー版のFPDIではPDF1.5以上のファイルを読み込むことはできないとご紹介しました。
今回は、有償版を使ってPDF1.5以上のファイルを読み込んで文字を追記してみましょう。

有償版といっても、今回は、トライアル版を使っていきます。
14日間の評価期間があるので、みなさんもぜひ試してみてください。

「PHPでPDFファイルを編集する」でご紹介した環境をそのまま使っていきますので、
読んでない方は先に「PHPでPDFファイルを編集する」を読んでから本記事をお読みください。

ライセンスについて

https://www.setasign.com/products/fpdi-pdf-parser/pricing

環境情報

# 項目 バージョン
1 CentOS 7.8
2 Apache 2.4.6
3 PHP 7.2.29
4 TCPDF 6.3.5
5 FPDI 2.3.3
6 FPDI PDF Parser 2.0.4

事前準備

1.FPDI PDF Parserのトライアル版をダウンロード

https://www.setasign.com/products/fpdi-pdf-parser/evaluate/

ダウンロードには、アカウント登録が必要となります。
アカウント登録後、ダウンロードしてください。

PHPファイルとライセンスと分かれているので、両方ダウンロードしてください。
PHPファイルの方は、解凍後、フォルダ内のsrcFPDI_Parserに変更してください。

2.Ioncube Loaderをダウンロード

https://www.ioncube.com/loaders.php

評価版パッケージはIoncubeでエンコードされているため、
ローダーをインストールする必要があります。
ZIPを解凍したら、ioncubeというフォルダ名に変更します。

3.フォルダ構成

各ZIPファイルを解凍し、下記のように配置します。
※構成やフォルダ名、ファイル名はお好きなように

src/
├ ioncube/
│ └ ioncubeの各ファイル
├ TCPDF/
│ ├ TCPDFの各ファイル
│ ├ FPDI/ ← FPDIのsrcフォルダのみ配置
│ │ ├ autoload.php
│ │ └ FPDIの各ファイル
│ ├ FPDI_Parser/ ← FPDI PDF Parserのsrcフォルダのみ配置
│ │ ├ .htFPDI_PDF-Parser.icl ← トライアルライセンス
│ │ ├ autoload.php
│ │ └ PDI PDF Parserの各ファイル
│ ├ template.pdf
│ └ create.php
└ index.html

実装

1.Ioncube Loaderの設定

php.iniファイルに下記を追記します。
追記したらApacheを再起動してください。

パスやPHPのバージョン等は、ご自身の環境に合わせて設定してください。

2.create.phpの実装

FPDI_Parserのautoloadを読み込む処理を1行追記するだけで完了です。
ファイルパスは各自の環境に合わせて修正してください。

おわりに

これで、PDF1.5以上のファイルが読み込めて、文字も追加できるようになったと思います。
テンプレートファイルをどうしても書き換えられない場合は、この方法を試してみてください。

下記にデモサイトもあるので、試したいファイルをアップロードして試してみることもできます。

https://www.setasign.com/products/fpdi-pdf-parser/details/

それでは、また。