如何在php中将一系列图像转换为一个pdf文档

3

我搜索了一段时间,但找不到明确的答案。

我有一个包含图片的文件夹:

001.png、002.png等。

我尝试过以下方法:

$allImages = 'folder/001.png folder/002.png folder/003.png';
//and
$allImages = 'folder/001.png,folder/002.png,folder/003.png';
//and
$allImages = '-adjoin folder/001.png -adjoin folder/002.png -adjoin folder/003.png';

那么:

exec(convert $allImages folder/newdoc.pdf);
//and
exec(convert -density 150 -format pdf{} ".$all_images folder/newdoc.pdf);

这只将一个页面放入PDF中,而且PDF的页眉是PNG格式的,所以PDF阅读器无法读取。

我不想使用(convert *.png newdoc.pdf),因为我需要按特定顺序生成PDF。编辑:这种方法也不起作用。


尝试将它们设置为数组,例如 $allImages = array("folder/001.png", "folder/002.png", "folder/003.png"); ,而不知道您的整个代码或使用哪个PDF库,很难进一步阐述。 - Funk Forty Niner
1
将多个图像文件从JPEG格式转换为PDF格式 - Pekka
@pekka,几乎所有的解决方案都是使用通配符,而我不想要。 - Smith Smithy
@Fred和@Pekka,我觉得这是一个内存问题。似乎只有当合并图像的大小超过1.3兆字节时才会出现问题。你们有什么想法吗? - Smith Smithy
我会在这里使用TCPDF来完成这项工作:https://dev59.com/jWw15IYBdhLWcg3wCnUn - halfik
显示剩余6条评论
4个回答

3

1
我有一段时间没来这里了,所以我没有看到所有这些答案。结果证明,mPDF是解决方案。我尝试了所有的选择,mPDF无疑是最好的! - Smith Smithy
很棒,@SmithSmithy,我很高兴一切都顺利。 - John Alexander Betts
每个链接都已失效。 - Antu
@Antu 我刚刚更新了信息。希望能对你有所帮助。 - John Alexander Betts

1

从imagemagick.org网站上看,我得出的结论是它的工作方式如下:

$allImages = '-adjoin folder/001.png -adjoin folder/002.png -adjoin folder/003.png';
exec("convert $allImages folder/newdoc.pdf");

谢谢您的帮助。这不会抛出任何错误,但我仍然得到一个文件头为PNG且只有一页的PDF文件。 - Smith Smithy
将 -adjoin folder/001.png -adjoin folder/002.png -adjoin folder/003.png 转换为 -format pdf folder/newdoc.pdf。 - Quicker

1

FPDF是您所需的一切,请参阅此教程页面:http://www.fpdf.org/en/tutorial/tuto2.htm。在这里,您可以找到手册:http://www.fpdf.org/en/doc/index.php

做类似于此示例的东西:

<?php
require_once('fpdf.php');
$pdf = new FPDF('P', 'mm', 'A4');
$pdf->AddPage();
foreach($pictures as $picture) {
    $pdf->Image($image,'0','0');
    $pdf->Ln();
}
$pdf->Output();
?>

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接