2011-03-07 43 views
0

我一直在嘗試使用CAM:PDF :: Annot,因爲它是最基本的用途,聚合了兩個pdf的註釋,但沒有取得任何成功。如何在不出錯的情況下使用CAM :: PDF :: Annot(perl模塊)?

我一直在嘗試模擬CPAN中包的大綱中的內容,但不斷出現錯誤。

CPAN簡介中的代碼(作爲完整的腳本)或任何建議都會有幫助。

CPAN頁:http://metacpan.org/pod/CAM::PDF::Annot

到目前爲止,我有:

#!/usr/bin/perl 
use strict 
use CAM::PDF; 
use CAM::PDF::Annot; 

sub main() 
{ 
    my $pdf = CAM::PDF::Annot->new('testAnnotPDF.pdf'); 
    my $otherDoc = CAM::PDF::Annot->new('testAnnotPDF2.pdf'); 
    my $page = 1; 
    my %refs; 
    my $hrefs = \%refs; 
    for my $annotRef (@{$pdf->getAnnotations($page)}){ 
     $otherDoc->appendAnnotation($page, $pdf, $annotRef, $hrefs); 
    } 
    $otherDoc->output('pdf_merged.pdf'); 
} 
exit main; 
+1

你寫了哪些代碼會引發此錯誤? – CanSpice 2011-03-07 19:09:02

回答

2

好了,getAnnotations()方法自然會返回一個數組引用,而appendAnnotation()方法接受一個註釋對象,而不是一個數組引用。嘗試做documetation說什麼:

for my $annotRef (@{$pdf->getAnnotations($page)}) { 
    $otherDoc->appendAnnotation($page, $pdf, $annotRef, \%refs); 
} 

你不是遍歷所有的註釋引用,你得到getAnnotations()回來的,你只是想在那裏堅持全數組引用,而這不會上班。

相關問題