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
       <itemsfile>  -v <num_items_cover> -e <cover_epsfile> -S
       <cover_eps_scaleratio>[,<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_offset_inches>  -l	<line_width_points>] --create-dvd-inside
       --create-dvd-outside --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_epsfile>	--tray-overlay-scaleratio
       <tray_overlay_image_scaleratio>[,<image_x_offset>,<image_y_offset_inches>]

VERSION
       Version 4.2.0, April 2012

DESCRIPTION
       cdlabelgen's purpose in life is twofold:

       o   To be run automatically and swiftly from a shell script and
	   automatically 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.

       o   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/cdlabelgen/.

       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/cdlabelgen 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
       inserts 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
       required, 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
	   traycard 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.  cdlabelgen	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 between 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' declaration	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,image_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 expand 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	example, to leave two inches of	gap between
	   the image and the bottom border, 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
	   requires that the eps file contain a	proper '%%BoundingBox LLx LLy
	   URx URy' declaration	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.

       -T, --tray-image-scaleratio <tray_eps_scaleratio
       [,image_x_offset,image_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	positive 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 argument.

	   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	option 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	example, to leave two inches of	gap between
	   the image and the bottom border, 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
	   STDOUT.

       -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 provided 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 (
	   --create-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
	   --create-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
	   correctly.  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 correctly.	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
	   double-width	DVD cases are supported, double-width CD cases are not
	   supported.  Therefore, using	--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.

       --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,
	   modified 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,
	   otherwise 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.
	   Normally, 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 values: 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 specified	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 "	- <number-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 provided,	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 inserts, 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,image_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.
	   Normally 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 images away	from the bottom	and right borders, use this
	   option. For example,	to leave 0.1 inches of gap between the image
	   and the bottom border, 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
       package available at http://www.pps.jussieu.fr/~jch/software/ogonkify/
       The output from cdlabelgen can be piped into ogonkify, example for
       Latin2 encoding:

	  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 cdlabelgen option	to specify the new template-enc.ps file, or
       save the	old template.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
       inserts 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)

NAME | SYNOPSIS | VERSION | DESCRIPTION | SWITCHES | EXAMPLES | CHARACTER ENCODINGS - using ogonkify | PRINTING | AUTHOR | THANKS | TODO

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

home | help