PHP PDF转图片

本地环境

  • 系统:win10 64位
  • 环境:phpStudy
  • PHP版本:7.3

 

配置扩展

一、安装imageMagick

  • 下载地址:https://imagemagick.org/script/download.php
  • 安装版本:ImageMagick-7.1.1-12-Q16-HDRI-x64-dll
  • 配置环境变量:我的电脑-属性-高级系统设置-环境变量-系统变量-path-编辑-新建-引入安装路径

二、安装ghostscript

三、下载php_imagick.dll扩展

  • 注意事项:选择与自身PHP版本相同的下载,如果phpinfo的Thread Safety是disabied选择nts版本,否则选ts版本

四、开启php_imagick.dll扩展

  • 1.把php_imagick.dll文件复制到 ext 目录下(phpstudy-属性-打开 文件所在的位置 -> 返回上一层 -Extensions- php-php7.3.4nts ->ext)
  • 2.把其他.dll文件复制在php根目录下(phpstudy-属性-打开 文件所在的位置 -> 返回上一层 -Extensions- php-php7.3.4nts )

  •  3.开启扩展(phpStudy-网站-选择开发的项目-管理-php扩展-勾选imagick)

五、PHP调用代码

function pdfToPng($PDF,$Path){
    try{
        if(!extension_loaded('imagick')){
            return 1;
        }
        if(!file_exists($PDF)){
            return 2;
        }

        $IM = new \imagick();
        $IM->setResolution(120,120);
        $IM->setCompressionQuality(100);
        $IM->readImage($PDF);

        foreach ($IM as $Key => $Var){
            $Var->setImageFormat('png');
            $Filename = $Path.'/'.md5($Key.time()).'.png';
            if($Var->writeImage($Filename) == true){
               $Return[] = $Filename;
            }
        }
    }catch(\Exception $e){
        return $e->getMessage();
    } 

    return $Return;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用一些库和工具来将 PDF 文件换为图片,并处理其中的非 UTF-8 内容。一个常用的 PHP 库是 Imagick,它可以用来处理图像和 PDF 文件。 首先,确保你已经安装了 Imagick 扩展。然后,你可以按照以下步骤来进行换: 1. 加载 PDF 文件并创建一个 Imagick 对象: ```php $pdfPath = 'path/to/your/pdf/file.pdf'; $imagick = new Imagick(); $imagick->readImage($pdfPath); ``` 2. 设置 Imagick 对象的一些参数,如分辨率、颜色空间等: ```php $imagick->setResolution(300, 300); // 设置分辨率,可根据需要调整 $imagick->setColorspace(Imagick::COLORSPACE_RGB); // 设置颜色空间,根据需要选择 ``` 3. 遍历 PDF 的每一页,并将其换为图片: ```php foreach ($imagick as $pageNumber => $page) { // 设置页码,从 0 开始 $page->setIteratorIndex($pageNumber); // 将 PDF 页面换为图片 $page->setImageFormat('png'); // 可以选择其他图片格式如JPEG // 处理非 UTF-8 内容(如果需要) // $pageContent = $page->getImageBlob(); // 进行相应的处理,如字符编码换 // 保存图片 $imagePath = 'path/to/save/image/page_' . ($pageNumber + 1) . '.png'; // 图片保存路径,根据需要调整 $page->writeImage($imagePath); } ``` 在上述代码中,你可以根据需要在处理非 UTF-8 内容时进行相应的字符编码换操作。 请注意,PDF 换为图片可能会涉及到一些排版和格式的变化,因此换后的图片可能与原始 PDF 有所不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值