FPDF插入文本
FPDF insert text
我有一个 html 表单,可以将答案发送到 pdf 文档中。一切正常,但我希望问题也出现在 pdf 文档中。
目前它在 pdf 上看起来像这样:
Jurgen
Yes
No
4
No
我希望它是:
Name: Jurgen
Do you own a vehicle? Yes
etc
(已解决)
我当前的 fpdf 文件代码:
<?php
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('images/logo.png', 10, 6, 30);
$this->SetFont('Arial', 'B', 15);
$this->Cell(50);
$this->Cell(90, 10, 'Document Title', 'C');
// Line break
$this->Ln(20);
}
// Page footer
function Footer()
{
$this->SetY(-15);
$this->SetFont('Arial', 'I', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
}
}
?>
<?php
//set the question values
$questions = array(
'name' => "Name: ",
'date' => "Date: ",
'first' => "First Day of Leave: ",
'last' => "Last Day of Leave: ",
'days' => "Number of Days Taken: ",
'email' => "Managers Email: ",
'sig' => "Signed: ",
);
//set the question answers
$date = $_POST['date'];
$first = $_POST['first'];
$last = $_POST['last'];
$days = $_POST['days'];
$email = $_POST['email'];
$sig = $_POST['sig'];
$name = $_POST['name'];
//set the question names
$questionName = $questions['name'];
$questionDate = $questions['date'];
$questionFirst = $questions['first'];
$questionLast = $questions['last'];
$questionDays = $questions['days'];
$questionEmail = $questions['email'];
$questionSig = $questions['sig'];
//Create the PDF
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
//insert questions and answers
$pdf->MultiCell(150,10,sprintf("%s %s", $questionDate, $date));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionName, $name));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionFirst, $first));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionLast, $last));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionDays, $days));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionEmail, $email));
$pdf->Ln();
$pdf->MultiCell(50,10,sprintf("%s %s", $questionSig, $sig));
//display pdf
$pdf->Output();
我仍在学习 FPDF,因为他们的文档不是最好的。如果我犯了一些错误,请告诉我。谢谢
为此,您可以将问题放在一个关联数组中,其中键与 html 表单中的 name
属性相匹配。
form.html
<form action="your_post.php" method="POST">
<!-- Your first question about age -->
<label>
What's your name?
<input name="name" type="text" />
</label>
<!-- Your second question -->
<label>
How old are you ?
<input name="yo" type="text" />
</label>
<input type="submit" />
</form>
your_post.php
<?php
$questions = array(
'name' => "What's your name?",
'yo' => 'How old are you?'
);
//Get you question and answer about name
$name = $_POST['name'];
$questionName = $questions['name'];
//You can of course use a foreach through $_POST to get every question
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
//Here concatenate $questionName and $name
$pdf->MultiCell(40,10,sprintf("%s %s", $questionName, $name));
$pdf->Output();
我无法帮助您解决这个明确的问题,但几天前我不得不写一个脚本,它还创建了一个 pdf 文件。
我找到了一个非常好的工具来执行此操作,我决定使用它来代替 fpdf。它直接将 html 代码转换为 pdf。 (你也可以 link css 进去)也许这对你来说也很有趣。
https://github.com/spipu/html2pdf
应该这样做
<?php
$pdf = new PDF();
$pdf->Cell(20, 10, 'Name : ' . $name . '');
$pdf->Ln();
$pdf->cell(20, 10, 'Do you own a vehicle? : ' . $question1);
$pdf->Ln();
$pdf->Output();
?>
添加表头,你现在面临的问题
<?php
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('images/logo.png', 10, 6, 30);
$this->SetFont('Arial', 'B', 15);
$this->Cell(50);
$this->Cell(90, 10, 'Document Title', 'C');
// Line break
$this->Ln(20);
}
// Page footer
function Footer()
{
$this->SetY(-15);
$this->SetFont('Arial', 'I', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
}
}
?>
更新这是你最终代码的样子
<?php
//set the question values
$questions = array(
'name' => "Name: ",
'date' => "Date: ",
'first' => "First Day of Leave: ",
'last' => "Last Day of Leave: ",
'days' => "Number of Days Taken: ",
'email' => "Managers Email: ",
'sig' => "Signed: "
);
//set the question answers
$date = $_POST['date'];
$first = $_POST['first'];
$last = $_POST['last'];
$days = $_POST['days'];
$email = $_POST['email'];
$sig = $_POST['sig'];
$name = $_POST['name'];
//set the question names
$questionName = $questions['name'];
$questionDate = $questions['date'];
$questionFirst = $questions['first'];
$questionLast = $questions['last'];
$questionDays = $questions['days'];
$questionEmail = $questions['email'];
$questionSig = $questions['sig'];
//Create the PDF
require('fpdf.php');
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('images/logo.png', 10, 6, 30);
$this->SetFont('Arial', 'B', 15);
$this->Cell(50);
$this->Cell(90, 10, 'Document Title', 'C');
// Line break
$this->Ln(20);
}
// Page footer
function Footer()
{
$this->SetY(-15);
$this->SetFont('Arial', 'I', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
}
}
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
//insert questions and answers
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionDate, $date));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionName, $name));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionFirst, $first));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionLast, $last));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionDays, $days));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionEmail, $email));
$pdf->Ln();
$pdf->MultiCell(50, 10, sprintf("%s %s", $questionSig, $sig));
//display pdf
$pdf->Output();
我有一个 html 表单,可以将答案发送到 pdf 文档中。一切正常,但我希望问题也出现在 pdf 文档中。
目前它在 pdf 上看起来像这样:
Jurgen
Yes
No
4
No
我希望它是:
Name: Jurgen
Do you own a vehicle? Yes
etc
(已解决) 我当前的 fpdf 文件代码:
<?php
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('images/logo.png', 10, 6, 30);
$this->SetFont('Arial', 'B', 15);
$this->Cell(50);
$this->Cell(90, 10, 'Document Title', 'C');
// Line break
$this->Ln(20);
}
// Page footer
function Footer()
{
$this->SetY(-15);
$this->SetFont('Arial', 'I', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
}
}
?>
<?php
//set the question values
$questions = array(
'name' => "Name: ",
'date' => "Date: ",
'first' => "First Day of Leave: ",
'last' => "Last Day of Leave: ",
'days' => "Number of Days Taken: ",
'email' => "Managers Email: ",
'sig' => "Signed: ",
);
//set the question answers
$date = $_POST['date'];
$first = $_POST['first'];
$last = $_POST['last'];
$days = $_POST['days'];
$email = $_POST['email'];
$sig = $_POST['sig'];
$name = $_POST['name'];
//set the question names
$questionName = $questions['name'];
$questionDate = $questions['date'];
$questionFirst = $questions['first'];
$questionLast = $questions['last'];
$questionDays = $questions['days'];
$questionEmail = $questions['email'];
$questionSig = $questions['sig'];
//Create the PDF
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
//insert questions and answers
$pdf->MultiCell(150,10,sprintf("%s %s", $questionDate, $date));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionName, $name));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionFirst, $first));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionLast, $last));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionDays, $days));
$pdf->Ln();
$pdf->MultiCell(150,10,sprintf("%s %s", $questionEmail, $email));
$pdf->Ln();
$pdf->MultiCell(50,10,sprintf("%s %s", $questionSig, $sig));
//display pdf
$pdf->Output();
我仍在学习 FPDF,因为他们的文档不是最好的。如果我犯了一些错误,请告诉我。谢谢
为此,您可以将问题放在一个关联数组中,其中键与 html 表单中的 name
属性相匹配。
form.html
<form action="your_post.php" method="POST">
<!-- Your first question about age -->
<label>
What's your name?
<input name="name" type="text" />
</label>
<!-- Your second question -->
<label>
How old are you ?
<input name="yo" type="text" />
</label>
<input type="submit" />
</form>
your_post.php
<?php
$questions = array(
'name' => "What's your name?",
'yo' => 'How old are you?'
);
//Get you question and answer about name
$name = $_POST['name'];
$questionName = $questions['name'];
//You can of course use a foreach through $_POST to get every question
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
//Here concatenate $questionName and $name
$pdf->MultiCell(40,10,sprintf("%s %s", $questionName, $name));
$pdf->Output();
我无法帮助您解决这个明确的问题,但几天前我不得不写一个脚本,它还创建了一个 pdf 文件。 我找到了一个非常好的工具来执行此操作,我决定使用它来代替 fpdf。它直接将 html 代码转换为 pdf。 (你也可以 link css 进去)也许这对你来说也很有趣。 https://github.com/spipu/html2pdf
应该这样做
<?php
$pdf = new PDF();
$pdf->Cell(20, 10, 'Name : ' . $name . '');
$pdf->Ln();
$pdf->cell(20, 10, 'Do you own a vehicle? : ' . $question1);
$pdf->Ln();
$pdf->Output();
?>
添加表头,你现在面临的问题
<?php
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('images/logo.png', 10, 6, 30);
$this->SetFont('Arial', 'B', 15);
$this->Cell(50);
$this->Cell(90, 10, 'Document Title', 'C');
// Line break
$this->Ln(20);
}
// Page footer
function Footer()
{
$this->SetY(-15);
$this->SetFont('Arial', 'I', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
}
}
?>
更新这是你最终代码的样子
<?php
//set the question values
$questions = array(
'name' => "Name: ",
'date' => "Date: ",
'first' => "First Day of Leave: ",
'last' => "Last Day of Leave: ",
'days' => "Number of Days Taken: ",
'email' => "Managers Email: ",
'sig' => "Signed: "
);
//set the question answers
$date = $_POST['date'];
$first = $_POST['first'];
$last = $_POST['last'];
$days = $_POST['days'];
$email = $_POST['email'];
$sig = $_POST['sig'];
$name = $_POST['name'];
//set the question names
$questionName = $questions['name'];
$questionDate = $questions['date'];
$questionFirst = $questions['first'];
$questionLast = $questions['last'];
$questionDays = $questions['days'];
$questionEmail = $questions['email'];
$questionSig = $questions['sig'];
//Create the PDF
require('fpdf.php');
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('images/logo.png', 10, 6, 30);
$this->SetFont('Arial', 'B', 15);
$this->Cell(50);
$this->Cell(90, 10, 'Document Title', 'C');
// Line break
$this->Ln(20);
}
// Page footer
function Footer()
{
$this->SetY(-15);
$this->SetFont('Arial', 'I', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
}
}
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
//insert questions and answers
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionDate, $date));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionName, $name));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionFirst, $first));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionLast, $last));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionDays, $days));
$pdf->Ln();
$pdf->MultiCell(150, 10, sprintf("%s %s", $questionEmail, $email));
$pdf->Ln();
$pdf->MultiCell(50, 10, sprintf("%s %s", $questionSig, $sig));
//display pdf
$pdf->Output();