30

次のコードを実行していて、このエラーが発生しています。FPDF error: This document (testcopy.pdf) probably uses a compression technique which is not supported by the free parser shipped with FPDI.別の名前のpdfを使用test.pdfしましたが、正常に動作しますが、testcopy.pdf.

これはパーサーの問題だと思います。このエラーを回避するために fpdf で使用できる他のパーサーを知っている人はいますか?

私のコード:

require('fpdf17/fpdf.php'); 
require('fpdf17/fpdi.php'); 
// initiate FPDI 
$pdf = new FPDI(); 
while (ob_get_level())
ob_end_clean();
header("Content-Encoding: None", true);
// set the sourcefile 
$pagecount = $pdf->setSourceFile('testcopy.pdf');

PDFを2つのPDFに分割し、両方のPDFを添付ファイルフィールドに添付したい.PDFをサーバーに保存する方法. fpdfで可能ですか?

4

9 に答える 9

39

はい、まさに FPDF ライブラリは PDF バージョン 1.4 以下のみをサポートしています。したがって、この問題を解決するにはGhostScriptを使用してください。このスクリプトは、PDF バージョンを動的に変更するのに役立ちます。

(1) ここからGhostscriptをダウンロードします。

(2) Ghostscript をインストールし、環境変数 PATH を定義します。

(3) 次に、以下の php コードを使用して PDF バージョンを変更します。

shell_exec( "gswin32 -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=".$new_pdf." ".$old_pdf.""); 

(4) 出力としてバージョン 1.4 の PDF を取得し、FPDF を続行します。

楽しみ!

于 2015-04-10T11:52:28.100 に答える
15

ファイルはPDF1.4(Acrobat 5)以下である必要があります。Adobe Acrobat Proをお持ちの場合は、[ドキュメント]->[ファイルサイズを小さくする]でこれを変更できます。

于 2012-09-12T11:08:24.480 に答える
10

これまでの回答を見て、問題を解決できませんでした。これが理由であり、同じ問題を抱えている可能性があるため、この回答はあなたにとっても非常に貴重です.

私は acrobat にアクセスできなかったので、元の PDF のバージョンをダウングレードできませんでした。暗号化がアップグレードされた新しいバージョンのライブラリを購入する立場にありませんでした。

最後に、オンライン PDF コンバーターを使用して、PDF ファイルをバージョン 5 (1.4) にダウングレードしました。

見つからない場合は、完全を期すためのリンクを次に示します。

https://docupub.com/pdfconvert/

(リンク先の内容は変更になる場合がありますのでご了承ください)

于 2016-02-15T10:53:50.523 に答える
6

これが別のトピックからの私の答えです:

「テンプレートを再保存して圧縮タイプを変更することで解決できます。AdobeAcrobatProで、[ファイル]->[名前を付けて保存]->[最適化されたPDF]->[ポップアップの左側のリスト]-[クリーンアップ]、[オブジェクト圧縮オプション]->[ドキュメントの圧縮]に移動します。構造"->保存してもOK"

参照。fpdiを使用してパスワードで保護されたPDFを編集する

于 2012-12-14T13:06:17.650 に答える
1

Acrobat のプロ版を持っていない場合:

Office 機能を使用して PDF に保存しようとすると、新しいバージョンの Word でこの問題が発生していました。Office で提供されている PDF 変換ツールは、新しい形式を使用しているようです。これが私がそれを修正した方法です。

  • NitroPDF の無料版をインストールします (ダウンロード可能な別の無料の PDF クリエーターで動作する場合があります)
  • Word 文書に移動し、[印刷] を選択します。
  • 印刷オプションで、プリンターの代わりに「Nitro PDF Creator (Reader 3)」または現在のバージョンを選択します。
  • ダイアログボックスが開き、PDF を保存する場所を選択できます。

保存したバージョンはFPDFで開くことができました。

それが役に立てば幸い

于 2013-08-18T17:23:10.623 に答える
0

私はあなたと非常によく似たエラーがありました。私の解決策は、PDFをより低いPDFバージョンに変換することでした。すべてが期待どおりに機能したよりも。

簡単なトリックがお役に立てば幸いです。

于 2012-09-01T08:32:52.940 に答える