我正在尝试制作一个将在线查看为PDF的文档。示例网址为url.com/PDF.php?name=John Doe
。
PDF将包含大量预定义文本,我想多次将name=
之后的部分回显到PDF中。
我已阅读(并试过)FPDF,TCPDF,但我无法弄清楚如何实现这一点。
<?php
echo htmlentities($_GET["name"]); //John
?>
有没有人知道实现这一目标的直接方式?
我没有PDF代码,因为我没有得到FPDF或TCPDF来正确地工作/显示我正在做的事情。以为我会检查这是否是正确的方法,或者我应该使用纯PHP。
使用这些php / pdf库工作的'for dummies'指南实际上很棒。我下载了库,将其上传到我的服务器,复制了examples文件夹中的一个文件,将路由更改为(tcpdf-relative)文件,但不是,它不起作用。如果我转到examples / example_001.pdf中的一个文件,它会正确显示。如果我将该文件复制到root并更改链接以匹配新位置,则它不起作用。
示例效果很好 http://fragger.no/pdf/examples/example_003.php
此文件放在root中根本不显示,只显示白页。没有错误。
<?php
// Include the main TCPDF library (search for installation path).
require_once('examples/tcpdf_include.php');
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
//Page header
public function Header() {
// Logo
$image_file = K_PATH_IMAGES.'logo_example.jpg';
$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
// Set font
$this->SetFont('helvetica', 'B', 20);
// Title
$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
// Page footer
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-15);
// Set font
$this->SetFont('helvetica', 'I', 8);
// Page number
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 003');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// ---------------------------------------------------------
// set font
$pdf->SetFont('times', 'BI', 12);
// add a page
$pdf->AddPage();
// set some text to print
$txt = <<<EOD
TCPDF Example 003
Custom page header and footer are defined by extending the TCPDF class and overriding the Header() and Footer() methods.
EOD;
// print a block of text using Write()
$pdf->Write(0, $txt, '', 0, 'C', true, 0, false, false, 0);
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('pdf.pdf', 'I');
//============================================================+
// END OF FILE
//============================================================+
我编辑了这个: //包含主TCPDF库(搜索安装路径)。 require_once( '的例子/ tcpdf_include.php');
要 //包含主TCPDF库(搜索安装路径)。 require_once( 'tcpdf.php');
并且它有效,所以现在我需要的是在文档中使用GET信息。
这是我想要展示的地方吗?name =
// set font
$pdf->SetFont('helvetica', '', 12);
// add a page
$pdf->AddPage();
// set some text to print
$txt = <<<EOD
My text
**NAME VALUE**
Some more text
EOD;
答案 0 :(得分:0)
首先,为了使用$_GET
,你必须检查它是否存在:
<?php
if ( isset( $_GET[ "name" ] ) )
$name = $_GET[ "name" ]; // ◄■■■■■■ NAME FROM URL.
else $name = "noname"; // ◄■■■■■■ "NONAME" OR "?" OR ANYTHING ELSE.
// Include the main TCPDF library (search for installation path).
require_once('examples/tcpdf_include.php');
.
.
.
名称存储在$name
中,因此您可以在任何地方使用该变量:
$txt = <<<EOD
My text
$name
Some more text
EOD;