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