请问通过接口返回的pdf的文件流,怎么用php把这些文件流转为pdf文件
直接将文件流内容写入文件,而文件的后缀名设为 pdf 格式就可以了;PHP 不管保存文件流还是文本,都是用这种方式;
$path = "demo.pdf";
$ret = file_put_contents($path, $arr['data']);
if ($ret) {
echo '保存成功'; // 然后可以取查看文件
}
许昌鲤鱼IT电脑计算机软件编程培训中心教你如何利用PHP生成PDF文件?
在PHP代码中生成PDF文件是一项非常耗时的工作,早期的程序员通常是在PHP代码中利用FPDF生成PDF文件。但在如今,有很多的函数库可以使用,借助它们你可以从你提供的HTML文档生成PDF文件,从而让工作变得简单方便起来。
FPDF是一个PHP类,它允许用纯PHP代码生成PDF文件,这也就是说我们不用使用PDFlib库。FPDF中的F就代表着自由:你可以以各种方式使用它,并根据你的需求调整它。下面我们来看看FPDF的特征:
1. 自由选择单元格,页面格式和边距;
2. 管理页眉和页脚;
3. 自动分页;
4. 自动换行和文本对齐;
5. 支持图片(JPEG,PNG,GIF);
6. 颜色管理;
7. 支持链接;
接下来再介绍一下可以直接从HTML生成PDF的函数库。
DomPDF
DomPDF是一个从HTML到PDF的转换器,它遵循CSS2.1的HTML布局,还有是用PHP编写的渲染引擎。DomPDF以样式为主导:它可以下载和读取外链样式表,内链样式标签和HTML元素的属性。它的特点包括:
1. 处理CSS属性,包括了@import,@media和@page规则;
2. 支持HTML的可见属性;
3. 支持外部样式表,通过本地或http/ftp;
4. 支持复杂的表结构;
8. 支持图片(JPEG,BMP,PNG,GIF);
5. 不依赖于其他PDF库;
TCPDF
TCPDF是一个用于生成PDF文件的开源PHP类,该项目起源于2002年,现在已经有全世界成千上万的人在使用。它的提点包括:
1. 基本功能不需要外部函数库;
2. 支持标准页面格式,自定义页面格式;
3. 支持UTF-8编码和从右向左的语言;
4. 支持各种字体;
5. 支持图片和图形的转换;
6. 支持页面压缩;
7. 支持页眉和页脚管理;
php word转pdf 有什么方法吗
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 ?
php怎么将php文件转换成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生成pdf 下载 同步还是异步
同步
首先需要安装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的文件名,可以使用绝对路径