PHP实现将网页转为图片:html->pdf->png

本文介绍了如何在Linux环境下,通过PHP结合Imagick库和html2fpdf工具,将网页内容转换成PDF文件,再进一步转化为PNG图片。首先,详细说明了Imagick的安装过程,然后提供了html2fpdf的下载链接和提取码,以帮助读者获取并安装该包。接着,讨论了使用mpdf类解决HTML转PDF时可能出现的乱码问题,最后阐述了将生成的PDF转换为PNG图像的步骤。
摘要由CSDN通过智能技术生成
  1. imagick环境安装(Linux)

    1. 下载html2fpdf包:
      链接: https://pan.baidu.com/s/1pAzFuIKi0JK4h6PfmiETpg 提取码: a3jd
    tar –zxvf ImageMagick-6.9.10-12.tar.gz
    cd ImageMagick-6.9.10-12
    ./configure --prefix=/usr/local/imagemagick
    make && make install
    
    1. 下载安装Imagick
    wget http://pecl.php.net/get/imagick-3.1.0RC1.tgz
    tar -zxvf imagick-3.1.0RC1.tgz
    cd imagick-3.1.0RC1
    ln -s /usr/local/imagemagick/include/ImageMagick-6 /usr/local/imagemagick/include /ImageMagick
    /usr/local/php/bin/phpize  
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
    make && make install
    
    yum install ImageMagick-devel  //必须安装,否则调用$im->readImage会出现500错误
    
    
  2. 将html转pdf
    下载mpdf类:链接: https://pan.baidu.com/s/1lkVsx3sNhViKhut94gSKnQ 提取码: i4nq
    解决HTML转PDF乱码问题;

    include('mpdf.php');
     $mpdf=new mPDF('UTF-8','A1','','',0,0,0,0);//设置编码、页面大小,以及在pdf上面的顶点坐标
     $mpdf->useAdobeCJK = true;
     $mpdf->SetAutoFont(AUTOFONT_ALL);
     $mpdf->SetDisplayMode('fullpage');
     //$mpdf->watermark_font = 'GB';
     //$mpdf->SetWatermarkText('中国水印',0.1);
     $url = "pdf.html";
     $strContent =file_get_contents($url);
     //print_r($strContent);die;
     $mpdf->showWatermarkText = true;
     $mpdf->SetAutoFont();
     //$mpdf->SetHTMLHeader( '头部' );
     //$mpdf->SetHTMLFooter( '底部' );
     $mpdf->WriteHTML($strContent);
     $mpdf->Output("pdf.pdf");
    
    
  3. 将pdf转png

    /**
     * PDF2PNG
     * @param $pdf  待处理的PDF文件  
     * @param $path 待保存的图片路径
     * @param $page1 待导出的页面 -1为全部 0为第一页 1为第二页
     * @return      保存好的图片路径和文件名
     * 注:此处为坑 对于Imagick中的$pdf路径 和$path路径来说,   php版本为5+ 可以使用相对路径。php7+版本必须使用绝对路径。所以,建议大伙使用绝对路径。
     */
    function pdf2png($pdf,$path,$page1=-1)
    {
          
        if(!extension_loaded(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值