【问题标题】:Imagemagick - create a thumbnail of the first page of a PDF - PHPImagemagick - 创建 PDF 第一页的缩略图 - PHP
【发布时间】:2016-12-23 07:29:27
【问题描述】:

我想使用 imageMagick 为第一页创建在线 PDF 的缩略图。问题是我确实得到了一个缩略图,但不是文档的第一页,或者我可以生成它但不是我想要的大小,即 200 像素宽。

这是下面的代码。

    <?php
    function createOnlineDocumentThumbnail2($index, $output, $path)
    {
        $pdf = new \Imagick($path);
        $pdf->setIteratorIndex($index);
        $pdf->setResolution(320, 320);
        //$pdf = $pdf->flattenImages();
        $pdf->setBackgroundColor('white');
        //$pdf->thumbnailImage(200, 0);
        $pdf->setImageColorspace(255);
        $pdf->setCompression(\Imagick::COMPRESSION_JPEG);
        $pdf->setCompressionQuality(100);
        $pdf->setImageFormat('jpeg');
        $pdf->writeImage($output);
        $pdf->clear();
        $pdf->destroy();
    }


    function createOnlineDocumentThumbnail($index, $output, $path)
    {
        $pdf = new \Imagick($path);
        $pdf->setIteratorIndex($index);
        $pdf->setResolution(320, 320);
        $pdf = $pdf->flattenImages();
        $pdf->setBackgroundColor('white');
        $pdf->thumbnailImage(200, 0);
        $pdf->setImageColorspace(255);
        $pdf->setCompression(\Imagick::COMPRESSION_JPEG);
        $pdf->setCompressionQuality(100);
        $pdf->setImageFormat('jpeg');
        $pdf->writeImage($output);
        $pdf->clear();
        $pdf->destroy();
    }


    $link1 = "http://www.flar.net/uploads/default/calendar/99f3a2304c1754aecffab145a5c80b98.pdf";
    $link2 = "http://www.pdf995.com/samples/pdf.pdf";

    createOnlineDocumentThumbnail2(0, 'output/link1.jpg', $link1);
    createOnlineDocumentThumbnail2(0, 'output/link2.jpg', $link2);
    createOnlineDocumentThumbnail(0, 'output/link1_small.jpg', $link1);
    createOnlineDocumentThumbnail(0, 'output/link2_small.jpg', $link2);

【问题讨论】:

    标签: php imagemagick image-manipulation imagick


    【解决方案1】:

    尝试在链接中添加 [0];这适用于 Imagemagick 本地,但我不确定 Imagick 和在线。

    $link1 = "http://www.flar.net/uploads/default/calendar/99f3a2304c1754aecffab145a5c80b98.pdf";
    $link1 .= '[0]';
    

    【讨论】:

    • 我已经试过了。并且已经使用 $index 变量将页面设置为 0
    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多