Tallant i enganxant pdfs des de la línia de comandes
Accade a volte... que has d'agafar una pàgina o dues d'un pdf i fer-ne un de nou, o enganxar-les amb dues altres pàgines d'un pdf. La cosa es pot arribar a fer pesada, creieu-me, si tens uns quants arxius. Així que se t'acut: anem a fer un petit script per anar rapidets i acabar aviat la feina. Busques una mica i trobes que hi ha una PDF Concatenation and Extraction Tool escrita en perl molt útil. Llavors fas un petit script que la cridi i l'utilitzi per agafar la primera i l'última pàgina de tots els pdfs d'un directori i les enganxi una darrera l'altra, utilitzant el meravellós mòdul PDF::API2:
#! /usr/bin/perl
use PDF::API2;
$suf = "-firstlast";
@fs = `ls -1`;
$num = $#fs+1;
$i = 1;
$in = "";
print "Processing $num files:\n";
foreach $f (@fs) {
chop ($f);
print "[$i/$num] $f "; ++$i;
$pdf = PDF::API2->open($f);
$lastp = $pdf->pages;
$out = $f;
$out =~ s/\.pdf//;
$out .= $suf . ".pdf";
system ("pdfcat",
"--input", "$f",
"--pages", "1,$lastp",
"--output", "$out");
print "---> $out\n";
$in .= " --input " . $out;
}
print "Concatenating all to `all-firstlast.pdf'\n";
`pdfcat $in --output all-firstlast.pdf`;
print "Done\n";
En fi, és molt útil. Però al final no l'he pogut fer servir pel que necessitava, així que espero que almenys a algú li estalviï una mica més de temps que a mi.
