Paginierung um je 1 hochsetzen

rernanded

Erfahrenes Mitglied
Hallo

brauche Tipp wie ich die Paginierung in meinem Code um je 1 hochsetze.
Bisher werden aus einem mehrseitigen .pdf so viele Bilder konvertiert wie das .pdf Seiten hat.
Die Dateinamen der Bilder beginnen bei 0 in dem Fall bei 123-0.jpg.
Ich möchte aber, dass sie bei 123-1.jpg beginnen.
MONI
PHP:
$image = new imagick();
$image->setResolution(300,300);
$first_page = 0;
$last_page = 10;

try {
    for ($i = $first_page; $i < $last_page; $i ++) {
    $image->readImage('123.pdf' . '[' . $i . ']');
        $image->setImageCompressionQuality(300);
        $image->setBackgroundColor(new ImagickPixel('white'));
        $image->writeImage('123-'.$i.'.jpg');
 
Guten Morgen Moni, auch eine Nachteule?;)
Die Lösung ist so einfach, dass es mich wundert, dass Du sie nicht selbst findest:
$first_page auf 1 setzen und das Endekriterium auf <= ändern:
Code:
$first_page = 1;
$last_page = 10;

try {
    for ($i = $first_page; $i <= $last_page; $i++) {
 
PS: Möglicher Weise habe ich das falsch verstanden und beim Lesen soll der Index wie bisher von 0 bis 9 laufen und nur beim Speichern von 1 bis 10?
Auch in diesem Fall wäre die Lösung einfach: Die Schleife so lassen und beim Speichern 1 auf den Index addieren:
Code:
$image = new imagick();
$image->setResolution(300,300);
$first_page = 0;
$last_page = 10;

try {
    for ($i = $first_page; $i < $last_page; $i ++) {
    $image->readImage('123.pdf' . '[' . $i . ']');
        $image->setImageCompressionQuality(300);
        $image->setBackgroundColor(new ImagickPixel('white'));
        $image->writeImage('123-' . ($i + 1) . '.jpg');
 
Tja, Nachteule, da hat man selbst mit simplen Sachen so seine Probleme. In meiner Verzweilung ;-) dann der Post, da ich noch anderes zu erledigen hatte, was z.B. mit setImageCompressionQuality ODER setCompressionQuality zu tun hatte. Und dann hatte ich versucht alle Einzelbilder in einem zusammenzufassen und scheiterte an Resolution und eben Compression die ich nicht über 100 setzen kann.
Egal.
Deine erste Lösung hatte ich selbst ausprobiert.

Und bei der zweiten war ich nah dran. Ich hatte vor dem try
$i = $i +1;
probiert.

MONI
 
Gemach Gemach
Lösung 2 ist suppi, danke Dir.
Ich hatte nochmals in all meine Versuche geguckt, ich hatte die Klammern ($i + 1) vergessen.
MONI
 

Neue Beiträge

Zurück