我正在尝试实现将 PDF 上传添加到我继承的现有图像上传功能的能力。我注意到我无法在 PDF 上使用 getimagesize。有没有办法使用 PHP 确定 PDF 的尺寸?- 或者 - 在上传 PDF 时对尺寸进行硬编码会更好吗?
问问题
3370 次
1 回答
2
选项1
pdfinfo.exe(XPDF 工具的一部分)具有指定要获取尺寸的页面或所有页面的参数。
<?php
$output = shell_exec("pdfinfo ".$your_pdf_file_or_url);
// find page count
preg_match('/Pages:\s+([0-9]+)/', $output, $pagecountmatches);
$pagecount = $pagecountmatches[1];
// find page sizes
preg_match('/Page size:\s+([0-9]{0,5}\.?[0-9]{0,3}) x ([0-9]{0,5}\.?[0-9]{0,3})/',
$output, $pagesizematches);
$width = round($pagesizematches[1]/2.83);
$height = round($pagesizematches[2]/2.83);
echo "pagecount = $pagecount <br>width = $width<br>height = $height";
?>
http://www.foolabs.com/xpdf/download.html
从 php/linux 获取 pdf 的布局模式(横向或纵向)
选项 2
如果您在安装了 Image Magick 的 linux 服务器上:
$command = escapeshellcmd('identify -format "%wx%h" ' . $path_to_pdf) . '[0]';
$geometry = `$command`;
list($width, $height) = split("x", $geometry);
然后您可以通过 $width 和 $height 访问尺寸。
http://forums.phpfreaks.com/topic/134081-find-out-width-and-height-of-a-given-pdf-file/
于 2012-10-05T15:04:57.033 回答