【发布时间】:2014-10-02 17:02:23
【问题描述】:
我创建了一个多页 PDF,我应该在其中将动态文本添加到其中一页(3 页中的第 2 页)。当我发现我的共享主机不支持 PDF 操作时,我不得不求助于 ImageMagick,将每个页面转换为自己的 PNG 文件。
使用 ImageMagick 添加文本是一个梦想,但我想添加首页和后页。我需要将page1.png、page2.png(添加文本)和page3.png 组合到output.pdf,但我找不到使用PHP Imagick() 类的正确代码。
当我使用addImage() 函数时,我认为我做对了,但事实并非如此。
我尝试了什么:
<?php
$combined = new Imagick();
$frontpage = new Imagick('png/frontpage.png');
$backpage = new Imagick('png/backpage.png');
$insidepage = new Imagick('png/inside.png');
$draw = new ImagickDraw();
$draw->setFillColor('black');
$draw->setFont('fonts/Georgia-Bold-Italic.ttf');
$draw->setFontSize(44);
$insidepage->annotateImage($draw, 2020, 268, 0, 'Text goes here');
$draw->setFont('fonts/Georgia-Italic.ttf');
$insidepage->annotateImage($draw, 2020, 987, 0, 'Text goes here');
header('Content-Type: application/pdf');
$combined->addImage( $frontpage );
$combined->addImage( $insidepage );
$combined->addImage( $backpage );
$combined->setImageFormat('pdf');
echo $combined;
【问题讨论】:
-
会发生什么而不是它的工作?
-
Chrome 中的 PDF 预览模式,没有内容。我发现我需要使用 imagemagick 保存为 pdf,然后在浏览器中读取该文件的内容。
标签: php pdf imagemagick png imagick