从PHP站点生成大量图像,然后合并为PDF(1,000到10,000页)


Generate a large amount of images then merge into a PDF (1,000 to 10,000 pages) from PHP site

我创建了一个基于OpenCart的自定义模块的网站。它允许您在线设计名片、宣传册或明信片(类似于vistaprint,但更简单),并生成准备打印的文件。

请求的功能之一是明信片的邮件合并类型功能。基本上,客户将创建他们的设计,然后上传一个csv文件,其中包含他们希望将文档发送到的姓名和地址。

我的想法是,在订单完成后,服务器上的脚本将遍历csv文件,并为每一行创建一个图像。基本上是将邮寄地址插入图形并将其保存为副本。一旦完成,它就会把它们捆绑成一个pdf文件,并给打印机发送一个下载文件的链接。

如果他们发送给100人或更少的人,这将工作得很好,但如果他们想要发送给10,000人,我不认为它工作。

有人有生成大量图形和巨大pdf文件的经验吗?如果是的话,我想听听他们关于如何实现它的建议。

我完全控制了服务器,可以在上面安装或修改任何软件。它是Cent操作系统,带有PHP, MySQL和作品。我没有安装任何额外的pdf扩展,因为我还不需要它们,但我可以添加它们。

其他笔记:

- The resolution will be at 300dpi. Meaning each page of the pdf will be as much as 2,550 x 3,300px
- The final product doesn't have to be a pdf, it just needs to be a single file and printable
- I am currently rendering the graphics as a jpg or png

我计划张贴模块在OpenCarts扩展目录后,我有它所有的工作,所以如果它适合任何人的需要,它将在那里一旦一切正常工作。

如果您有权限安装ImageMagick,然后使用"convert"应用程序

convert *.jpg pdf/export.pdf -density 960x570 -units PixelsPerInch
http://www.imagemagick.org/script/convert.php