【问题标题】:How to save converted JPG image from PDF using Imagemagick to database如何使用 Imagemagick 将转换后的 JPG 图像从 PDF 保存到数据库
【发布时间】:2017-10-27 12:45:47
【问题描述】:

从 php 表单加载 pdf 文件

                $name = $_FILES['file']['name'];
                $fileName = substr($_FILES['file']['tmp_name'], 5).".".$ext;
                date_default_timezone_set('UTC');
                $fileDate = date('d.m.Y');
                $fileSize = $_FILES['file']['size'];
                $folder = $_POST['folder'];


                $target_dir="$media_dir/";
                $target_file= $target_dir .  basename($_FILES["file"]["name"]);

将文件从 tmp 移动到媒体路径

                move_uploaded_file($_FILES['file']['tmp_name'], $target_file);

使用 Imagick 将 pdf 转换为 jpg

                $imagick = new imagick();
                $imagick->readImage($target_file);
                $imagick->setImageFormat('jpg');

                $image= basename($target_file,".pdf");

                foreach($imagick as $i=>$imagick) 
                { 

                    $imagick->writeImage($target_dir . $image . ($i+1) ." of ".  $pages.".jpg"); 



                } $imagick->clear();


如何将转换后的图像保存到数据库。目前只是将pdf原图上传到数据库中。

                $id_object = _addMediaFile($name, $fileName, 2, $fileSize, $folder);



               $ret = array("ID" => $id_object, "name" => $name, "fileName" => $fileName, "fileSize" => $fileSize, "fileDate" => $fileDate, "fileType" => 4, "folder" => $folder);
                echo json_encode($ret);
            }       

【问题讨论】:

    标签: php imagemagick


    【解决方案1】:

    考虑将图像直接转换为 blob,然后将其直接保存到 blob 类型的数据库列中。例如,使用$a = $image->getImageBlob();,您可以将$a 保存到数据库中。参考:http://php.net/manual/en/imagick.getimageblob.php

    【讨论】:

    • 非常感谢您的帮助。这是否意味着我不应该在 for 循环中使用 getImageBlob() 将 pdf 图像转换为 jpg,或者在使用 writeimage 将图像转换为 jpg 之后,我应该使用 getImageBlob() 转换为 Blob。如果你能指导我参考,我将不胜感激将上面的代码作为 php 的新手... foreach($imagick as $i=>$imagick) { $imagick->writeImage($target_dir . $image . ($i+1) ." of ". $pages. ".jpg"); $a=$imagick->getImageBlob();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    相关资源
    最近更新 更多