Как обновить метаданные PDF с помощью CAM :: PDF - PullRequest
4 голосов
/ 03 октября 2011

Как добавить / перезаписать метаданные заголовка и автора PDF-файла, используя CAM::PDF?

1 Ответ

4 голосов
/ 07 мая 2012

Я автор CAM :: PDF. Библиотека не поддерживает такого рода редактирование, но вы можете сделать это, копаясь во внутренних органах следующим образом:

#!perl -w
use strict;
use CAM::PDF;
my $infile = shift || die 'syntax...';
my $outfile = shift || die 'syntax...';
my $pdf = CAM::PDF->new($infile) || die;
my $info = $pdf->getValue($pdf->{trailer}->{Info});
if ($info) {
    #use Data::Dumper; print Dumper($info);                                                                                          
    my $title = $info->{Title};
    if ($title) {
        $title->{value} = 'Foo';
        # for a proper implementation, we should mark the holder of $info as dirty...                                                
        # But cleanoutput ignores dirty flags anyway and writes the whole doc                                                        
        $pdf->cleanoutput($outfile);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...