Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
PhotoKB Home
Discussion Groups
Digital Photography
Digital PhotoDSLR CamerasZLR CamerasPoint & Shoot Cameras
Film Photography
35 mmLarge FormatMedium formatDarkroomFilm and LabsOther Equipment
Photo Technique
Nature PhotographyPeople PhotographyTechnique General
General Photo Topics
General TopicsAustralian PhotographyUK Photography
DirectoryPhoto Clubs

Photo Forum / Digital Photography / Digital Photo / September 2007

Tip: Looking for answers? Try searching our database.

Linux software for making collations?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Ignoramus18262 - 28 Sep 2007 15:02 GMT
I would like to print photos, four on each page. That is, each page
would have four photos that I could cut with scissors into four
individual photos. Is there some linux proggy or a script that could
do it. Thanks

i
ray - 28 Sep 2007 17:35 GMT
> I would like to print photos, four on each page. That is, each page
> would have four photos that I could cut with scissors into four
> individual photos. Is there some linux proggy or a script that could
> do it. Thanks
>
> i

photoprint: www.blackfiveservices.co.uk/photoprint.shtml
Ignoramus18262 - 28 Sep 2007 19:16 GMT
>> I would like to print photos, four on each page. That is, each page
>> would have four photos that I could cut with scissors into four
[quoted text clipped - 4 lines]
>
> photoprint: www.blackfiveservices.co.uk/photoprint.shtml

Thanks. Looks nice. I also found gnome-photo-printer, which works
well, based on my very limited testing.

i
Tzortzakakis Dimitrios - 28 Sep 2007 21:33 GMT
> I would like to print photos, four on each page. That is, each page
> would have four photos that I could cut with scissors into four
> individual photos. Is there some linux proggy or a script that could
> do it. Thanks
>
> i
Canon photo printing software, that comes with any Canon photo printer.You
can print either 4 10X15 photos on an A4 (4X5" on a letter-size)or 2 13 X 18
(5 X 7")on an A4.

--
Tzortzakakis Dimitrios
major in electrical engineering
mechanized infantry reservist
dimtzort AT otenet DOT gr
Ignoramus18262 - 28 Sep 2007 21:44 GMT
>> I would like to print photos, four on each page. That is, each page
>> would have four photos that I could cut with scissors into four
[quoted text clipped - 5 lines]
> can print either 4 10X15 photos on an A4 (4X5" on a letter-size)or 2 13 X 18
> (5 X 7")on an A4.

Is that software available under Linux, though?

i
Tzortzakakis Dimitrios - 29 Sep 2007 13:57 GMT
> >> I would like to print photos, four on each page. That is, each page
> >> would have four photos that I could cut with scissors into four
[quoted text clipped - 7 lines]
>
> Is that software available under Linux, though?

No, I don't think so.But other people in this newsgroup that run linux,
might know better.
ray - 28 Sep 2007 23:35 GMT
>> I would like to print photos, four on each page. That is, each page
>> would have four photos that I could cut with scissors into four
[quoted text clipped - 5 lines]
> can print either 4 10X15 photos on an A4 (4X5" on a letter-size)or 2 13 X 18
> (5 X 7")on an A4.

I would be quite amazed if canon had any software that runs on Linux.
Their Linux support is quite abysmal - the basic reason I don't buy canon
anything.
Ignoramus18262 - 29 Sep 2007 04:48 GMT
>>> I would like to print photos, four on each page. That is, each page
>>> would have four photos that I could cut with scissors into four
[quoted text clipped - 9 lines]
> Their Linux support is quite abysmal - the basic reason I don't buy canon
> anything.

Linux gnome-photo-printer is a very basic program, but it does
everything that I want very nicely. I am satisfied at this point.

i
ray - 29 Sep 2007 16:51 GMT
>>>> I would like to print photos, four on each page. That is, each page
>>>> would have four photos that I could cut with scissors into four
[quoted text clipped - 14 lines]
>
> i

As with all things Linux, you have choices - glad you found something you
like.
Ignoramus7365 - 29 Sep 2007 21:11 GMT
>>>>> I would like to print photos, four on each page. That is, each page
>>>>> would have four photos that I could cut with scissors into four
[quoted text clipped - 17 lines]
> As with all things Linux, you have choices - glad you found something you
> like.

I have choices, flaxibility, freedom, and security.

i
Michael Meissner - 29 Sep 2007 02:46 GMT
> I would like to print photos, four on each page. That is, each page
> would have four photos that I could cut with scissors into four
> individual photos. Is there some linux proggy or a script that could
> do it. Thanks

The montage program that is in the ImageMagick suite of tools will do this
using the -tile and -geometry options:

--> montage -help
Version: ImageMagick 6.2.8 04/05/07 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC

Usage: montage [options ...] file [ [options ...] file ...] file

Where options include:
 -adjoin              join images into a single multi-image file
 -affine matrix       affine transform matrix
  annotate geometry text
                      annotate the image with text
 -authenticate value  decrypt image with this password
 -blue-primary point  chromaticity blue primary point
 -blur factor         apply a filter to blur the image
 -border geometry     surround image with a border of color
 -bordercolor color   border color
 -channel type        apply option to select image channels
 -clone index         clone an image
 -coalesce            merge a sequence of images
 -colors value        preferred number of colors in the image
 -colorspace type     alternate image colorsapce
 -comment string      annotate image with comment
 -compose operator    composite operator
 -compress type       type of pixel compression when writing the image
 -crop geometry       preferred size and location of the cropped image
 -debug events        display copious debugging information
 -define format:option
                      define one or more image format options
 -density geometry    horizontal and vertical density of the image
 -depth value         image depth
 -display server      query font from this X server
 -dispose method      GIF disposal method
 -dither              apply Floyd/Steinberg error diffusion to image
 -draw string         annotate the image with a graphic primitive
 -encoding type       text encoding type
 -endian type         endianness (MSB or LSB) of the image
 -extract geometry    extract area from image
 -fill color          color to use when filling a graphic primitive
 -filter type         use this filter when resizing an image
 -flatten             flatten a sequence of images
 -flip                flip image in the vertical direction
 -flop                flop image in the horizontal direction
 -font name           render text with this font
 -format "string"     output formatted image characteristics
 -frame geometry      surround image with an ornamental border
 -gamma value         level of gamma correction
 -geometry geometry   preferred tile and border sizes
 -gravity direction   which direction to gravitate towards
 -green-primary point chromaticity green primary point
 -help                print program options
 -identify            identify the format and characteristics of the image
 -interlace type      type of image interlacing scheme
 -label name          assign a label to an image
 -limit type value    pixel cache resource limit
 -log format          format of debugging information
 -matte               store matte channel if the image has one
 -mattecolor color    frame color
 -mode type           framing style
 -monitor             monitor progress
 -monochrome          transform image to black and white
 -page geometry       size and location of an image canvas (setting)
 -pointsize value     font point size
 -profile filename    add, delete, or apply an image profile
 -quality value       JPEG/MIFF/PNG compression level
 -quiet               suppress all error or warning messages
 -red-primary point   chromaticity red primary point
 -repage geometry     size and location of an image canvas (operator)
 -resize geometry     resize the image
 -rotate degrees      apply Paeth rotation to the image
 -sampling-factor geometry
                      horizontal and vertical sampling factor
 -scenes range        image scene range
 -set attribute value set an image attribute
 -shadow              add a shadow beneath a tile to simulate depth
 -size geometry       width and height of image
 -strip               strip image of all profiles and comments
 -stroke color        color to use when stroking a graphic primitive
 -support factor      resize support: > 1.0 is blurry, < 1.0 is sharp
 -texture filename    name of texture to tile onto the image background
 -thumbnail geometry  create a thumbnail of the image
 -tile geometry       number of tiles per row and column
 -transform           affine transform image
 -transparent color   make this color transparent within the image
 -treedepth value     color tree depth
 -trim                trim image edges
 -type type           image type
 -units type          the units of image resolution
 -verbose             print detailed information about the image
 -version             print version information
 -virtual-pixel method
                      virtual pixel access method
 -white-point point   chromaticity white point

In addition to those listed above, you can specify these standard X
resources as command line options:  -background, -bordercolor,
-borderwidth, -font, -mattecolor, or -title

By default, the image format of `file' is determined by its magic
number.  To specify a particular image format, precede the filename
with an image format name and a colon (i.e. ps:image) or specify the
image type as the filename suffix (i.e. image.ps).  Specify 'file' as
'-' for standard input or output.

Signature

Michael Meissner
email: mrmnews@the-meissners.org
http://www.the-meissners.org

Floyd L. Davidson - 29 Sep 2007 03:41 GMT
>> I would like to print photos, four on each page. That is, each page
>> would have four photos that I could cut with scissors into four
[quoted text clipped - 3 lines]
>The montage program that is in the ImageMagick suite of tools will do this
>using the -tile and -geometry options:

ImageMagick tools can do it a number of ways.  There is
indeed "montage".  There is also "composite".  And in
fact the way that I've done it is with "convert" using
the "+append" argument.

I'm a little hesitant to post this script, because it has
been used very little and is probably full of no end of
bugs that will reformat your hard drive...  but it does
put 4 images on one page for printing.

#!/bin/bash
#
#  Composite 4 images for printing
#
prog=$(basename ${0})
function usage () {
 echo -e \
 "${prog} ${b}[${n}-h | -? | --help${b}]${n} \\"
 echo -e \
 "    ${b}[${n}-i NNxNN -c NNxNN -s nn -v nn -o ${i}outfile${n}${b}]${n} \\"
 echo -e \
 "    ${i}image_file1${n} ${b}[${n} ... ${n}${i}image_file4${n} ${b}]${n}"
 echo -e "\

 ${b}${prog}${n} generates a single image output
 file, ${i}${out}${n}, made up of 4 images from images
 files specified on the command line.  If the command
 line specifies only 1 image file the output will be a
 times 4 composite of that one image.  If two image
 files are specified, they will be the left pair and
 right pair respectively. If three image files are
 specified the first two will be on top and the third
 will be duplicated as the composite's two bottom
 images."

 echo ""
 echo -e "\
 ${b}OPTIONS${n}"
 echo -e "\
     -c NNxNN   -- Sets the white border around the
                   composite output image to NNxNN."
 echo -e "
     -i NNxNN   -- Sets the white border around each
                   individual image to NNxNN."
 echo -e "
     -v n       -- Enables more progress messages when
                   n > 2 and fewer if n < 2."
 echo -e "
     -s nn      -- Scales images in the composite smaller
                   the divisor nn.  Default is 4, which
                   makes the output image about the size
                   of the largest original individual
                   image.  -s 1 is another useful value."
 echo ""
}

#              **** DEFAULT CONFIGURATION ****
#
#  The generated composite output file is named ${out}.
#  The extent determines the format.  Note that other
#  "convert" attributes can be set with the variable.
#  The -o option also sets the output file name.
#  out="out.jpg" is an example.
out="out.jpg"

#
#  The image files will be scaled by ${scale} amount.  If the
#  output should be the same size as the largest input image,
#  set this to 4.  If the output image should just be as
#  big as all 4 images combined, set this to 1.  The -s option
#  also sets this variable.
#  scale=4 is an example.
scale=4

#
#  The composite will have a border per ${cborder}.
#  The -c option will also set this border.
#  cborder="5x25" is an example.
cborder="5x25"

#
#  The 4 images will have a border per  ${iborder}.
#  The -i option will also set this border.
#  iborder="5x5" is an example.
iborder="5x5"

#
#  The amount of information generated as the script
#  progresses is adjusted with the -v option.  The
#  default is set with $verbose
#  verbose=2 is an example.
verbose=2

#
#  These define various ANSI X.64 terminal attributes that
#  can be selected for $b or $i in the help screen.
#
nrm="\033[0m"
red="\033[31m"
grn="\033[32m"
yel="\033[33m"
blu="\033[34m"
mag="\033[35m"
cyn="\033[36m"
wht="\033[37m"
bld="\033[1m"
uln="\033[4m"
inv="\033[7m"

#  If the help screen has chicken scratch instead of bold
#  comment out these two:
b=${bld}
i=${uln}
n=${nrm}
#              **** END OF CONFIGURATION ****

function cleanup () {
 rm -f atmp.ppm btmp.ppm ctmp.ppm hi.ppm lo.ppm
 if [ ${verbose} -gt 2 ] ; then
   echo -e "${red}Merry ${grn}Christmas${n}... ;-)"
 fi
}

while [ ${#} -gt 0 ] ; do
 if [ "${1:0:1}" == "-" ] ; then
   option="${1:1}"
   case "${1:1}" in
     [?h])  usage; exit 0;;
     help)  usage; exit 0;;
     -[?h]) usage; exit 0;;
     -help) usage; exit 0;;
     v) case "${2:0:1}" in
        [0-9]) verbose=${2}; shift; shift; continue;;
        esac;;
     s) case "${2:0:1}" in
        [0-9]) scale=${2};   shift; shift; continue;;
        esac;;
     c) case "${2:0:1}" in
        [0-9]) cborder=${2}; shift; shift; continue;;
        esac;;
     i) case "${2:0:1}" in
        [0-9]) iborder=${2}; shift; shift; continue;;
        esac;;
     o) out="${2}";          shift; shift; continue;;
     *) break;;
   esac
 else
   break
 fi
shift
done

trap cleanup 0

number=${#}
case "${number}" in
 0)  echo -e "You ${red}must${nrm} specify from 1 to 4 image files."; exit 1;;
 1)  args=(${1} ${1} ${1} ${1});;
 2)  args=(${1} ${2} ${1} ${2});;
 3)  args=(${1} ${2} ${3} ${3});;
 *)  args=(${1} ${2} ${3} ${4});;
esac

j=0
width=0
height=0
for x in 0 1 2 3 ; do
 set $(exiftool "${args[${x}]}" 2>&1)
 if [ "${1}" != "ExifTool" ] ; then
   echo -e "File ${i}${args[${x}]}${n} does not have a valid image format."
   exit 1
 fi
 set $(exiftool "${args[${x}]}" | grep "Image Width")
 neww=$(expr ${4} \/ ${scale})
 set $(exiftool "${args[${x}]}" | grep "Image Height")
 newh=$(expr ${4} \/ ${scale})
 if [ ${newh} -lt ${neww} ] ; then
   rotate[${x}]="-rotate 90"
   if [ ${height} -lt ${neww} ] ; then height=${neww} ; fi
   if [ ${width}  -lt ${newh} ] ; then width=${newh} ; fi
 else
   if [ ${height} -lt ${newh} ] ; then height=${newh} ; fi
   if [ ${width}  -lt ${neww} ] ; then width=${neww} ; fi
 fi
done

for x in 0 1 2 3 ; do
 if [ ${width} -gt ${height} ] ; then
   size[${x}]="size ${width}x${width}"
 else
   size[${x}]="size ${height}x${height}"
 fi
done

if [ ${verbose} -gt 2 ] ; then
 echo "verbose:   ${verbose}"
 echo "scale:     ${scale}"
 echo "iborder:   ${iborder}"
 echo "cborder:   ${cborder}"
 echo "out file:  ${out}"
 echo "height:    ${height}"
 echo "width:     ${width}"
fi

if [ ${verbose} -gt 1 ] ; then
 echo -e "Making ${size[0]} temp file from ${i}${args[0]}${n}"
fi
convert -re${size} ${args[0]} -bordercolor white \
 -border ${iborder} ${rotate[0]} -${size[0]} -depth 16 atmp.ppm
top=("atmp.ppm" "atmp.ppm")
dt="Making double image file from ${i}${args[0]}${n} and ${i}${args[0]}${n}"
comp=("hi.ppm" "hi.ppm");

if [ ${number} -gt 1 ] ; then
 if [ ${verbose} -gt 1 ] ; then
   echo -e "making ${size[1]} temp file from ${i}${args[1]}${n}"
 fi
 convert -re${size} ${args[1]} -bordercolor white \
   -border ${iborder} ${rotate[1]} -${size[1]} -depth 16 btmp.ppm
 top=("atmp.ppm" "btmp.ppm")
 dt="Making double image file from ${i}${args[0]}${n} and ${i}${args[1]}${n}"
fi

if [ ${number} -gt 2 ] ; then
 if [ ${verbose} -gt 1 ] ; then
   echo -e "making ${size[2]} temp file from ${i}${args[2]}${n}"
 fi
 convert -re${size} ${args[2]} -bordercolor white \
   -border ${iborder} ${rotate[2]} -${size[2]} -depth 16 ctmp.ppm
 top=("atmp.ppm" "btmp.ppm")
 bot=("ctmp.ppm" "ctmp.ppm")
 dt="Making double image file from ${i}${args[0]}${n} and ${i}${args[1]}${n}"
 db="Making double image file from ${i}${args[2]}${n} and ${i}${args[2]}${n}"
 comp=("hi.ppm" "lo.ppm");
fi

if [ ${number} -gt 3 ] ; then
 if [ ${verbose} -gt 1 ] ; then
   echo -e "making ${size[3]} temp file from ${i}${args[3]}${n}"
 fi
 convert -re${size} ${args[3]} -bordercolor white \
   -border ${iborder} ${rotate[3]} -${size[3]} -depth 16 dtmp.ppm
 bot=("ctmp.ppm" "dtmp.ppm")
 db="Making double image file from ${i}${args[2]}${n} and ${i}${args[3]}${n}"
fi

if [ ${verbose} -gt 1 ] ; then
 echo -e "${dt}"
fi
convert ${top[0]} ${top[1]} +append -depth 16 hi.ppm

if [ ${number} -gt 2 ] ; then
 if [ ${verbose} -gt 1 ] ; then
   echo -e "${db}"
 fi
 convert ${bot[0]} ${bot[1]} +append -depth 16 lo.ppm
fi

if [ ${verbose} -gt 1 ] ; then
 echo -e "Making composite file ${i}${out}${n}"
fi
convert ${comp[0]} ${comp[1]} -append\
       -bordercolor white -border ${cborder} \
       -depth 16 -quality 100 ${out}

Signature

Floyd L. Davidson <http://www.apaflo.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska)              floyd@apaflo.com

Pat - 29 Sep 2007 03:35 GMT
On Sep 28, 10:02 am, Ignoramus18262 <ignoramus18...@NOSPAM.
18262.invalid> wrote:
> I would like to print photos, four on each page. That is, each page
> would have four photos that I could cut with scissors into four
> individual photos. Is there some linux proggy or a script that could
> do it. Thanks
>
> i

I don't know, but if it exists it's a www.sourceforge.net
Carl Neil Ellwood - 29 Sep 2007 12:13 GMT
> I would like to print photos, four on each page. That is, each page
> would have four photos that I could cut with scissors into four
> individual photos. Is there some linux proggy or a script that could
> do it. Thanks
>
> i

Try gnome-photo-printer. It is in the debian repositories so most distros
should have it available.

Scribus can be quite useful as well.

Signature

Neil

Ignoramus7365 - 29 Sep 2007 14:10 GMT
>> I would like to print photos, four on each page. That is, each page
>> would have four photos that I could cut with scissors into four
[quoted text clipped - 7 lines]
>
> Scribus can be quite useful as well.

That's what I ended up using, works great. Thanks.

i
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.