直接将文件流内容写入文件,而文件的后缀名设为 pdf 格式就可以了;PHP 不管保存文件流还是文本,都是用这种方式;
创新互联从2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元千山做网站,已为上家服务,为千山各地企业和个人服务,联系电话:028-86922220
$path = "demo.pdf";
$ret = file_put_contents($path, $arr['data']);
if ($ret) {
echo '保存成功'; // 然后可以取查看文件
}
同步
首先需要安装wkhtmltopdf这个软件 需要执行shell_exec函数的php文件和安装的wkhtmltopdf.exe可执行文件在同一目录下,不然php找不到这个执行文件
shell_exec("wkhtmltopdf.exe --page-size A4 --outline 网页地址 pdf文件名");
--page-size 以A4纸的尺寸显示pdf内容
--outline 显示目录(网页中h1,h2来定)
网页地址 需要转成pdf的网页地址
pdf文件名 生成pdf的文件名,可以使用绝对路径
分享这个转换成pdf得函数给你function pdf($html='h1 style="color:red"hello word/h1'){vendor('Tcpdf.tcpdf');$pdf = new \Tcpdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);// 设置打印模式$pdf-SetCreator(PDF_CREATOR);$pdf-SetAuthor('Nicola Asuni');$pdf-SetTitle('TCPDF Example 001');$pdf-SetSubject('TCPDF Tutorial');$pdf-SetKeywords('TCPDF, PDF, example, test, guide');// 是否显示页眉$pdf-setPrintHeader(false);// 设置页眉显示的内容$pdf-SetHeaderData('logo.png', 60, 'baijunyao.com', '白俊遥博客', array(0,64,255), array(0,64,128));// 设置页眉字体$pdf-setHeaderFont(Array('dejavusans', '', '12'));// 页眉距离顶部的距离$pdf-SetHeaderMargin('5');// 是否显示页脚$pdf-setPrintFooter(true);// 设置页脚显示的内容$pdf-setFooterData(array(0,64,0), array(0,64,128));// 设置页脚的字体$pdf-setFooterFont(Array('dejavusans', '', '10'));// 设置页脚距离底部的距离$pdf-SetFooterMargin('10');// 设置默认等宽字体$pdf-SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);// 设置行高$pdf-setCellHeightRatio(1);// 设置左、上、右的间距$pdf-SetMargins('10', '10', '10');// 设置是否自动分页 距离底部多少距离时分页$pdf-SetAutoPageBreak(TRUE, '15');// 设置图像比例因子$pdf-setImageScale(PDF_IMAGE_SCALE_RATIO);if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {require_once(dirname(__FILE__).'/lang/eng.php');$pdf-setLanguageArray($l);}$pdf-setFontSubsetting(true);$pdf-AddPage();// 设置字体$pdf-SetFont('stsongstdlight', '', 14, '', true);$pdf-writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);$pdf-Output('example_001.pdf', 'I'); }
PHP也可以实现导出Word文档为PDF的功能,不过要借助于第三方的类库,今天我们将为大家介绍PHP依靠com.sun.star.ServiceManager来转换Word为PDF文档的相关技巧。
PHP处理Word转PDF的示例代码:
02 set_time_limit(0);
03 function MakePropertyValue($name,$value,$osm){
04 $oStruct=$osm-Bridge_GetStruct("com.sun.star.beans.PropertyValue");
05 $oStruct-Name = $name;
06 $oStruct-Value = $value;
07 return $oStruct;
08 }
09 function word2pdf($doc_url, $output_url){
10 $osm = new COM("com.sun.star.ServiceManager")or die ("请确认OpenOffice.org库是否已经安装.\n");
11 $args = array(MakePropertyValue("Hidden",true,$osm));
12 $oDesktop = $osm-createInstance("com.sun.star.frame.Desktop");
13 $oWriterDoc = $oDesktop-loadComponentFromURL($doc_url,"_blank", 0, $args);
14 $export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));
15 $oWriterDoc-storeToURL($output_url,$export_args);
16 $oWriterDoc-close(true);
17 }
18 $output_dir = "D:/temp/";
19 $doc_file = "D:/temps/test.doc";
20 $pdf_file = "test.pdf";
21 $output_file = $output_dir.$pdf_file;
22 $doc_file = "".$doc_file;
23 $output_file = "".$output_file;
24 word2pdf($doc_file,$output_file);
25 ?
FPDF有提供表格和加入图片等功能。
如果要使用PHP生成一个复杂的包括图片和表格的PDF,还是需要手动代码来生成。没有什么更好的办法。 还是多看看演示,再结合一下就成了。
good luck
1首先下一个phpexcel
2下载完成的是一个压缩文件,解压放到你的项目目录里
3.下面进入代码;
4.
//引入PHPExcel库文件(路径根据自己情况)
include './phpexcel/Classes/PHPExcel.php';
//创建对象
$excel = new PHPExcel();
//Excel表格式,这里简略写了8列
$letter = array('A','B','C','D','E','F','F','G');
//表头数组
$tableheader = array('学号','姓名','性别','年龄','班级');
//填充表头信息
for($i = 0;$i count($tableheader);$i++) {
$excel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
}
5.
//表格数组
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小张','女','20','102'),
array('4','小赵','女','20','103')
);
//填充表格信息
for ($i = 2;$i = count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=$value) {
$excel-getActiveSheet()-setCellValue("$letter[$j]$i","$value");
$j++;
}
}
6.
//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write-save('php://output');
7.打开页面,刷新的时候会弹出对话框,让你选择文件保存路径和文件名称,
8.打开表格后,数据和格式跟代码中的一致,说明PHP导出的Excel是正确的。如果出现错误,检查一下你的表格数组和数据数组吧。