ImageMagick:来自PHP的Tiff到PDF

时间:2010-01-15 20:19:16

标签: php pdf imagemagick tiff

如何将2个tiff图像转换为PDF,我已经知道如何从数据库中取出图像,然后使用echo打印它并设置MIME类型。

但是,我知道我需要使用双面打印机选项,所以我需要一种从PHP页面内部生成PDF的方法,PDF必须包含两个TIFF图像(每页一个)我该怎么做? php需要什么才能使用该库。

非常感谢。

编辑:

是一个自托管应用,我拥有服务器(实际上我正在使用WAMP 2)。

我从MySQL DB中提取图像(使用LONGBLOBS存储)。

3 个答案:

答案 0 :(得分:2)

有一个非常简单的PHP脚本与ImageMagick接口:

How to convert multipage TIFF to PDF in PHP

我自己没有用过,但看起来还不错。 为此你需要

  • 已安装ImageMagick
  • 安装了Ghostscript

链接文章介绍了如何在Ubuntu Linux环境中安装它们。

另一条路可以将图像直接插入到自动生成的PDF文件中,而无需ImageMagick。最着名的PDF生成库FPDF可以执行此操作,but for JPEG, PNG and GIF only

也许其中一个适合你。

答案 1 :(得分:1)

您真正需要的是一个为您带来PDF合成引擎的库。当然,您需要该引擎来支持图像插入(特别是TIFF)。

最好的选择是iText。

public void createPdf(String filename) throws DocumentException, IOException 
{
   // step 1
    Document document = new Document();
    // step 2
    PdfWriter.getInstance(document, new FileOutputStream(filename));
    // step 3
    document.open();
    // step 4
    document.add(new Paragraph("PDF Title"));
    // step 5
    document.add(new Image("Tiff image path..."));
    // step 6
    document.close();
}

希望它有所帮助!

答案 2 :(得分:0)

使用imagick库,以下解决方案对我有用-

$document = new Imagick($path."/".$fileName.tiff);
$data = $document->getImageBlob();
$document->setImageFormat("pdf");
$document->writeImages($path."/".$fileName.pdf, true);