簡體   English   中英

僅使用Imagick為首頁創建ONLINE PDF的縮略圖

[英]Create Thumbnail of ONLINE PDF for first page only using Imagick

我試圖制作托管在另一台服務器上的pdf文件的縮略圖。 我當前的代碼是:

<?php
$im = new imagick("http://www.d3publisher.us/Walkthroughs/Naruto_NC_3_DS.pdf");
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
?>

問題在於代碼僅為pdf文件的“最后一頁”生成縮略圖。 如何只為首頁制作縮略圖? 我試圖在imagick行添加[0]。

$im = new imagick("http://www.d3publisher.us/Walkthroughs/Naruto_NC_3_DS.pdf[0]");

但這沒用。 它僅適用於本地pdf文件,即:

$im = new imagick("my-pdf-file.pdf[0]");

請幫我解決這個問題..謝謝..

您需要將活動圖像重置為第一頁。 這可以通過Imagick :: setIteratorIndex完成

<?php
$im = new imagick("http://www.d3publisher.us/Walkthroughs/Naruto_NC_3_DS.pdf");
$im->setIteratorIndex(0);
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
?>

“這可以通過Imagick :: setIteratorIndex來完成。”

..或不。 根本沒有效果。 將其設置為一個會崩潰,將其設置為0會導致最后一頁。

function make_thumbnail($filename)
    {

    try
        {
        $imagick= new Imagick($filename);
        }
    catch(ImagickException $e)
        {
        // failed to make a thimbynail. what now?
        // load up our trusty truetype font png instead?
        $imagick->destroy();
        return "0"; // shove any rubbish in the db - it will just say no image available when asked.
        }
    $imagick->setIteratorIndex(0);// rewind to first page or image of a multi series
    $imagick->setImageFormat("png"); // turn it into a png
    $imagick = $imagick->flattenImages(); // remove any transparency

    $imagick->scaleImage(300,0);  //resize...to less than 300px wide
    $d = $imagick->getImageGeometry();
        $h = $d['height'];
        if($h > 300) 
        $imagick->scaleImage(0,300); 
    $imagick->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);
    $imagick->setImageCompressionQuality(0);
    $imagick->setIteratorIndex(0);
    $a = $imagick->getImageBlob(); // output as bytestream
    $imagick->destroy();
    return $a;
    }

嘗試...

$im->setImageIndex(0); //this will return 1th page of the pdf file
$im->setImageFormat('jpg');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM