CDLABELGEN(1) | User Contributed Perl Documentation | CDLABELGEN(1) |
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.
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 <image_scaleratio>[,<x_offset>,<y_offset>]
cdlabelgen's purpose in life is twofold:
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.
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.
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.
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.
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.
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.
This option is best used along with option -m (--slim-case) or --create-dvd-inside.
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.
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.
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.
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.
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
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.
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.
Avinash Chopde <avinash@aczoom.com>
Original author: B. W. Fitzpatrick <fitz@red-bean.com>
- 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]
** 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
2023-08-13 | perl v5.36.0 |