GoogleとSOを検索した後、ImageMagickを使用してPDF文書のサムネイルを作成するためのコードを見つけました。ImageMagickとPHPを使用したPDFのサムネイル画像
私の問題は、WordPressのテーマに実装することです。私は、スクリプトが一時ファイルのために必要とするキャッシュ・パスに詰まらなくなっていると思います。
記事で説明したように、私はそれを使用してい:
<img src="http://localhost/multi/wp-content/themes/WPalchemy-theme/thumbPdf.php?pdf=http://localhost/multi/wp-content/uploads/2012/03/sample.pdf&size=200 />
は右でなければならない(多分...しかし、私は実際のファイルへの完全なURLを使用するのが正しいだと仮定)、なぜなら
Unable to read the file: tmp/http://localhost/multi/wp-content/uploads/2012/03/sample.pdf.png
今すぐtmpはthumbPdf.phpスクリプトで定義されていますが、私はそれは価値があるべきだものにのように混乱しています:私はそのURLをクリックしたとき、私は次のエラーを読み込むページに取られています。それはURLかパスか? timthumb.phpと同様に、thumbPdf.phpスクリプトに相対的にすることはできますか? (私は./cacheを試してみましたが、これはタイムスタンプの設定であり、私のテーマルートには/ cacheフォルダがあり、無駄です)。また、fyi私のルートに/ tmpフォルダを入れても、同じエラーが表示されます。
このようにするにはどうすればtmpを設定すればよいですか?
私はこの答え見ているfunction thumbPdf($pdf, $width)
{
try
{
$tmp = 'tmp';
$format = "png";
$source = $pdf.'[0]';
$dest = "$tmp/$pdf.$format";
if (!file_exists($dest))
{
$exec = "convert -scale $width $source $dest";
exec($exec);
}
$im = new Imagick($dest);
header("Content-Type:".$im->getFormat());
echo $im;
}
catch(Exception $e)
{
echo $e->getMessage();
}
}
$file = $_GET['pdf'];
$size = $_GET['size'];
if ($file && $size)
{
thumbPdf($file, $size);
}
http://stormwarestudios.com/articles/leverage-php-imagemagick-create-pdf-thumbnails/
: How do I convert a PDF document to a preview image in PHP? をし、それが次の
ありがとうございます!素晴らしい答えと大きなヒント。残念ながら、私はもうこのプロジェクトに取り組んでいないので、実際にこれをテストする方法はありません。 – helgatheviking