Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CDLABELGEN(1)	       User Contributed Perl Documentation	   CDLABELGEN(1)

NAME
     cdlabelgen  -  CD/DVD  labels,  jewel  case inserts, and envelopes creator.
     Generates frontcards and traycards for CD cases, single-cd  envelopes,  DVD
     case inserts, as well as output suitable for direct printing on CD/DVD.

SYNOPSIS
     cdlabelgen [ -c <category> -s <subcategory> -i <item1%item2%etc> -f <items-
     file>   -v  <num_items_cover>  -e	<cover_epsfile>  -S  <cover_eps_scalera-
     tio>[,<image_x_offset>,<image_y_offset_inches>]   -E   <tray_epsfile>    -T
     <tray_eps_scaleratio>[,<image_x_offset>,<image_y_offset_inches>]  -d <date>
     -D -o <outputfile> -t <template> -b -C -w -h -m  -M  -O  -p  -y  <page_off-
     set_inches>   -l <line_width_points>] --create-dvd-inside --create-dvd-out-
     side  --slim-double-case  --double-case  --create-cdlabel	--rotate-endcaps
     --plaque-color <r,g,b> --category-color <r,g,b> --subcategory-color <r,g,b>
     --text-color    <r,g,b>	-n   <volume/number   in   set>   --rows-columns
     <row_count_for_items,column_count_for_items>  --tray-overlay  <overlay_eps-
     file>    --tray-overlay-scaleratio    <tray_overlay_image_scaleratio>[,<im-
     age_x_offset>,<image_y_offset_inches>]

VERSION
     Version 4.2.0, April 2012

DESCRIPTION
     cdlabelgen's purpose in life is twofold:

     *	 To be run automatically and swiftly from a shell script  and  automati-
	 cally	generate  a  frontcard	and  a	traycard  for a cd--usually data
	 archive cd's. The  traycard  (which  goes  behind  the  CD  itself)  is
	 U-shaped  and the ends of the CD case bear the label of what the CD is.
	 Inside inserts for DVDs are also supported.

     *	 To have a minimum of dependencies--cdlabelgen only requires perl.

     cdlabelgen was designed to simplify the process of  generating  labels  for
     CD's. It originated as a program to allow auto generation of frontcards and
     traycards	for  CD's  burned  via	an automated mechanism (specifically for
     archiving data), but has now become popular for labelling	CD  compilations
     of  mp3's,  and copies of CDs. Note that cdlabelgen does not actually print
     anything--it just spits out postscript, which you can then do with  as  you
     please.  It  can  also  be combined with output from other programs such as
     "barcodegen" - to print a barcode as a tray overlay image.

     The latest version of cdlabelgen as well as this document can be  found  at
     http://www.aczoom.com/tools/cdinsert/.  The  software  package includes CGI
     scripts that can be used to serve cdlabelgen over the internet.   An  older
     version may be available at: http://www.red-bean.com/~bwf/software/cdlabel-
     gen/.

     cdlabelgen  comes	with  several  eps images for you to use on your labels.
     These images can be found in /usr/local/lib/cdlabelgen or	/usr/share/cdla-
     belgen or /opt/lib/cdlabelgen/ or /usr/local/share/cdlabelgen, depending on
     your  installation. Included are a Recycling icon, an mp3 icon, the Compact
     Disc icon (with and without 'Digital' on it), Tux the penguin, and the  new
     Debian  'swirl'  logo.  Two  color background images called Music Notes are
     also available.

     CDs: cdlabelgen prints a 'tongue' as  part  of  the  traycard.  This  folds
     around  and  is  viewable	from  the front in jewel boxes that are entirely
     clear (CD holder piece is not opaque). If you do not have a clear CD holder
     in your jewel box, you  may  find	it  easier  to	just  cut  the	'tongue'
     off--it's a bit easier to fold without it.

     Paper  Sizes:  Normal  CD	cases,	Slim CD cases, DVD inside inserts can be
     printed on a letter or A4 sized page.  CD/DVD Envelopes and DVD outside in-
     serts will not fit on a letter sized paper, a larger  paper  size	will  be
     needed to make it fit.

     cdlabelgen  requires  Perl Version 5.003 or greater. Ghostscript is not re-
     quired, but is recommended so that you can test  out  your  labels  without
     wasting paper.

SWITCHES
     -c, --category <category>
	 Set the category (title) for the CD

     -s, --subcategory <subcategory>
	 Set the subcategory (subtitle) for the CD

     -i, --items <items>
	 'items'  should  be a '%' separated list of items to print on the tray-
	 card of the CD.  Note that if the number of items are too many  to  fit
	 on the tray card, cdlabelgen will leave out some items at the end.  cd-
	 labelgen  automatically  flows the items into 2, 3, 4, or 5 columns and
	 scales the fontsize accordingly, unless the "-P" option is  used.   You
	 can  insert  blank lines by inserting 2 percent signs in a row into the
	 items list.

     -f, --items-from-file <filename>
	 Get item names from file named filename. Each item should be on its own
	 line separated by carriage returns.  cdlabelgen automatically flows the
	 items into 2, 3, 4, or 5 columns and scales the fontsize or  clips  the
	 items as needed.  You can insert blank lines by placing blank lines be-
	 tween items in this file.

	 Special  commands  can  be  embedded in the file, all of these commands
	 should be present starting at the first column of the line.  The  codes
	 are used to change the font for an item, the code itself is not printed
	 in the output.

	  {#BI}     - make the item bold and italic
	  {#I}	    - make the item italic
	  {#B}	    - make the item bold
	  {#M}	    - make the item mono-spaced (Courier font)
	  {#MB}     - make the item monospaced and bold (Courier-Bold font)

	 Example:

	  {#MB}    Text 1 Item
	 would print the line "    Text 1 Item" in a monospaced bold font.

     -v, --cover-items <number_of_items_for_cover>
	 Normally,  all the items are printed on the tray card.  But if you have
	 a large number of items, you may wish to print some items on the cover,
	 and rest on the tray card.  This option provides a  way  of  specifying
	 how  many  items  should  be  printed on the cover. Default is 0 (i.e.,
	 print no item on the cover, print all items on the tray). The items  to
	 be  printed on the cover are taken from the list of items, from the top
	 of the list.  Note that if the number of items is too many  to  fit  on
	 the  cover,  it  will	result	in  items being dropped. As of Jan 2002,
	 around 250-300 items can be fitted on the cover or the tray,  depending
	 on whether a title/subtitle/date is used or not.

     -d, --date <date>
	 Set the date to be used as 'date' if not set or not overridden with the
	 -D  flag, today's date will be used (default is today's date). Use this
	 option if you don't like cdlabelgen's default format of YYCC-MM-YY, for
	 example.

     -D, --no-date
	 Do not print any date (overrides -d as well)

     -e, --cover-image <cover_epsfile>
	 Filename of eps file to print on cover. Note that  cdlabelgen	requires
	 that the eps file contain a proper '%%BoundingBox LLx LLy URx URy' dec-
	 laration  according to the PostScript Document Structuring Conventions.
	 cdlabelgen uses this line  to	determine  the	dimensions  of	the  eps
	 graphic  so  that  it	can position it appropriately on the cover. Note
	 that cdlabelgen first looks for this file in your working directory. If
	 it doesn't find it there, it will look in the list of directories where
	 the default eps files are  stored  (see  @where_is_the_template).  This
	 makes it easy to use the images shipped with cdlabgelgen without typing
	 miles of pathnames.

     -S, --cover-image-scaleratio <cover_eps_scaleratio [,image_x_offset,im-
     age_y_offset_inches]>
	 The  ratio  by  which you want to scale the epsfile that appears on the
	 cover. If you omit this flag, cdlabelgen assumes a scaleratio	of  1.0.
	 This  flag  allows you to squeeze larger graphics into the cover or ex-
	 pand smaller graphics to fill the cover. Scaleratio must  be  a  number
	 (int or float).

	 If  the  scale  value	passed is 0 (or 0.0), then the logo is used as a
	 background image - it will be scaled as  required  to	fit  the  entire
	 cover.

	 The -S option also takes optional translate arguments.  Normally images
	 are  printed  on the cover and the tray so that the bottom-right of the
	 image is anchored to the bottom-right of the cover or tray. To move the
	 images away from the bottom and right borders, use this option. For ex-
	 ample, to leave two inches of gap between the image and the bottom bor-
	 der, and 0.5 inches from the left border, and use 1.0	scaleratio,  use
	 this: -S 1.0,-2,0.5

	 This offset only applies when the image is being used as a logo - i.e.,
	 image is not being used as background to fill the entire cover or tray.

     -E, --tray-image <tray_epsfile>
	 Filename  of  eps  file  to print on traycard. Note that cdlabelgen re-
	 quires that the eps file contain a proper '%%BoundingBox  LLx	LLy  URx
	 URy'  declaration according to the PostScript Document Structuring Con-
	 ventions. cdlabelgen uses this line to determine the dimensions of  the
	 eps graphic so that it can position it appropriately on the cover. Note
	 that cdlabelgen first looks for this file in your working directory. If
	 it doesn't find it there, it will look in the list of directories where
	 the  default  eps  files  are stored (see @where_is_the_template). This
	 makes it easy to use the images shipped with cdlabgelgen without typing
	 miles of pathnames.

     -T, --tray-image-scaleratio <tray_eps_scaleratio [,image_x_offset,im-
     age_y_offset_inches]>
	 The ratio by which you want to scale the epsfile that	appears  on  the
	 traycard.  If you omit this flag, cdlabelgen assumes a scaleratio of 1.
	 This flag allows you to squeeze larger graphics into  the  traycard  or
	 expand smaller graphics to fill the traycard. Scaleratio must be a pos-
	 itive number (int or float) specifying the scale.

	 If  the scale value passed is the word fill1, then the image is used as
	 a background - it is scaled so that it completely  fills  the	interior
	 tray  card  region.  The value 0 (or 0.0) works same as the fill1 argu-
	 ment.

	 If the value passed is the word fill2, then the  image  is  used  as  a
	 background  to  fill more than just the tray.	For normal CD cases, the
	 image is scaled so that it completely fills both the tray card  region,
	 and  the  two endcaps (but not the extreme right-hand 'tongue-cap') for
	 normal cd cases.  For Slim CD cases or DVD Inside/Outside  covers,  the
	 tray  image  will  fill  both the tray and cover regions (including any
	 spines).  For directly printing on a CD (--create-cdlabel),  fill2  op-
	 tion works like the fill1 option.

	 The -T option also takes optional translate arguments.  Normally images
	 are  printed  on the cover and the tray so that the bottom-right of the
	 image is anchored to the bottom-right of the cover or tray. To move the
	 images away from the bottom and right borders, use this option. For ex-
	 ample, to leave two inches of gap between the image and the bottom bor-
	 der, and 0.5 inches from the left border, and use 1.0	scaleratio,  use
	 this: -T 1.0,-2,0.5

	 This offset only applies when the image is being used as a logo - i.e.,
	 image is not being used as background to fill the entire cover or tray.

     -o, --output-file <outputfile>
	 If the -o flag is used, cdlabelgen prints to outputfile instead of STD-
	 OUT.

     -t, --template <template>
	 Specify explicitly which template to use. This is useful if you need to
	 debug the PostScript code in the template, use a different template, or
	 if  you  have	created your own template to use in lieu of the one pro-
	 vided with cdlabelgen.

     -b, --no-tray-plaque
	 Suppresses printing of the Plaque on the traycard, thus allowing you to
	 either fit even more items on the traycard, or to use a slightly larger
	 font size for the items.

     -C, --no-cover-plaque
	 Suppresses printing of the plaque on the front cover, thus  allowing  a
	 cover	image  that fills the front cover, but still displaying category
	 and sub-category information in the other usual places.

     -h, --help
	 print out the usage message

     -w, --tray-word-wrap
	 Enables word wrapping of the items that print	on  the  traycard.  Note
	 that  this is *not* extensively tested and may be buggy! Make sure that
	 you preview your label before printing it if you use this flag.

	 If there is a problem with "-w", the best option right now is to  split
	 lines in the input itself, and to omit the "-w" option.

     -m, --slim-case
	 Creates  covers  suitable  for use in slim cd-cases, this means no tray
	 card (the tray card is now the inside front cover).  This creates a two
	 page, folding cover insert. This could also be used in normal cd  cases
	 as an inside insert.

	 Slim  case  option  can  be  used  with  outside  dvd	inserts ( --cre-
	 ate-dvd-outside ) also - in which case the outside  insert  is  created
	 for half-height DVD case.

     -O, --outside-foldout
	 Output slim cd cover cases (or dvd inserts) with the order of the pages
	 switched  so the folding line lies on the outside of a normal case. Can
	 be used when printing either the slim-cd-case or dvd-inside inserts.

	 This option is best used along with option -m (--slim-case)  or  --cre-
	 ate-dvd-inside.

     --rotate-endcaps
	 Endcap text is rotated by 180 degrees, to flip the text around.

     -M, --create-envelope
	 Creates  covers suitable for use as envelopes for a CD. Guide lines are
	 printed, to aid in folding the printout correctly.

     --create-dvd-inside
	 Creates inserts suitable for use as inside  insert  for  a  normal  DVD
	 case.	 Guide	lines  are  printed, to aid in folding the printout cor-
	 rectly.  Note: DVD inserts may not print fully on Letter  or  A4  sized
	 paper printers; it may require larger paper sizes.

     --create-dvd-outside
	 Creates  inserts suitable for use as outside cover inserts for a normal
	 DVD case.  Guide lines are printed, to aid in folding the printout cor-
	 rectly.  Note: DVD inserts may not print fully on Letter  or  A4  sized
	 paper printers; it may require larger paper sizes.

	 Slim  case  option ( --slim-case ) can be used with outside dvd inserts
	 also - in which case the outside insert is created for half-height  DVD
	 case.

     --double-case
	 Create  covers  for double-sided DVD cases that hold 6 DVDs.  Only dou-
	 ble-width DVD cases are supported, double-width CD cases are  not  sup-
	 ported.    Therefore,	using  --double-case  also  implies  the  --cre-
	 ate-dvd-outside option.  Note: DVD inserts may not print fully on  Let-
	 ter or A4 sized paper printers; it may require larger paper sizes.

     --slim-double-case
	 Create  covers for double-sided DVD cases that hold 6 DVDs in boxes 1.5
	 times the depth of normal dvd cases.  Only DVD cases are supported with
	 this option, slim-double-width CD cases are not supported.   Therefore,
	 using	--slim-double-case also implies the --create-dvd-outside option.
	 Note: DVD inserts may not print fully	on  Letter  or	A4  sized  paper
	 printers; it may require larger paper sizes.

     --create-cdlabel
	 For  directly	printing  on  a CD or DVD. As of January 2005, there are
	 inkjets printers that can print on certain types of blank CD/DVD discs.
	 Only a small number of items can be printed on the CD, and  the  number
	 of  characters in the title and subtitle is also limited.  Always check
	 the output visually by using PostScript viewers or printing  on  paper,
	 before printing on the CD.

	 With  this  option,  the top portion of the disc represents the "cover"
	 area - so arguments related to the cover: title (--category),	subtitle
	 (--subcategory),  --no-cover-plaque,  --cover-items, --cover-image, etc
	 all apply to the top area.  The bottom portion of the	disc  represents
	 the  "tray"  area,  so arguments related to the tray: --no-tray-plaque,
	 --tray-image, etc all apply to the  bottom  area.   The  date	(--date)
	 string,  if  present,	is  printed  along the bottom curved edge of the
	 disc.

	 Background images can be specified using the --cover-image option, mod-
	 ified as need by the --cover-image-scaleratio.  If --tray-image is also
	 specified, note that the cover image is printed first,  then  the  tray
	 image	overwrites the cover image. The title/items text is then finally
	 printed over all the images.

	 The   --no-tray-plaque    and/or    --no-cover-plaque	  (along    with
	 --cover-items) option is also recommended with --create-cdlabel, other-
	 wise there may be no space for any items to be printed on the disc.

	 The --clip-items option is also recommended.

     -p, --clip-items
	 Enables  clipping  of	items; uses fixed font size for all items.  Nor-
	 mally, the template.ps used by cdlabelgen will try to fit an item in  a
	 given	column	by  reducing the font size if needed. This is ok if done
	 for one or two items, but if done too often, it  makes  the  tray  card
	 look ugly, with text of varying font sizes.

	 Use this option to use a fixed width font for all items. If the item is
	 too large to fit in a column, the text will be clipped instead.

     -y, --page-offset [<page_x_offset_inches,]<page_y_offset_inches
	 Use  this  to move the entire output up or down (y_offset), to make the
	 output fit on appropriate sized paper.  For  letter  sized  paper,  0.8
	 works	well, and for A4 paper, 1.5 works well. The value is in units of
	 inches.  An optional X-axis offset can also be specified.  Default val-
	 ues: 1 inch for X-axis, 0.8 inches for Y-axis.

     -l, --line-width <line_width_points>
	 Specify size in points of the edge and interior lines of the cover  and
	 tray card.  If this is 0, then the lines are omitted for both the cover
	 and tray (but guide cut lines are still printed). The size is specified
	 in points (1 point is 1/72 inch).

     --plaque-color <r,g,b>
	 Specify  a color to fill plaque.  Color must be specified using the rgb
	 components, each value should be between 0 and 255.

     --category-color <r,g,b>
	 Specify a color for category.	Color must be specified  using	the  rgb
	 components, each value should be between 0 and 255.

     --subcategory-color <r,g,b>
	 Specify a color for subcategory.  Color must be specified using the rgb
	 components, each value should be between 0 and 255.

     --text-color <r,g,b>
	 Specify  a color for text - this is used for the list of items, and the
	 date display under the plaque and in the end-caps.  Color must be spec-
	 ified using the rgb components, each value should be between 0 and 255.

     -n, --number-in-set <string>
	 Append volume information to the end of the date string.   This  should
	 be  a	single	string.   If used in conjuction with "-D", it will be in
	 place of the date; otherwise, it is appended to the date as "	-  <num-
	 ber-in-set>"

     --rows-columns <row_count_for_items,column_count_for_items>
	 The --rows-columns options forces the list of items to be printed using
	 that  many  rows,  and that many columns.  Both numbers have to be pro-
	 vided, no spaces, for example: --rows-columns=11,3

	 The list of items is laid out in top-down, left-to-right fashion.   Use
	 blank items in the input, to get appropriately aligned columns.

	 --rows-columns applies to the list of items wherever they are printed -
	 normally on the tray only, but may include cover, or the top and bottom
	 portions  of  the  round  printouts for direct CD label printing.  Same
	 values apply to all these variations, so if you need  different  number
	 of  rows/columns  for	cover vs tray, you can use two different runs of
	 cdlabelgen, to get two postscript files, and pick the	cover  from  one
	 printout,  and  tray from the other.  This will work for jewel-case in-
	 serts, but may not work for direct CD label printing.

     --tray-overlay overlay_epsfile
	 Filename of eps file to print as overlay on  traycard.  This  image  is
	 printed  over	the background image (tray-image) as well as the list of
	 items. Therefore, this is useful for things like barcodes.  In terms of
	 EPS file requirements, see the --tray-image option description.

     --tray-overlay-scaleratio tray_overlay_image_scaleratio[,image_x_offset,im-
     age_y_offset_inches]
	 The ratio by which you want to scale the epsfile that is used with  the
	 --tray-overlay  option,  and optionally to translate the overlay.  Nor-
	 mally overlay image is printed on the tray so that the bottom-right  of
	 the  image is anchored to the bottom-right of the tray. To move the im-
	 ages away from the bottom and right borders, use this option. For exam-
	 ple, to leave 0.1 inches of gap between the image and the  bottom  bor-
	 der,  and  0.2 inches from the right border, and use 1.0 scaleratio (no
	 scaling), use this: --tray-overlay-scaleratio 1.0,-0.2,0.1

EXAMPLES
	 cdlabelgen -c "My Filesystem"
		      -s "/usr/local/foo"
		      -e postscript/recycle.eps > foo.ps

	 cdlabelgen -c "title of cd"
		      -s "subtitle"
		      -i "Item 1%and Item 2%a third item here perhaps"
		      -e postscript/recycle.eps -o bar.ps

	 cdlabelgen -c "Fitz"
		      -s "home directory"
		      -o qux.ps

	 cdlabelgen -c "Backups"
		      -s "home directory"
		      -n "4 of 5"

	 Direct printing on a CD or DVD, if file "example5.txt" has list of items:
	 cdlabelgen --clip-items --no-tray-plaque --date "Jan 2005"
	   -c "Collections 12" -s "- english songs -"
	   --cover-image "music2.eps" --cover-image-scaleratio 0.0
	   --tray-image "mp3.eps" --tray-image-scaleratio 0.5,-0.5,2
	   --page-offset 0.5,0.5 -f example5.txt -o test.ps

CHARACTER ENCODINGS - using ogonkify
     cdlabelgen uses the Helvetica family of fonts for various text items, using
     the default encoding of ISO-Latin1.

     To use other encodings, the "ogonkify" program can be used; this is a pack-
     age available at http://www.pps.jussieu.fr/~jch/software/ogonkify/ The out-
     put from cdlabelgen can be piped into ogonkify, example for  Latin2  encod-
     ing:

	cdlabelgen <args>  | ogonkify -H -eL2	 > <outputfilename>

     See the man page for ogonkify for other possible values for the encoding.

     Hint:  if	you  always  work  with  a particular encoding, you can just run
     ogonkify on template.ps - and use the output as the new template.ps.

	ogonkify -H -eL2 template.ps > template-enc.ps

     This way ogonkify has to be run only once, cdlabelgen output  will  contain
     the correctly encoded fonts from the modified template.ps. Use the -t cdla-
     belgen option to specify the new template-enc.ps file, or save the old tem-
     plate.ps and renmae template-enc.ps to template.ps.

PRINTING
     When  using  tools  such  as Adobe Acrobat to print the .ps or a .pdf file,
     make sure that "Fit To Paper" option is unchecked.  Also uncheck any option
     that will perform scaling up or down of the cdlabelgen output file.

     Failure to do so will result in incorrect size printouts.

     Paper Sizes: Normal CD cases, Slim CD cases,  DVD	inside	inserts  can  be
     printed on a letter or A4 sized page.  CD/DVD Envelopes and DVD outside in-
     serts  will  not  fit  on a letter sized paper, a larger paper size will be
     needed to make it fit.

     When using different  sized  paper,  experimentation  with  the  -y  (also:
     --page-offset) [<page_x_offset_inches,]<page_y_offset_inches> option may be
     required to place the image in the printable region of the paper.

AUTHOR
     Avinash Chopde <avinash@aczoom.com>

     Original author: B. W. Fitzpatrick <fitz@red-bean.com>

THANKS
	 - Karl Fogel, for general encouragement and that free software vibe
	 - Adam Di Carlo, for bug testing, help and making the .deb
	 - Greg Gallagher, for bug testing, coding, and tons of suggestions
	 - Goran Larsson, for feedback and date fixes
	 - Jens Claussen, for the patch to allow arbitrary ISO-Latin1 characters
	 - Bernard Quatermass, for contributing several excellent new features
	 - Sebastian Wenzler <sick@home.and.drunk.at> for reports, tests, RPM ['01]
	 - Peter Bieringer <pb@bieringer.de> for RPM .spec file ['02]
	 - Ronald Rael Harvest <number6@cox.net> for original envelope template ['02]
	 - Alessandro Dotti Contra <alessandro.dotti@libero.it> for color support,
	     man page and other improvements ['02]
	     Mathias Herberts
	 - Mathias Herberts <Mathias.Herberts@iroise.net>, for slim cdcase foldout
	 - Stephan Grund <Stephan.Grund@isst.fraunhofer.de>, for monospaced
	   font and for rotated-end-caps text support
	 - Dominique Dumont <dod@debian.org>
	     for half-height DVD case support
	     for slim-double depth DVD case support
	     (patches forwarded by Juan Manuel Garcia Molina <juanma@debian.org>)
	 - Peter Bieringer <pb@bieringer.de> for testing CD label printint ['05]
	 - Andras Salamon <asalamon@chello.hu> for double-width DVD support ['08]

TODO
      ** Word wrap does not work well at all. It will clip lines, or it will
	 auto-reduce the font size, both of which option look bad.

      ** Ability to change the text style on a given line:
	 {#B}Track#  {#P}Title	 {#I} Text...
	 [Workaround available: just use multi columns input, use blank
	  lines to spread out input items into columns]

      ** Ability to select or specify fonts for the text/items

perl v5.10.0			   2012-04-15			   CDLABELGEN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cdlabelgen&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help