使用Imagick将PDF转换为JPG时,如何正确设置setResolution

时间:2019-05-29 14:40:34

标签: php pdf jpeg imagick file-conversion

我有一个网站,用户可以在其中上传PDF文件,然后将其转换为JPG文件。 PDF文件可以具有文本,光栅图形或矢量图形。

有时用户会上载较大的矢量PDF,而Imagick readImage操作会花费过多时间,CPU能力和内存导致服务器崩溃。如何设置正确的密度(setResolution),以使最终结果在使用所有不同的PDF类型时最长的一侧例如接近4000像素?

当前,我将密度设置为300,带有Page size: 2381.1 x 1264.25 pts的PDF文件几乎将服务器清除了。带有光栅图像的PDF很好。

我应该尝试根据页面大小进行一些计算还是有另一种方法?

这是我的代码:

$img = new Imagick();
$img->setResolution(300,300);
$img->readImage($input); // Server hangs here
// I get a multi gigabyte temp file and use almost 10 GB of RAM

0 个答案:

没有答案