ImageMagick:从 PHP 将 Tiff 转换为 PDF

发布于 2024-08-18 13:04:36 字数 290 浏览 7 评论 0原文

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

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

非常感谢。

编辑:

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

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

How can I convert 2 tiff images to PDF, I already knows how to get the image out of the DB, and I print it using echo and setting up the MIME type.

But, right know I need to use a duplex printer option, so I need a way to generate a PDF from inside my PHP page, that PDF must containt both TIFF images (one per page) How can I do that? What do I need for php to work with that library.

Thank you very much.

EDIT:

Is a self hosted app, I own the server (actually I'm using WAMP 2).

I extract the images from the MySQL DB (stored using LONGBLOBS).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

薯片软お妹 2024-08-25 13:04:36

有一个非常简单的 PHP 脚本与 ImageMagick 交互:

如何将多页 TIFF 转换为PHP 中的 PDF

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

  • 安装 ImageMagick
  • Ghostscript 安装

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

另一种方法是将图像直接插入到自动生成的 PDF 文件中,而不使用 ImageMagick。最著名的 PDF 生成库 FPDF 可以做到这一点,但仅适用于 JPEG、PNG 和 GIF

也许其中之一适合您。

There is a very simple PHP script that interfaces with ImageMagick:

How to convert multipage TIFF to PDF in PHP

I haven't used it myself but it looks all right.
For this you will need

  • ImageMagick installed
  • Ghostscript installed

the linked article describes how to install those in a Ubuntu Linux environment.

Another road to take would be inserting the images directly into a auto-generated PDF file without ImageMagick. The best-known PDF generation library, FPDF, can do this, but for JPEG, PNG and GIF only.

Maybe one of these works for you.

聆听风音 2024-08-25 13:04:36

您真正需要的是一个为您带来 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();
}

希望有帮助!

What you really need is a library that brings you a PDF composition engine. And of course you need that engine to support image insertions (specifically TIFF).

The best option is 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();
}

Hope it helps!

潜移默化 2024-08-25 13:04:36

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

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

Using imagick library, below solution worked for me -

$document = new Imagick($path."/".$fileName.tiff);
$data = $document->getImageBlob();
$document->setImageFormat("pdf");
$document->writeImages($path."/".$fileName.pdf, true);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文