下载页面为 pdf 文件
Download page as pdf file
我正在创建某种文档生成器。我通过表单发送数据,它在下一页加载。现在我需要一个按钮,将此文档下载为 pdf 文件。有什么办法可以做到这一点吗?我很少看到类似的主题,但它们通常会将人们引导到在线转换器,这对我没有帮助
我过去以更多方式做过类似的事情。如果你想避免在线转换器,那么我认为你应该在使用PHP库或(如果你可以访问服务器)专用软件之间进行选择。
有一些很好的PHP库针对PDF创建,例如:- TCPDF (www.tcpdf.org)- FPDF (www.fpdf.org)
如果您有服务器访问权限,我建议您使用:- wkhtmltopdf (www.wkhtmltopdf.org)但在这种情况下,您需要首先将文档创建为静态 html 文件,其中包含所有样式和内容。然后,您只需通过一个逗号将该 html 文档转换为 pdf:
wkhtmltopdf/path/to/document.html/path/to/generated .pdf
干杯
您可以使用 FPDF,这是一个很好的开源解决方案来生成 PDF,并支持多种类型的 PDF 布局。这个解决方案可以在PHP中实现。
FPDF是一个PHP类,它允许使用纯PHP生成PDF文件,也就是说,不使用PDFlib库。FPDF 的 F 代表免费:您可以将其用于任何类型的用途并对其进行修改以满足您的需求。
要使用PHP从HTML生成PDF,您可以使用mpdf。
您也可以使用 PHP 的内置函数。
我使用mpdf。文档:http://mpdf1.com/manual/index.php?tid=452您可以添加自己的css文件,页眉,页脚等。
<?php
include("config.php");
include("MPDF54/mpdf.php");
$i = 0;
if(isset($_POST['apstiprinat'])){
$patiess = $_POST['apstiprinat'];
if($patiess == "apstiprinat"){
function prieksmeti_izdruka(){
$pr = "";
$i = 0;
$result = mysql_query("SELECT prieksmets FROM prieksmeti");
$pr .= "<table>";
$pr .= "<tr><td><b>Nr.</b></td><td><b>Prieksmeta nosaukums</b></td></tr>";
while($row = mysql_fetch_array($result)){
$i++;
$pr .= "<tr><td>{$i}.</td><td>{$row['prieksmets']}</td></tr>";
}
$pr .= "</table>";
return $pr;
}
$html = "".prieksmeti_izdruka()."";
$mpdf=new mPDF('utf-8');
$mpdf->SetHeader('Mācību priekšmeti {DATE D-M-Y}');
//$mpdf->setFooter('{PAGENO}');
$mpdf->useOnlyCoreFonts = true;
$mpdf->SetDisplayMode('fullpage');
$stylesheet = file_get_contents('noformejums.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html);
$mpdf->Output();
exit;
}
}
else { echo "Izdrukas apstiprinājums nav saņemts!;(";}
?>
这个库的缺点是你需要复制你的代码。此库接受一个参数。在这种情况下$pr
我添加所有字符串的地方。
另一个缺点是,如果您需要pdf,其中非常非常长的表格(约100页),那么它会很长地生成此文档。
我认为您需要寻找一个可以避免所有重复工作和重复代码(如 TCPDF 或 FPDF)的库。 同时,您将学习一些有趣的技巧,这些技巧将对您将来的工作有所帮助。
- 下载HTML5/Javascript MOBILE应用程序中的PDF文件
- 下载所选语言的pdf文件
- JavaScript代码,用于在浏览器中显示字节数组中的PDF文件(非base64编码)
- Phonegap从PDF文件中获取内容
- 如何从地图导出图像并将其插入到新的PDF文件中
- 通过javascript获取pdf文件的表单数据
- Pdf.js:使用base64文件源而不是url来呈现Pdf文件
- 如何使用jquery在工具提示上显示pdf文件
- 在localhost/intranet上嵌入DOC、PPT、XLS、PDF文件
- 使用 php 将 pdf 文件转换为 html 文件
- 创建一个工具来打开android平板电脑上的本地pdf文件
- 将数据库中的数据转换为可下载的PDF文件
- 压缩使用 iText 创建的 PDF 文件
- 在jspdf中使用addHTML保存pdf文件失败
- 如何从输入字段在浏览器中显示PDF文件
- Cordova jsPDF-PDF生成,我在手机上找不到PDF文件
- 是否将PDF文件保存在其他应用程序可以访问的PhoneGap应用程序中?(iOS)
- web应用程序是否可以打开客户端上存在的pdf文件
- 如何使用HtmlUnit下载PDF文件
- Javascript无法识别两个不同的PDF文件