Photo Forum / Digital Photography / Digital Photo / September 2007
Linux software for making collations?
|
|
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
|
|
|