web-dev-qa-db-ja.com

PDFでテンプレートから新しいPHPを作成

PDFファイルとして保存した、フォーマットとレイアウトを設定したdocxドキュメントファイルがあります。このpdfファイルを、ユーザーが事前に入力した新しいpdfファイルを作成するためのテンプレートとして使用しますデータ。

[〜#〜] fpdf [〜#〜][〜#〜] fpdi [〜#〜]tcPDFdomPDFZend PDFhttp://koivi.com/fill-pdf-form-fields/ (Justin Koivisto)、いくつかの変換 HTML2PDF のようなツールと、stackoverflowでここで言及したいくつかのコマンドラインツール。 [〜#〜] fpdi [〜#〜] を除いて、=を使用してexampleを提供するものはありません。 PDFテンプレートを使用して、カスタムタグを実際のデータ(通常はデータベースから)で検索および置換するか、x、y、postion、font、font-formatingなどの値の束を指定せずにデータを追加します。

PDFをゼロから作成するのは大変な作業のように思われます。 HTML2PDF コンバーターを使用することはまだ検討していません。一部のツールではCSSを使用できますが、多くの場合、フロートをサポートしないなどの制限があります。

PHPExcel でExcelのようにテンプレートを使用する簡単な方法はありませんか?

私のニーズは次のとおりです。

  • 自由
  • テンプレートをロードして使用する
  • 検索と置換のカスタムタグ
  • データ(テキスト、画像、フォント、フォーマットなど)を追加します
  • カスタムヘッダーとフッター
  • 共有ホスティングで動作する必要があります
  • 最終生成されたPDFのダウンロード、サーバーへの保存/保存、および電子メールへの添付を許可します(最初に保存する必要はありません)。
19
Kim

[〜#〜] mpdf [〜#〜]

  1. fPDFとHTML2FPDFに基づいているため、それらの機能の一部を使用したり、他の機能を追加したりできます。
  2. たくさんのクールな機能があります(あらゆる種類のバーコード、ロケールのサポート、透かしなどを作成します)
  3. 非常によくできたドキュメントがあります
  4. コミュニティフォーラムがあります
  5. 例があります!
  6. それは簡単な学習曲線を持っています

唯一の悪い点は、それが少し重いことですが、必要のないものは削除できます。

16
drakezilla

tCPDFを使用して、HTMLタグを使用してPDFテンプレートを作成することができます。作成が高速で、使いやすく、統合が容易です。法律事務所の詳細な請求書形式)、ジュエリーワークショップの生産封筒(写真を含む)、ストックノート、請求書。

TCPDの例

6
Catalin Marin

try [〜#〜] fpdi [〜#〜] 既存のテンプレートの編集とそのテンプレートファイルの変更をサポートします

使い方はかなり戦略的です:

<?php
require_once('fpdf.php');
require_once('fpdi.php');

$pdf = new FPDI();

$pagecount = $pdf->setSourceFile('TestDoc.pdf');
$tplidx = $pdf->importPage(1, '/MediaBox');

$pdf->addPage();
$pdf->useTemplate($tplidx, 10, 10, 90);

$pdf->Output('newpdf.pdf', 'D');

以下のリンクも参照してください。 PHPにPDFテンプレートの解決策はありますか?

PDF PHPのテンプレートドキュメント)の作成/描画

5
Gaurav Sharma

http://www.livedocx.com/

LiveDocxは、テンプレートベースのドキュメント作成プラットフォームです。

http://www.phplivedocx.org/articles/getting-started-with-phplivedocx/

2
Felipe Duardo

PDFを「テンプレート」として使用しようとすると、問題はPDFはタイプセットドキュメント形式です。たとえば、固定レイアウトであり、レイアウトをあまり混乱させないでください。

XSL-FOのようなものを使用してXML「テンプレート」からドキュメントを生成する方がはるかに簡単です。必要なことは、適切なフィールドを使用してXMLを生成するだけです。XSL-FOレンダラーは、PDFを作成できます。

最高の(のみ?)無料のXSL-FOレンダラーはApache FOPです。

1
ju1ce--

PHPでこれを行う代わりに、WordまたはOpenOfficeの差し込み印刷機能を使用してテンプレートを作成し、データをタグにインポートできます。次に、「印刷」できますが、実際に印刷する代わりにPDFとしてエクスポートします。テンプレートを定期的に更新する必要がない場合、これはより高速なソリューションになる可能性があります。これを約150の製品で行いましたが、テンプレートの作成とPDFのアップロードを含めて30分もかかりませんでした。ちょっと考え直して、これが他の誰かの助けになることを願っています!

1
NotJay

既存のPDF with https://github.com/applicius/dhek/releases でテンプレートを定義するという苦痛をすべてスキップできます。 PDFページ/座標。したがって、PDF好みのAPIで埋めることができます。

1
cchantep

以下に、1つのPDFテンプレートとコンテンツをHTMLとして使用する複数のページを作成する方法の例を示します。MPDFライブラリに基づいています。

$mpdf = new mPDF('utf-8', $format_size, 0, '', $margin_left, $margin_right, $margin_top, $margin_bottom, 0, 0, $orientation);

if ( $bg_template ) { 
    // is a PDF template file
    $mpdf->SetImportUse();
    $pagecount = $mpdf->SetSourceFile( $bg_template );
    $tplIdx = $mpdf->ImportPage( $pagecount );
}

foreach ( $html as $one_letter_text ) {
    $mpdf->addPage();

    if ( $bg_template ) {
        $mpdf->useTemplate( $tplIdx, 0, 0);
    }

    $mpdf->WriteHTML( $one_letter_text );
}
$title = 'my-letter.pdf';

$pdf_path = $this->created_pdf_upload_dir.'/'.$title;
$mpdf->Output( $pdf_path, 'F');
0

プロジェクトにはそれが必要だったので、そのための高速なツールを作成しました。あなたはそれをチェックして、気軽に貢献することができます こちら

0
glerendegui

http://template2pdf.com/ をご覧ください。OpenOfficeまたはLibreOfficeテンプレートを使用し、テキストまたは画像の置換を行うことができるAPIを提供します。

0
user3222082