Portál AbcLinuxu, 17. prosince 2025 11:54
if test $# != 2; then
echo "Usage: $0 FILE.pdf PAGENO"
exit 0
fi
# Try to find fixbb which can be in some obscure place, like this script.
FIXBB=$(which fixbb 2>/dev/null)
if test -z "$FIXBB"; then
FIXBB=$(dirname $0)/fixbb
fi
if test ! -x "$FIXBB"; then
echo "Cannot find fixbb!" 1>&2
exit 1
fi
# Check number of pages (and thus sanity of $pageno)
inputfile="$1"
pageno="$2"
npages=$(pdfinfo "$inputfile" | sed -n '/^Pages:/{s/[^0-9]//g;p;Q}')
if test "$pageno" -gt $npages -o "$pageno" -lt 1; then
echo "Invalid page number $pageno, file $inputfile has pages 1-$npages!" 1>&2
exit 1
fi
# Process
basename="${inputfile%.pdf}"
outname="$basename-page_$pageno"
tmpfile="$outname.tmp.pdf"
function cleanup() { rm -f "$tmpfile"; }
trap cleanup EXIT
pdftops -eps -f $pageno -l $pageno "$inputfile" - \
| grep -v "Produced by xpdf/pdftops" >"$outname.eps"
$FIXBB "$outname.eps"
ps2pdf "$outname.eps" "$tmpfile"
pdfcrop "$tmpfile" "$outname.pdf"
Vložení jednotlivých extrahovaných stran přes celou stránku v je už pdfTeXu snadné -- a strany očísluje TeX.
jedine, co me napada, je preexportovani do rastrove grafiky a zpet.
tzn. vyexportovat stranky do jednotlivych obrazku a potom pomoci imagemagicku pridat cislovani + znovu exportovat do PDFka (to by skriptem taky nemel byt problem). mozna imagemagick umi nac
vyexportovani do rastru:
convert soubor.pdf vysledek.png
bude mit za nasledek soubory vysledek-0.png vysledek-1.png...
vyexportovani do PDF:
convert soubor*.png vysledek.pdf
udela soubor PDF, kde budou stranky razene tak, jak jsou sazene od bashe.
zbytek je uz jenom otazka jednoducheho shell skriptu...
nerikam, ze nejake zpracovani primo v PDF neni - jen jsem ho nikdy nehledal a tohle je prvni, co me napadlo.
Můžeš využít pdftk . Funkce burst a background, případně stamp. Rozlož dokument na jednotlivé stránky. Číslování si připrav v jiném programu, vytiskni si pdf s tím číslováním. Rozlož ho a pak to dej všechno dohromady.
Ted uz to nejak dam do hromady.Jestli to budete nakonec řešit nějakým skriptem, vložte ho pak sem, prosím. Díky
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.