我编写了一个用于生成pdf文件的PHP代码,并将一些内容写入该特定pdf。代码如下所示:
<?php
session_start();
include('../database.php');
$id = $_GET['id'];
$_SESSION["cusid"] = $id;
$invname = 'invoice_'.(mt_rand(1,10000)).'i'.(mt_rand(1,10000));
$phpFile = fopen('invoice/'.$invname.'.php', "w") or die("Could not open file.");
$inv = $invname.'.pdf';
$sql=mysqli_query($con,"update customer set file='$inv' where cusid='$id'");
$phpContent = '<?php
session_start();
include("../database.php");
$id = $inv;
echo $id;
';
fwrite($phpFile, $phpContent);
fclose($phpFile);
?>
但是使用此代码时,会创建pdf文件,但在打开特定的pdf时,它会显示无法打开文件的消息。
如何解决此错误?任何人都可以建议如何解决这个错误?
答案 0 :(得分:1)
FPDF是一个PHP类,允许您在不使用PDFlib库的情况下生成PDF文件。 你可以在这里下载 http://www.fpdf.org/en/download.php 然后解压缩并上传到您的服务器。例如,到目录 public_html / fpdf /
<?php
require('./fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('<any_font>','B',16);
$pdf->Cell(40,10,'Your string..'');
$pdf->Output();
?>
上面的代码足以创建一个pdf文件。输入一个php文件并将其保存在同一目录中。在执行时,您将获得一个pdf生成。
答案 1 :(得分:-1)
您应该尝试FPDF。它将帮助您使用PHP制作pdf文件。
以下是使用php
<?php
require('fpdf.php');//download fpdf library and include here
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(0,10,"Welcome ",3,0,'L');
$pdf->SetFont('Arial', '', 15);
$pdf->SetXY(160 , 30);
$pdf->Write(10, "May 8, 2016");
$pdf->Line(18, 45, 210-20, 45);
$pdf->SetFont('Arial', 'B', 10);
$pdf->SetXY(10 , 54);
$pdf->Write(10, "PAY");
$pdf->SetFont('Arial', '', 11);
$pdf->SetXY(18.5 , 54);
$pdf->Write(10, "ONE THOUSAND TWO HUNDRED THIRTY");
$pdf->SetXY(18 , 75);
$pdf->Cell(35,10,"Pay to the order of ",1,0,'C');
$pdf->SetXY(55, 79);
$pdf->MultiCell(95,6,"Zain Farooq",'BB','L');
$pdf->Ln();
$pdf->SetFont('Arial','',10);
$pdf->setFillColor(0,0,0);
$pdf->SetTextColor(255,255,255);
$pdf->Cell(80, 6, 'COMPANY INFORMATION', 1,0,'C',1);
$pdf->SetFont('Arial','',18);
$pdf->SetTextColor(0,0,0);
$pdf->setFillColor(230,230,230);
$pdf->Cell(80, 23, 'Earnings statement', 1 ,0,'C',1);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(10 , 97);
$pdf->SetTextColor(0,0,0);
$pdf->MultiCell(80, 17, 'Extra statements', 'BL' ,'L');
$pdf->SetXY(10 , 103);
$pdf->MultiCell(90,11,"",'BL','R');
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(10 , 114);
$pdf->setFillColor(0,0,0);
$pdf->SetTextColor(255,255,255);
$pdf->Cell(80, 6, 'Employee Information', 1,0,'C',1);
$pdf->Cell(40, 6, 'Social Security', 1,0,'C',1);
$pdf->Cell(40, 6, 'Employee ID', 1, 0, 'C',1);
$pdf->Ln();
$pdf->SetTextColor(0,0,0);
$pdf->SetXY(10 , 114);
$pdf->Cell(80, 18, '4323', 1);
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(90 , 120);
$pdf->setFillColor(255,255,255);
$pdf->Cell(40, 4, 'XXX-XX-123', 1,0,'C',1);
$pdf->Cell(40, 4, '123456', 1, 0, 'C',1);
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(90 , 124);
$pdf->setFillColor(0,0,0);
$pdf->SetTextColor(255,255,255);
$pdf->Cell(20, 4, 'Start Date', 1,0,'C',1);
$pdf->Cell(20, 4, 'End Date', 1, 0, 'C',1);
$pdf->Cell(40, 4, 'Check Date', 1, 0, 'C',1);
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(90 , 128);
$pdf->setFillColor(255,255,255);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(20, 4, 'Start Date', 1,0,'C',1);
$pdf->Cell(20, 4, 'End Date', 1, 0, 'C',1);
$pdf->Cell(40, 4, 'Check Date', 1, 0, 'C',1);
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(10 , 132.3);
$pdf->setFillColor(0,0,0);
$pdf->SetTextColor(255,255,255);
$pdf->Cell(20, 6, 'Earnings', 1,0,'C',1);
$pdf->Cell(20,6, 'Rate', 1, 0, 'C',1);
$pdf->Cell(20,6, 'Hours', 1, 0, 'C',1);
$pdf->Cell(20, 6, 'Current', 1,0,'C',1);
$pdf->Cell(20, 6, 'Year to date', 1, 0, 'C',1);
$pdf->Cell(20, 6, 'Deductions', 1, 0, 'C',1);
$pdf->Cell(20, 6, 'Current', 1,0,'C',1);
$pdf->Cell(20, 6, 'Year to date', 1, 0, 'C',1);
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(10 , 137.3);
$pdf->setFillColor(255,255,255);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(20, 50, 'Earnings', 1,0,'T',1);
$pdf->Cell(20,50, 'Rate', 1, 0, 'C',1);
$pdf->Cell(20,50, 'Hours', 1, 0, 'C',1);
$pdf->Cell(20, 50, 'Current', 1,0,'C',1);
$pdf->Cell(20, 50, 'Year to date', 1, 0, 'C',1);
$pdf->Cell(20, 50, 'Deductions', 1, 0, 'C',1);
$pdf->Cell(20, 50, 'Current', 1,0,'C',1);
$pdf->Cell(20, 50, 'Year to date', 1, 0, 'C',1);
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','B',8);
$pdf->SetXY(10 , 187.3);
$pdf->setFillColor(230,230,230);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(60, 6, 'Earnings', 1,0,'R',1);
$pdf->SetFont('Arial','',8);
$pdf->Cell(20, 6, '1600.00', 1,0,'C',1);
$pdf->Cell(20, 6, '14,400.00', 1, 0, 'C',1);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(20, 6, 'Deductions', 1, 0, 'C',1);
$pdf->SetFont('Arial','',8);
$pdf->Cell(20, 6, '370.00', 1,0,'C',1);
$pdf->Cell(20, 6, '3,300.00', 1, 0, 'C',1);
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(10 , 193.3);
$pdf->setFillColor(255,255,255);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(26.66667, 6, 'Check Number', 1,0,'R',1);
$pdf->Cell(26.66667, 6, '#6059', 1,0,'C',1);
$pdf->Cell(26.66667, 6, 'Net Pay', 1, 0, 'C',1);
$pdf->Cell(26.66667, 6, '$1,230', 1, 0, 'C',1);
$pdf->Cell(26.66667, 6, 'YTD NET PAY', 1,0,'C',1);
$pdf->Cell(26.66667, 6, '$11,070', 1, 0, 'C',1);
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',8);
$pdf->SetXY(10 , 199.5);
$pdf->setFillColor(0,0,0);
$pdf->Cell(160, 5, '', 1, 0, '',1);
$pdf->Ln();
$pdf->Output('filename.pdf','D');//once design is completed the file will be downloaded into your browser
?>
它只是一个样本。你可以自己设计。希望它能帮到你