tp5 使用 TCPD 扩展 将 html 转换为 pdf ,并且保存 pdf 文件
报错 : fpen(): remote host file access not supported, file://./parame.pdf
利用 TCPD 生成 html 文件 过程
1.下载 TCPD 扩展
项目跟目录下执行
</>复制代码
composer require tecnickcom/tcpdf
2.控制器测试代码
</>复制代码
public function pdf(){
$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->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE." 001", PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, "", PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, "", PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$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->SetFont("dejavusans", "", 8, "", true);
$pdf->AddPage();
$pdf->setTextShadow(array("enabled"=>true, "depth_w"=>0.2, "depth_h"=>0.2, "color"=>array(196,196,196), "opacity"=>1, "blend_mode"=>"Normal"));
$html = <<Welcome to 郭艳BOSS !
This is the first example of TCPDF library.
This text is printed using the writeHTMLCell() method but you can also use: Multicell(), writeHTML(), Write(), Cell() and Text().
Please check the source code documentation and other examples for further information.
TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE MAKE A DONATION!
EOD;
$pdf->writeHTMLCell(0, 0, "", "", $html, 0, 1, 0, true, "", true);
$filaName = Config::get("parame.pdf_ulr"). "./example_002.pdf";
//保存 pdf 方式一 :
//$count = $pdf->Output($filaName, "F");exit;
$count = $pdf->Output("./parame.pdf", "F");exit;
//保存pdf 方式二 :
//$count = $pdf->Output("example_001.pdf", "S");
//file_put_contents("./example_001.pdf",$count);exit;
//$pdf->Output("example_001.pdf", "F");exit;
//$pdf->Output("./example_001.pdf", "I");exit;
//下载 pdf
//$pdf->Output("./example_001.pdf", "D");
}
就这样执行时:报如下错误信息
看到网上的解决方案 :
参考资料 : https://www.e-learn.cn/conten...
可以使用 :
</>复制代码
$pdf->Output(__DIR__ . "/invoices/Delivery Note.pdf", "F");
我发现的问题是
fopen() 函数打开文件或者 URL。
如果打开文件 : 则必须是 该文件的 绝对路径
ok 问题解决 !!!!!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/54780.html
摘要:脚本名称请求的地址不带参数与相同。在配置中指令中指定的值请求使用的协议,通常是或。 一、Mysql编译安装 1.检查系统是否安装Mysql [root@localhost /]# find -name mysql // 如果没有查找到目录信息,表示没有安装 修改iptables:vim /etc/sysconfig/iptables -A INPUT -m state --state ...
摘要:脚本名称请求的地址不带参数与相同。在配置中指令中指定的值请求使用的协议,通常是或。 编译环境说明 操作系统:Centos 一、Mysql编译安装 检查系统是否安装Mysql [root@localhost /]# find -name mysql // 如果没有查找到目录信息,表示没有安装 修改iptables:vim /etc/sysconfig/iptables -A IN...
摘要:脚本名称请求的地址不带参数与相同。在配置中指令中指定的值请求使用的协议,通常是或。 编译环境说明 操作系统:Centos 一、Mysql编译安装 检查系统是否安装Mysql [root@localhost /]# find -name mysql // 如果没有查找到目录信息,表示没有安装 修改iptables:vim /etc/sysconfig/iptables -A IN...
摘要:客户请求头缓冲大小默认会用这个来读取值,如果设定通过上传文件的大小磁盘和之间互相拷贝数据或任意两个文件描述符。 环境说明 192.168.1.208 Nginx负载服务器 192.168.1.210 webA服务器 PHP memcache xcache mysql 192.168.1.211 webB服务器 PHP memcache xcache webA/webB...
阅读 1250·2023-04-25 22:27
阅读 1020·2021-11-22 14:56
阅读 1149·2021-11-11 16:54
阅读 1862·2019-08-30 15:54
阅读 3637·2019-08-30 13:20
阅读 1332·2019-08-30 10:55
阅读 2220·2019-08-26 13:34
阅读 3397·2019-08-26 11:53