我有一张图片,我想编辑该图片(放置文本等)并将该图片转换为 PDF。有没有一种简单的方法来做到这一点PHP?

Posted

技术标签:

【中文标题】我有一张图片,我想编辑该图片(放置文本等)并将该图片转换为 PDF。有没有一种简单的方法来做到这一点PHP?【英文标题】:I have an image and I want to edit that image (place text etc) and convert that image to PDF. Is there an easy way to do it PHP? 【发布时间】:2016-08-21 05:45:19 【问题描述】:

图像是固定大小的,我想为每个用户更新该图像,例如更新用户名和日期等。然后我想将该图像转换为具有 A4 打印尺寸的 PDF。如何在 php/Laravel 中实现这一点。

【问题讨论】:

在下面查看我的答案。它将允许您在 html 中创建它并像您提到的那样转换为 PDF。 【参考方案1】:

我能够通过首先创建一个响应式 html 然后将该 html 转换为 PDF 来实现这一点。

【讨论】:

【参考方案2】:

有多种库可用于 PHP 的 pdf 生成。

例如有 MPDF 允许您创建一个 html 并将其传递给库并将其转换为 pdf。

https://github.com/mpdf/mpdf

您还可以在此处查看各种其他生成器的比较:Which one is the best PDF-API for PHP?

【讨论】:

谢谢 Nabeel,但我知道图书馆。这里的主要挑战是编辑图像,我认为也有可用的库。我正在考虑创建响应式 html 然后转换为 PDF 的另一件事。 要向图像添加文本(不删除任何内容),您可以将该图像用作背景并将文本添加为​​ html 如果这个答案有帮助,请投票并选择最佳:)【参考方案3】:

您可以查看php_GD 库,尤其是imagettftext。对于图像到 PDF 的转换,请尝试使用 ImageMagick

【讨论】:

【参考方案4】:

您可以使用text() 方法通过干预向图像添加文本:

$img = Image::make('public/foo.jpg');
$img->text('The quick brown fox jumps over the lazy dog.', 120, 100);

然后,您可以使用any appropriate tool 或package 为图像创建简单的 HTML 换行以将其转换为 PDF:

$pdf = PDF::loadView('view.with.image', $data);
return $pdf->download('image.pdf');

或者,您可以使用 ImageMagick(CLI 示例)将图像转换为 PDF:

convert image.jpg image.pdf

【讨论】:

【参考方案5】:

我一定会看看使用Snappy by barryvdh

你已经通过作曲家拉入了包。就像使用包提供的包装器一样简单。

    $snappy = \App::make('snappy.pdf');

     $snappy->generateFromHtml("Link to your image here", '/tmp/NameofYourPDF.pdf'); 

这里的示例然后将其保存到服务器上的/tmp 文件夹中。

过去曾使用过它,并且使用起来非常简单。

您需要安装 wkhtmltopdf/wkhtmltoimage。可以从http://wkhtmltopdf.org/downloads.html下载wkhtmltopdf

【讨论】:

以上是关于我有一张图片,我想编辑该图片(放置文本等)并将该图片转换为 PDF。有没有一种简单的方法来做到这一点PHP?的主要内容,如果未能解决你的问题,请参考以下文章

opencv c++ 以灰度图方式加载一张图片,并统计该图像素的最大值、最小值、均值以及方差,完整代码

将两张图片作为一张图片读取Python

如何在图片旁边放置文字? [关闭]

在 Jekyll 中,我如何获取帖子的第一张图片?

如何选择一张图片来设置头像

UITableView 不显示背景图片