Problem: Scanning a bi-fold pamphlet produced a PDF with two non-contiguous pages per scanned image. After converting each page of the PDF into a png, compare the following approaches to split them in half:
Assembler... I mean Write-Only... I mean Shell Solution [1]: #!/bin/sh if [ ! -e even-odd ]; then mkdir even-odd; fi first="`ls -1 *.jpg | head -n1`" let "halfwidth=`gm identify -format '%w \n' $first`/2" width="`gm identify -format '%w \n' $first`" height="`gm identify -format '%h \n' $first`" for FILE in *.jpg ; do convert -crop "$halfwidth"x"$height"+0+0 "$FILE" "$FILE-A.jpg" ; mv `ls *.jpg | grep A` even-odd ; convert -crop "$width"x"$height"+"$halfwidth"+0 "$FILE" "$FILE-B.jpg" && mv `ls *.jpg | grep B` even-odd done ; Smalltalk solution: PsProcessPageImages>>#splitPages imageFiles do: [ :file | self currentFile: file. self splitCurrentImage. index := self index + 1 ]. PsProcessPageImages>>#splitCurrentImage self index odd ifTrue: [ self rightFirstSplitCurrentImage ] ifFalse: [ self leftFirstSplitCurrentImage ] etc... One fun change was: width="`gm identify -format '%w \n' $first`" which became: imageForm width "oh yeah, we can treat the image as a real object and just ask it what its width is!" [1] http://ubuntuforums.org/showthread.php?t=1665621 ----- Cheers, Sean -- View this message in context: http://forum.world.st/We-are-so-lucky-tp4811504.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.