page1.ps ... pageN.ps -> book.ps
Jan Stary
jsta6559 na artax.karlin.mff.cuni.cz
Středa Červenec 24 13:22:43 CEST 2002
Ivo Kocvara <xkocvara na fi.muni.cz> wrote:
> On Wed, 24 Jul 2002 11:12:45 +0200, Jan Stary wrote:
>> mam soubory page1.ps az pageN.ps, ktere tvori jednotlive stranky knihy (ve
>> skutecnosti mam naskenovane page1.jpg az pageN.jpg + convert).
>> Ted bych chtel tu knihu sestavit, ale nedokazu to pomoci psmerge. Vede
>> snad cesta pres combine/montage/... ? Nebo jinudy?
> Ty ps, ktere vzniknou z jpg, maji takovouto strukturu:
> %!PS-Adobe-3.0
> ...
> %%BeginProlog
> ...
> %%EndProlog
> %%Page: 1 1
> %%PageBoundingBox: 60 96 552 696
> ... (tady jsou data)
> %%PageTrailer
> %%Trailer
> %%EOF
> Ve vyslednem ps souboru vam staci mit na zacatku hlavicku po %%EndProlog,
> a z kazdeho souboru tam date ta data mezi %%Page a %%PageTrailer.
> Samozrejme na konci bude %%EOF a je potreba miot spravne ocislovane
> stranky (%%Page).
Vyborne, diky! Prikladam skript, kdyby se nekomu hodil.
Nijak zvlast obecne to neni, je to usite na
www.karlin.mff.cuni.cz/~jezek/uatm/
hans$ cat pages2book
#!/bin/bash
# Arguments are files with scaned pages of a book.
# Last argument is an output file (Postscript)
PREFIX="/tmp/$0-$$"
pages=`expr $# - 1`
while [ $# -gt 1 ]; do PAGES="$PAGES $1" && shift; done
OUTPUT=$1
for page in $PAGES; do
psFile=$PREFIX-`basename $page`.ps
convert -verbose "$page" "$psFile"
done
csplit -s $psFile "/^%%EndProlog$/"+1
mv xx00 $OUTPUT
pagenum=1
for psFile in $PREFIX*; do
echo merging $psFile into $OUTPUT
csplit -s $psFile "/^%%Page:/"+1 "/^%%PageTrailer/"+1
echo "%%Page: $pagenum" >> $OUTPUT
pagenum=`expr $pagenum + 1`
cat xx01 >> $OUTPUT
done
echo -e "%%Trailer\n%%EOF" >> $OUTPUT
# Jeste prepsat ^%%Pages: $pages$ v $OUTPUT, ale nezda se, ze by mu to vadilo
# Obejdeme se bez toho
echo "Result is in $OUTPUT ($pages pages)"
rm -f "$PREFIX"* xx0*
>> Jeste jedna vec: pri convert page.jpg page.ps bych chtel zadat nejaky
>> treshold na oddeleni bila/cerna (stranky jsou cernobile, ale scan je
>> grayscale). Hral jsem si s ruznymi optiony convertu, ale vysledek je bud
>> skoro zadny, nebo je to sice monochrome, ale skoro necitelne. Mate s tim
>> nekdo zkusenosti?
> Jo. Nechte to v grayscale.
Nezblazni se z toho pak tiskarna, az bude tisknout ten grayscale?
Hans
Další informace o konferenci Linux