我有一个使用 Imagick PHP 的 PDF 文件的缩略图创建脚本。
它将创建 PDF 文件第一页的缩略图。
我能够在固定高度和宽度的情况下生成缩略图而没有任何问题
我必须获取 PDF 文件第一页的高度和宽度,并且必须相应地计算缩略图的高度和宽度。
如果我必须从图像创建缩略图,我可以在 PHP 中使用 getimagesize 函数,但是有没有类似的函数来获取 PDF 文件第一页的高度和宽度?
我有一个使用 Imagick PHP 的 PDF 文件的缩略图创建脚本。
它将创建 PDF 文件第一页的缩略图。
我能够在固定高度和宽度的情况下生成缩略图而没有任何问题
我必须获取 PDF 文件第一页的高度和宽度,并且必须相应地计算缩略图的高度和宽度。
如果我必须从图像创建缩略图,我可以在 PHP 中使用 getimagesize 函数,但是有没有类似的函数来获取 PDF 文件第一页的高度和宽度?
[0]
您可以通过附加到文件名来访问 ImageMagick 可以读取的任何多页文件格式的第一页。
这意味着,您可以identify
使用此命令要求打印 PDF 第一页的宽度和高度,将其转换为 PHP 语法应该没有问题
identify -format "width: %W -- height: %H\n" some.pdf[0]
这将以以下格式打印MediaBox第一页的值:
width: 345 -- height: 777
这些值的单位是 PostScript 点(其中72 pt == 1 inch
)。当然,您可以自由修改命令以满足您的需要,例如仅给出 2 个数值,或使用以下WxH
格式:
identify -format "%W %H\n" some.pdf[0]
identify -format "%Wx%H\n" some.pdf[0]
但是,请注意以下事实:
identify
将仅返回 MediaBox 值,它不支持其他 Box。convert
将使用 PDF 页面的(可能更大的)MediaBox 大小来呈现图像(因此其结果看起来与您在 PDF 查看器中看到的不同)。pdfinfo -box -f 1 -l 1 some.pdf | grep -E '(Box:|rot:|size:)'
. (如果可能,请使用Poppler版本...)pdfinfo