联合JPG&x27;使用PHP将s转换为一个PDF

联合JPG&x27;使用PHP将s转换为一个PDF,php,pdf,imagemagick,jpeg,centos7,Php,Pdf,Imagemagick,Jpeg,Centos7,我正在尝试将一系列JPG合并成一个PDF文件,每个JPG都是它自己的页面。我猜ImageMagick是最好的方法,但是我似乎不知道如何组合文件。我在这里看到了combineImages方法: 但找不到任何例子。我是imagemagick的新手,所以我仍在尝试找出语法 ImageMagick能照我说的做吗?如果是这样的话,有人能写一个简单的例子吗 谢谢 在PHP中,您可以使用: $images = array("file1.jpg", "file2.jpg"); $pdf = new Imag

我正在尝试将一系列JPG合并成一个PDF文件,每个JPG都是它自己的页面。我猜ImageMagick是最好的方法,但是我似乎不知道如何组合文件。我在这里看到了combineImages方法:

但找不到任何例子。我是imagemagick的新手,所以我仍在尝试找出语法

ImageMagick能照我说的做吗?如果是这样的话,有人能写一个简单的例子吗


谢谢

PHP
中,您可以使用:

$images = array("file1.jpg", "file2.jpg");

$pdf = new Imagick($images);
$pdf->setImageFormat('pdf');
$pdf->writeImages('combined.pdf', true); 
writeImages
上的
true
参数很重要,因为它将使方法写入一系列图像,而不仅仅是一个图像。
也可以从命令行执行此操作:

convert file1.jpg file2.jpg output.pdf

您好,我已经使用了上述代码。Pdf转换工作正常。但图像颜色格式发生了变化(CMYK变为RGB)。我需要使用与源文件(CMYK)相同的pdf颜色格式。要设置输出文件的颜色空间,请使用
$pdf->setImageColorspace(imagick::colorspace_CMYK)。如果您想要与输入完全相同的空间,可以尝试这样的方法$pdf->setImageColorspace($page->getImageColorspace())
这对我来说很好,但值得指出的是,出于安全原因,默认情况下禁用pdf编写。我发现这很有用:什么?致命错误:未捕获异常“ImagickException”,消息“not authorized`combined.pdf”@error/composure.c/WriteImage/1这似乎是权限问题。