如何使用CAM :: PDF :: Annot(perl模块)而不会出错?

时间:2011-03-07 19:05:03

标签: perl pdf hash annotations

我一直在尝试使用CAM:PDF :: Annot,因为它是最基本的目的,汇总了两个pdf的注释,但没有取得任何成功。

我一直试图模仿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 个答案:

答案 0 :(得分:2)

好吧,getAnnotations()方法似乎返回数组引用,而appendAnnotation()方法则采用注释对象而不是数组引用。尝试做文章所说的内容:

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

你没有循环遍历从getAnnotations()返回的所有注释引用,你只是试图在那里粘贴完整的数组引用,而这不会起作用。