vasanthgk91 has asked for the wisdom of the Perl Monks concerning the following question:

#!/usr/bin/perl use PDF::API2; my $img1="../first.gif"; my $pdffile="../sample.pdf"; my $pdf = PDF::API2->new( -file => "$pdffile" ); my $page1 = $pdf->page; $page1->mediabox('A4'); my $photo1 = $page1->gfx; my $photo_file1 = $pdf->image_gif($img1); $photo1->image( $photo_file1,50,360,510,250); $photo1 ->rotate(90) $pdf->saveas($pdffile); $pdf->end();

This code generate normal pdf image. I need Vertical position image...I need to rotate this image...like 45,90 degree... $photo1->image( $photo_file1,50,360,510,250);...That rotate attributes where i need to give

There is no rotation happen for me...Same page downloaded for me

Replies are listed 'Best First'.
Re: How to rotate images in PDF:API2 module?
by tobyink (Canon) on Nov 29, 2012 at 14:02 UTC

    Also, according to PDF::API2::Content it looks like $photo1->rotate(90) should work.

    (I've not really used PDF::API2 much, and when I have it's mostly been via PDF::API2::Simple, so I can't vouch for the reliability of its documentation. But usually when documentation says you can do something, you probably can.)

    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
Re: How to rotate images in PDF:API2 module?
by tobyink (Canon) on Nov 29, 2012 at 13:52 UTC

    Probably just create a rotated copy of the GIF file and insert that instead. Image::Magick should be able to rotate a GIF pretty easily.

    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
Re: How to rotate images in PDF:API2 module?
by snoopy (Curate) on Nov 30, 2012 at 08:09 UTC
    I'd rotate the graphics before-hand and restore afterwards:
    #!/usr/bin/perl use PDF::API2; my $img1="../first.gif"; my $pdffile="../sample.pdf"; my $pdf = PDF::API2->new( -file => "$pdffile" ); my $page1 = $pdf->page; $page1->mediabox('A4'); my $photo1 = $page1->gfx; my $photo_file1 = $pdf->image_gif($img1); $photo1->save; $photo1->transform( -rotate => 45, -translate => [my $_x = 100, my $_y = 50], ); $photo1->image( $photo_file1,50,360,510,250); $photo1->restore; $pdf->saveas($pdffile); $pdf->end();
    There's likely to also be some translation involved depending on what corner you want to pivot from.

      Thank u very much...It's works fine..