php - 创建一个 FPDF 然后通过 PHPMailer 或打印发送
问题描述
因此,我正在尝试为车库创建 PDF 发票,目前我有以下内容(我知道变量丢失,但他们有人员信息用于在 localhost 上进行测试以及单元格中的一些空白文本)。所以无论如何,有几件事!
我想要工作和我已经做过一些研究的同一行上的相应数量,但由于我不完全理解它,它仍然无法工作,是否有人能够帮助我了解它是如何工作的,以便我可以实施它?
这个想法是创建发票,将其保存到我已经完成的SQL数据库中,并添加了直接打印文档或通过电子邮件发送给客户的选项是否可以保存PDF以发送为通过 PHPMailer 附加(我将很快掌握它!)。或者直接从这里打印?
理想情况下,不希望 PDF 在创建后堵塞。
任何帮助将不胜感激,有什么需要给我留言!
<?php
require ('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','',24);
//Cell (Width, height, text, border, end line, 'align')
$pdf->Cell(189,25,'Cheshire West Vehicle Ltd Invoice', 0,1, 'C');
$pdf->SetFont('Arial','',14);
//CWV & Customer Address
$pdf->Cell(65,5,'',0,0);
$pdf->Cell(124, 5, $firstname.' '.$lastname, 0, 1, 'R');
$pdf->Cell(40,5,'',0,0);
$pdf->Cell(149 ,5, $housenumber.', '.$postcode, 0 ,1, 'R');
$pdf->Cell(30,5,'',0,0);
$pdf->Cell(159,5,$contactnumber,0,1,'R');
$pdf->Cell(30,5,'',0,0);
$pdf->Cell(159,5,$email,0,1,'R');
//Date
$pdf->SetFont('Arial','',12);
$pdf->Cell(189,15,$date,0,1,'R');
$pdf->SetFont('Arial','',13);
//Vehicle Stuff
$pdf->Cell(12,15,'VRM: ',0,0);
$pdf->Cell(29,15,$vrm,0,0,'C');
$pdf->Cell(13,15,'Make: ',0,0);
$pdf->Cell(35,15,$make,0,0,'C');
$pdf->Cell(14,15,'Model: ',0,0);
$pdf->Cell(44,15,$model,0,0,'C');
$pdf->Cell(18,15,'Mileage: ',0,0);
$pdf->Cell(24,15,$mileage,0,1,'C');
//Work
$pdf->Cell(149,5,'Work Carried Out',1,0,'C');
$pdf->Cell(40,5,'Amount',1,0,'C');
$pdf->Cell(0,5,'',0,1);
$pdf->MultiCell(189,25,$work1,1,'C',false);
$pdf->MultiCell(40,25,$amount1,1,1);
$pdf->MultiCell(189,25,$work2,1,'C',false);
$pdf->MultiCell(40,25,$amount2,1,1);
$pdf->MultiCell(189,25,$work3,1,'C',false);
$pdf->Cell(40,25,$amount3,1,1);
//Other
$pdf->Cell(189,5,'Other Details',1,'C');
$pdf->MultiCell(189,25,$other,1,'C',false);
$pdf->Output();
?>
解决方案
是的。如果您查看 tcpdf 的文档,您会看到有输出选项,包括一个 ( S
) ,它直接将 PDF 数据作为字符串返回,而不是将其写入文件。您可以将这些原始数据直接传递给 PHPMailer 的addStringAttachment()
方法,如下所示:
$pdfdata = $pdf->Output('name.pdf', 'S');
$mail->addStringAttachment($pdfdata, 'name.pdf');
它将自动设置其编码和 MIME 类型。
在其他新闻中,tcpdf 文档无法导航。
推荐阅读
- xml - LiquidXML DataBinding 在导出为 XML 字符串时抑制 NodeType
- javascript - React.js 从特定行检索数据
- php - 从 PHP 脚本的结果发送电子邮件的最佳方式
- angular - Location、LocationStrategy 和 PlatformLocation 的 Angular StaticInjectorErrors
- c++ - 连接土壤、mingw、undef ref
- c# - c# DataGridViewTextBoxColumn 值设置
- python - pandas 读取没有合适分隔符的 .csv 文件。(仅将第一列与“其余”分开)
- git - 如何在 Jenkins 的 shell 脚本中使用 git 凭据?
- android - 如何使Android工具栏在高度方面更短
- django - Django:模型函数供下载