PdfTk nie ma w zasobach fc8. W nowszych dystrybucjach też nie ma
z uwagi na restrykcyjną licencję (znalazłem
-- podobno działajacy -- rpm dla fc9
na stronie
Gregory R. Kriehna, ale ja używam ciągle fc8).
Nie idzie też tego skompilować: błąd zgłaszany
przez gcj
.
Z opisu
wynika, że sprawa jest trudna, bo pdftk jest źle zakodowany (I think
all of us were amazed that it ever worked. That it did
was by accident.:-)
Głupia sprawa... bo to przydatna aplikacja. Potrzebowałem akurat narzędzia
do zmiany wpisów w słowniku Info
plików PDF (pola
Title
, Author
itp.). Znalazłem inne
rozwiązanie wykorzystujące perlowy pakiet PDF::API2
.
Najpierw instalacja (był dostępny w repozytoriach yuma):
yum install yum install perl-PDF-API2
Skrypt jest banalny:
#!/usr/bin/perl use PDF::API2; use Getopt::Long; my $USAGE = "*** pdf_set_info -t title -k keywords -a author -f file ***\n"; GetOptions( 't=s' => \$title, 'a=s' => \$author, 'k=s' => \$keywords, 'f=s' => \$file, ); unless ($file) { print STDERR $USAGE; exit } $pdf = PDF::API2->new; $pdf = PDF::API2->open($file) || die "*** Problems opening $file ****"; %H = $pdf->info; if ( $H{'Title'} ) { print STDERR "**** Original title: $H{'Title'} ****\n"; if ($title) { $title .= " ($H{'Title'})" ; } } ## Modyfikacja: if ($title) { $H{'Title'} = $title } if ($author) { $H{'Author'} = $author } if ($keywords) { $H{'Keywords'} = $keywords } unless ($title || $author || $keywords) { print STDERR $USAGE; exit } %H = $pdf->info( %H ); $pdf->update;
Uruchomienie:
./pdf_set_info.pl -t tytuł -a autor -f słowa-kluczowe -f plik.pdf
Tytuł jest dodawany do tego co już jest w pliku PDF. Nie jest
nadpisywany. Autor/Słowa kluczowe są nadpisywane.
Uwaga: pakiet PDF::API2
nie jest mi bliżej znany,
zatem trzeba
uważać czy po zmianie Info plik PDF dalej da się oglądać.