我一直在尝试使用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;
答案 0 :(得分:2)
好吧,getAnnotations()
方法似乎返回数组引用,而appendAnnotation()
方法则采用注释对象而不是数组引用。尝试做文章所说的内容:
for my $annotRef ( @{$pdf->getAnnotations( $page )} ) {
$otherDoc->appendAnnotation( $page, $pdf, $annotRef, \%refs );
}
你没有循环遍历从getAnnotations()
返回的所有注释引用,你只是试图在那里粘贴完整的数组引用,而这不会起作用。