Frage

Zur Zeit kann ich PDF-Dateien von Bildern in Imagick mit dieser Funktion erstellen

$im->setImageFormat("pdf");
$im->writeImage("file.pdf");

Und es ist möglich, mehrere Seiten mit imagick wie diese

holen
$im = new imagick("file.pdf[0]");
$im2 = new imagick("file.pdf[1]");

Aber ist es möglich, zwei Seiten zwei Bildobjekte zu speichern? (Beispiel dafür, was ich denke, es ist nicht möglich, wie diese)

$im->setImageFormat("pdf");
$im->writeImage("file.pdf[0]");

$im2->setImageFormat("pdf");
$im2->writeImage("file.pdf[1]");
War es hilfreich?

Lösung

Ich weiß, das lange überfällig ist, aber dieses Ergebnis kam, als ich das Gleiche zu tun versuche. Hier ist, wie Sie eine mehrseitige PDF-Datei in PHP und Imagick erstellen.

    $images = array(
    'page_1.png',
    'page_2.png'
);
$pdf = new Imagick($images);
$pdf->setImageFormat('pdf');
if (!$pdf->writeImages('combined.pdf', true)) {
    die('Could not write!');
}

Andere Tipps

akzeptierte Antwort war für mich nicht funktioniert, als Folge, ist es immer eine Seite pdf erzeugt (letztes Bild von Konstruktor), um diese Arbeit zu machen, ich zuerst Dateideskriptors zu erhalten hatte, wie folgt aus:

$images = array(
  'img1.png', 'img2.png'
); 
$fp = fopen('combined.pdf', 'w');
$pdf = new Imagick($images);
$pdf->resetiterator();
$pdf->setimageformat('pdf');
$pdf->writeimagesfile($fp);
fclose($fp);

Ist das Arbeits?

$im->setImageFormat("pdf");
$im->writeImage("file1.pdf");

$im2->setImageFormat("pdf");
$im2->writeImage("file2.pdf");

exec("convert file*.pdf all.pdf");

CAM :: PDF ist eine reine Perl-Lösung für Low-Level PDF Manipulation wie diese. Sie können entweder die appendpdf.pl Befehl -Linie Tool oder es tun programmatisch wie folgt aus:

Verwendung CAM :: PDF;    my $ doc1 = CAM :: PDF> new ( 'file1.pdf');    my $ doc2 = CAM :: PDF> new ( 'file2.pdf');    $ Doc1-> AppendPDF ($ doc2);    $ Doc1-> cleanoutput ( 'out.pdf');

Wenn Sie herausfinden, wie ImageMagick in einen String schreiben zu machen, anstatt in eine Datei (Ich bin kein Experte ImageMagick ...), dann Sie einige Performance-Overhead sparen, indem sie alle in Perl zu halten.

(. Ich bin der Autor von CAM :: PDF Es ist freie Software: GPL + Künstlerische Dual-Lizenz).

Ich weiß nicht, php oder diese Imagick Bibliothek, aber wenn ein externes Programm aufrufen akzeptabel ich das Programm empfehlen

scroll top