Thomas: PDF::Create - Grafiken einbinden?

Hallo,

vielleicht kann mir jemand Tipps zum Modul PDF::Create geben.

Heutzutage möchte man ja wohl nicht nur Texte in PDF wandeln, sondern komplette Layouts mit Grafiken. Das Modul PDF::Create bietet eine Methode "image", um ein "XObject" vorzubereiten. Im CPAN heißt es weiter, dass "This image will be added to the document only if it is used at least once before the close method is called." Mir ist nicht ganz klar, wie dieser Gebrauch vonstatten gehen kann.
Weiter unten wird eine weitere Methode "image" beschrieben, der "Image id returned by PDF::image (required)" zu übergeben ist. Besteht hier ein Zusammenhang zu der erstgenannten prepare-Methode oder gibt es da keinen Zusammenhang? Falls letzteres richtig ist, wozu dient dann die erstgenannte Methode? Diese gibt jedenfalls einen Hash, aber keine Image-ID zurück.
Ein Modul PDF::image kann ich im CPAN ferner nicht ausfindig machen.

Ich beziehe mich auf:
http://search.cpan.org/~srezic/perl-pdf-0.06.1b-SREZIC-3/lib/PDF/Create.pm

Für Hinweise und Lösungsvorschläge wäre ich dankbar.

  1. Ich beziehe mich auf:
    http://search.cpan.org/~srezic/perl-pdf-0.06.1b-SREZIC-3/lib/PDF/Create.pm

    Für Hinweise und Lösungsvorschläge wäre ich dankbar.

    Ich find die Beschreibung auch nicht hilfreich und hab mir das Modul mal installiert. Du findest im Verzeichnis site/lib/PDF eine sample.pl, dort wird gezeigt wie man ein Bild einbindet, hier der code daraus:

    # Add a gif image  
    $page2->string($f1, 20, 50, 600, 'GIF Image:');  
    my $img1 = $pdf->image('pdf-logo.gif');  
    $page2->image('image'=>$img1, 'xscale'=>0.2,'yscale'=>0.2,'xpos'=>200,'ypos'=>600);
    

    Struppi.

    1. Hallo Struppi,

      super, vielen Dank für den Beispielcode. Nicht zum ersten Mal hast Du mir erfolgreich weitergeholfen!

      Das Modul scheint noch nicht ganz "reif" zu sein, ist mir in der Zwischenzeit aufgefallen. So wollte ich mal die in der Doku erwähnte Methode "printnl" ausprobieren (Similar to string but parses the string for newline and prints each part on a separate line. -> hört sich erstmal sehr gut an), aber leider erhalte ich "Can't locate object method "printnl" via package "PDF::Create::Page"", offenbar ist das in der auf meinem Server installierten Version noch nicht drin (was ich nicht ändern kann).

      Werde also eine eigene Umbruchroutine "erfinden", da man mit diesem Modul ja leider jede Zeile einzeln positionieren muss.

      Thomas