web-dev-qa-db-ja.com

PDFを使用して、HTMLフォームデータをPHPファイルに変換します

私はこれを数日間探してテストしていて、誰かが私を別の方向に向けることができるかどうか疑問に思っていました。非常に長い求人応募のHTMLフォーム(jobapp.html)と、HTMLフォームとPDFの両方のすべてのエントリに同じフィールド名を持つ一致するPDF(jobpdf.pdf)があります。フォームに入力されたユーザーデータを取得してPDFに変換する必要があります。これはこれまでに収集したものですが、順調に進んでいるかどうかはわかりません。

Pdftkはこれを達成するための唯一の実行可能なサードパーティアプリですか?

Pdftkを使用すると、ユーザー用に収集された$ _POSTデータを取得し、.fdf(user.fdf)を生成してから、.pdf(job.pdf)上の.fdfをフラット化します。したがって、各ドキュメントのどこにフィールドが配置されているかに関係なく、fdfの情報はフィールド名でPDFに入力されますか?

私は試しています http://koivi.com/fill-pdf-form-fields/tutorial.php

" HTMLフォームをPDFに送信 "も確認しました

8
Djacksway

私は fpdf を数回使用してphpベースのpdfドキュメントを作成しました。次の例:

require('fpdf.php');

$pdf = new FPDF();

$pdf->AddFont('georgia', '', 'georgia.php');
$pdf->AddFont('georgia', 'B', 'georgiab.php');
$pdf->AddFont('georgia', 'I', 'georgiai.php');

# Add UTF-8 support (only add a Unicode font)
$pdf->AddFont('freesans', '', 'freesans.php', true);
$pdf->SetFont('freesans', '', 12);

$pdf->SetTitle('My title');
$pdf->SetAuthor('My author');
$pdf->SetDisplayMode('fullpage', 'single');

$pdf->SetLeftMargin(20);
$pdf->SetRightMargin(20);

$pdf->AddPage();
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();

あなたはこれらで非常に速く学ぶことができます チュートリアル ウェブサイト自体から。


[〜#〜] edit [〜#〜]:フォームデータを保存する例:(はい、非常に簡単です...)

require('fpdf.php');
$pdf = new FPDF();

$pdf->AddPage();
foreach ($_POST as $key =>$data)
{
    $pdf->Write(5, "$key: $data"); //write
    $pdf->Ln(10); // new line
}
$pdf->Output($path_to_file . 'file.txt','F'); // save to file

本当にfpdfで作成されたこれらのページを見てください!

enter image description here

enter image description here

6
Igor Parra

http://www.fpdf.org/

それがそれを行うための図書館になるでしょう。ここでそれを使用してフォームに画像を追加し、送信してPDFこれらの画像を使用: http://productionlocations.com/locations

それを行うための実際のコードはかなり複雑です。

2

PrinceXML 非常に使いやすいことがわかりました。 HTML/XMLを取得し、CSSを適用して、PDFに変換します。 PHP拡張機能は非常にうまく機能します。残念ながら、無料ではありません。

1
Phil

検討できる1つの方法は、HTMLをPDFに変換するオンラインAPIを使用することです。ユーザーが送信したデータを含む生成されたHTML(作成が簡単)を送信し、忠実度の高いPDFを受け取ることができます。

市場にはかなりの数のサービスがあります。 PDFShift は、作業を簡素化する PHPのパッケージ を提供するため、言及したいと思います。

インストールしたら(Composerを使用するか、選択に応じて直接ダウンロードします)、次のようにHTMLドキュメントをすばやく変換できます。

require_once('vendor/autoload.php');
use \PDFShift\PDFShift;

PDFShift::setApiKey('{your api key}');
PDFShift::convertTo('https://link/to/your/html', null, 'invoice.pdf');

以上です。実装できる機能はかなりあります(保護されたドキュメントへのアクセス、透かしの追加など)。

お役に立てば幸いです。

1
Cyril N.