首页 > 编程语言 >php 网页保存为pdf

php 网页保存为pdf

时间:2024-09-02 16:49:50浏览次数:12  
标签:网页 10mm wkhtmltopdf html PDF pdf php margin

  一开始用的自写html,然后转为pdf,但是这种方式很多css都不支持,不能完全达到效果,然后尝试使用wkhtmltopdf,

发现此方法貌似不能将vue项目的网页保存为pdf,可能是因为有跳转,不过也在此记录一下,目前还在学习如何使用无头浏览器实现此功能.

我的测试环境是win10,首先要安装wkhtmltopdf这个程序,下载地址:

https://wkhtmltopdf.org/downloads.html

 然后安装之后,配置环境变量

 然后在命令行测试一下

wkhtmltopdf -V

 

这样算是安装好了,接下来是代码

首先安装php扩展

composer require mikehaertl/phpwkhtmltopdf

我用的tp6框架做的测试,代码写在自定义命令行中:

$pdf = new Pdf('http://oa.admin.sosyun.com/home/login/index.html');

// 设置PDF文件的输出路径
        $pdf->setOptions([
            'page-size' => 'A4',
            'margin-top' => '10mm',
            'margin-right' => '10mm',
            'margin-bottom' => '10mm',
            'margin-left' => '10mm',
        ]);

// 生成PDF并保存

        if (!$pdf->saveAs(public_path().'output.pdf')) {
            echo "PDF生成失败: " . $pdf->getError();
        } else {
            echo "PDF生成成功: output.pdf";
        }

  试试吧

标签:网页,10mm,wkhtmltopdf,html,PDF,pdf,php,margin
From: https://www.cnblogs.com/zonglonglong/p/18392979

相关文章

  • php获取微信access_token
    参考代码:新建一个php文件,将下面代码拷贝进去,替换自己的appid和appSecret<?php//检查是否是GET请求if($_SERVER['REQUEST_METHOD']=='GET'){echogetAccessToken();}functiongetAccessToken(){$appId='替换';//微信小程序的AppID$appSecret=......
  • 【PHP+数据库】 一种快速定位php代码中的数据库连接信息取证思路
    一、取证需求趋势二、快速分析思路2.1面向过程的mysql连接2.2面向对象的mysql连接2.3PDO(PHPDataObjects)三、php常见的web框架3.1ThinkPHP框架3.2Laravel框架四、小结以下文章来源于万宏蜀盾科技,作者万宏蜀盾一、取证需求趋势越来越......
  • 根据IP地址获取当前地区的货币单位,php汇率转换
    首先,通过Composer安装库:composerrequirejoshuajohnson/php-money-exchange-rate然后,使用以下PHP代码进行转换:require'vendor/autoload.php';useMoney\Currency;useMoney\Money;useMoney\Exchange\Swap;useMoney\Exchange\PhpExchange;//初始化交换机和API......
  • 我可以将 javascript 变量设置为包含 php 代码输出的字符串吗?
    在JavaScript中,你可以将一个变量设置为包含PHP代码输出的字符串。你可以使用AJAX(异步JavaScript和XML)或FetchAPI来从服务器获取PHP代码的输出,并将其存储在JavaScript变量中。以下是使用AJAX的示例代码://创建一个XMLHttpRequest对象varxhr=newXMLHttpReque......
  • 有没有办法通过 PHP 或 .htaccess 来区分资源请求者
    是的,你可以通过PHP或.htaccess来区分资源请求者。在PHP中,你可以使用$_SERVER['REMOTE_ADDR']变量来获取请求者的IP地址。你还可以使用其他变量来获取更多关于请求者的信息,例如$_SERVER['HTTP_USER_AGENT']来获取请求者的浏览器信息。在.htaccess中,你可以使用RewriteCo......
  • 比较 php 中的 CSV 行
    在PHP中,你可以使用内置的函数来比较CSV行。以下是一个示例代码,演示如何比较CSV行:<?php//读取CSV文件$file=fopen('your_file.csv','r');//初始化变量$previous_row=null;$current_row=null;//逐行读取CSV文件while(($data=fgetcsv($file))!==fals......
  • PHP转Go系列 | ThinkPHP与Gin框架之Redis延时消息队列技术实践
    大家好,我是码农先森。我们在某宝或某多多上抢购商品时,如果只是下了订单但没有进行实际的支付,那在订单页面会有一个支付倒计时,要是过了这个时间点那么订单便会自动取消。在这样的业务场景中,一般情况下就会使用到延时队列。通常在客户下单之后,就会将订单数据推送到延时队列中并且......
  • php使用QRcode类生成二维码
    参考:https://www.cnblogs.com/txw1958/p/phpqrcode.html1.下载到最新版本:http://sourceforge.net/projects/phpqrcode/。解压后,只需要使用phpqrcode.php文件即可,解压后目录如下:  2.测试代码:publicfunctionqrcode($url){require_onceFCPATH.'application/third_......
  • 花店鲜花管理与推荐系统+Python+Django网页界面+管理系统+计算机课设
    一、介绍花店鲜花管理与推荐系统。本系统使用Python作为主要开发语言开发的一个花店鲜花管理与推荐的网站平台。网站前端界面采用HTML、CSS、BootStrap等技术搭建界面。后端采用Django框架处理用户的逻辑请求,并将用户的相关行为数据保存在数据库中。通过Ajax技术实现前后端的数......
  • php遍历文件夹以及子目录;
    php遍历文件夹以及子目录<?phpfunctionmy_dir($folderPath){ $arr_subdictory=array(); if(@$handle=opendir($folderPath)){ while(false!==($entry=readdir($handle))){ if($entry!="."&&$entry!=".."){//排除更目录 ......