勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

FPDIで「This PDF document probably uses~~」エラーの対処方法

   2024/01/12  PHP

FPIDであるPDFを読み込ませようとすると「This PDF document probably uses a compression technique which is not supported by the free parser shipped with FPDI. (See https://www.setasign.com/fpdi-pdf-parser for more details)」というエラーが発生した。以下に原因と対応方法をメモ。

 

原因

圧縮されたPDFだと読み込めないことがあるらしく、それが原因っぽい。

尚、エラーログをGoogle翻訳すると「この PDF 文書は、FPDI に同梱されている無料のパーサーではサポートされていない圧縮技術を使用している可能性があります。」と表示された。

 

対応方法

Adobe Acrobat Readerを用いる方法(今回採用した方法)

対象のPDFをAdobe Acrobat Readerで開き、ファイル→印刷に進む。PDFドキュメントとして保存することで対応できた。

PDF Version Converterを用いる方法

PDF Version ConverterというツールでPDFのバージョンをダウングレードすることでも対応できる模様。

ただ、このツールは無料版だと大き目のサイズのPDFは処理してくれず、処理するには課金しないといけないっぽく断念。

QPDFを用いる方法

QPDFというプログラムを用いてPDFを変換することでも対応できる模様。色々高機能っぽいもののインストールするのが割と面倒そうなので今回は断念。

 

所感

恐らくAcrobat Proが使えたら簡単に対応できそうな問題だが、このようなレアケースのために課金するのも悩ましいところ……。

 - PHP

  関連記事

mpdfで「The /e modifier is …」エラー発生時の対応方法

pdf関連のPHPライブラリ「mPDF」を使っているページがエラーログにのってお ...

PHPにてHTML / 画像ファイルをPDFファイル化する方法(mPDF)

PHPにてHTML / 画像ファイルをPDFファイル化したい。検索してみるもサー ...

TCPDF「Could not include font definition」エラーの対処方法

TCPDFでフォントを「arialunicid0」に指定したところ「TCPDF ...

PHPでパスワード付きのZIP / PDFファイルを作成する方法

PHPでZIPファイル化する方法やPDFファイル出力する方法を過去に書いたが、何 ...

PHPでテンプレートPDFに動的に文字や数値を追記し出力する方法(TCPDF&FPDI)

請求書や領収書のテンプレートがあり、そちらに対して動的に文字・数値を追記し出力さ ...