我有一个PHP脚本,可以使用PHP Imagick从PDF页面生成图像。我使用annotateImage函数在图像顶部写入一段数据并将其作为输出。最近在选择一些PDF图像时失败了。我的意思是当一个特定的PDF作为该程序的输入时,annotateImage函数无法写入数据,而其他许多PDF文件的表现都很好......
这是以下代码,它在循环上运行以生成此图像......
$imagick->setResolution(200,200);
$imagick->readImage('files/pdffile.pdf[1]');
$imagick->annotateImage($draw_small, 1250, 100, 10, 'Hello header');
$imagick = $imagick->flattenImages();
$file = fopen("/outputfile.jpg", 'w+');
chmod($folder_in_action."/outputfile.jpg", 0755);
fclose($file);
$imagick->writeImage('/outputfile.jpg');
$imagick->clear();
代码运行良好,并将精确的PDF页面作为文件夹中的图像,但annotateImage不适用于特定的PDF文件,因此输出没有“Hello header”消息。
相同的代码在大多数PDF上都是完美的,我得到了特定的PDF页面,其中“Hello header”消息写在图像顶部......
所以无法猜出可能是什么问题...
不允许annotateImage写文本的PDF文件在这里:
http://wikisend.com/download/143652/notworking.pdf
正在运行的PDF(通常大多数pdf文件都正常工作......)