2016-06-20 10 views
3

perlプログラムを使用してJPEG画像をPDFファイルに挿入しようとしています。 私はPDF :: Createモジュールを使用しています。perlでJPEG画像を挿入するPDF :: Create

私は

は誰が支援してもらえ/アドバイス「./PDF_IMG.plで未定義の値に 『画像』メソッドを呼び出すことはできません」 を結果PDF ::画像:: JPEGモジュール、と試してみましたPDF :: CreateまたはPDF :: Image :: JPEGを使用してPDFで画像を追加する。

以下は、私が使用しているコードスニペットです。

use strict; 
use Data::Dumper; 
use PDF::Create; 
use PDF::Image::JPEG; 

print "PDF with Image\n"; 

#Create 
my $pdf = new PDF::Create('filename' => "./image_embed_test.pdf", 
          'Version' => 1.2, 
          'PageMode' => 'UseNone', 
          'Author' => 'Madhan', 
          'Title' => 'My PDF', 
         ); 

    # Prepare 2 fonts 
    my $f1 = $pdf->font('Subtype' => 'Type1', 
         'Encoding' => 'WinAnsiEncoding', 
         'BaseFont' => 'Helvetica'); 
    my $f2 = $pdf->font('Subtype' => 'Type1', 
         'Encoding' => 'WinAnsiEncoding', 
         'BaseFont' => 'Helvetica-Bold'); 



my $root = $pdf->new_page('MediaBox' => [ 0, 0, 612, 792 ]); 

my @page; 
$page[1]=$root->new_page; 

$page[1]->stringc($f2, 8, 306, 738, "My First Page"); 

my $image1 = new PDF::Image::JPEG('./logo1.jpg'); 
$page[2]->image($image1, 100, 100, 1, 2, 1.0, 1.0 ,0, 0, 0); 

$pdf->close; 

答えて

3

あなたのコードと2つの問題があります。

  1. $page[2]が定義されていない、あなたは再び$root->new_page()を実行する必要があります。
  2. imageメソッドは、順序付けられた引数ではなく、キー値のペアを取ります。ここで

動作するはず更新されたバージョンです:

use warnings; 
use strict; 

use PDF::Create; 
use PDF::Image::JPEG; 

print "PDF with Image\n"; 

#Create 
my $pdf = new PDF::Create(
    'filename' => "./image_embed_test.pdf", 
    'Version' => 1.2, 
    'PageMode' => 'UseNone', 
    'Author' => 'Madhan', 
    'Title' => 'My PDF', 
); 

# Prepare 2 fonts 
my $f1 = $pdf->font('Subtype' => 'Type1', 
        'Encoding' => 'WinAnsiEncoding', 
        'BaseFont' => 'Helvetica'); 

my $f2 = $pdf->font('Subtype' => 'Type1', 
        'Encoding' => 'WinAnsiEncoding', 
        'BaseFont' => 'Helvetica-Bold'); 

my $root = $pdf->new_page('MediaBox' => [ 0, 0, 612, 792 ]); 

my @page; 
$page[1]=$root->new_page; 
$page[1]->stringc($f2, 8, 306, 738, "My First Page"); 

$page[2]=$root->new_page; 
my $jpg1 = $pdf->image('./logo1.jpg'); 
$page[2]->image('image' => $jpg1, 
       'xscale' => 0.2, 
       'yscale' => 0.2, 
       'xpos' => 350, 
       'ypos' => 400); 

$pdf->close; 

perldoc PDF::Create::Page image()