.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "bmeps 1" .TH bmeps 1 "2008/07/28" "2.0.16" "bmeps-2.0.16" .SH "NAME" bmeps \- Converter from PNG/JPEG/NetPBM to EPS and PDF .SH "SYNOPSYS" .IX Header "SYNOPSYS" .Vb 7 \& bmeps [I] [I [I]] \& bmeps [I] I \& bmeps -c -lI \& bmeps -u \& bmeps -C \& bmeps -h \& bmeps -v .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Bmeps reads the specified input file, converts it and write output to the specified file. If no output file name is specified bmeps writes to standard output. If no input file name is specified bmeps reads from standard input. .PP If bmeps is run on a directory it searches the directory for files it can handle. A conversion is done for each file found, except when running in make mode. In make mode bmeps checks for a conversion output file, a conversion is run only if the output file does not yet exist or is not up to date. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-h\fR" 6 .IX Item "-h" shows a help text. .IP "\fB\-v\fR" 6 .IX Item "-v" shows version number and license conditions. .IP "\fB\-c\fR \fB\-l\fR\fIname\fR" 6 .IX Item "-c -lname" saves the configuration name as default configuration. If no configuration is specified on a command line, bmeps uses either the default configuration or the configuration specified in the \s-1EPSOUTPUT\s0 environment variable. The environment variable has higher priority. .IP "\fB\-C\fR" 6 .IX Item "-C" shows the current configuration, can be used to view the permanent settings. .IP "\fB\-u\fR" 6 .IX Item "-u" removes the permanent settings (default configuration, make mode setting). .IP "\fB\-r\fR ..." 6 .IX Item "-r ..." ignores the permanent settings for one program invokation. .IP "\fB\-l\fR\fIname\fR" 6 .IX Item "-lname" chooses a configuration. Configuration entry overrides can be appended, separated by comma. .IP "\fB\-o\fR\fIname\fR\fB=\fR\fIvalue\fR" 6 .IX Item "-oname=value" overrides one configuration entry. .IP "\fB\-f\fR\fInumber\fR[\fB\-\fR\fInumber\fR]" 6 .IX Item "-fnumber[-number]" chooses the frames to convert. By default bmeps converts all frames found in the input file. .IP "\fB\-m\fR" 6 .IX Item "-m" .PD 0 .IP "\fB\-t\fR\fItype\fR" 6 .IX Item "-ttype" .PD chooses the type of input data (when running as a pipe). .IP "\fB\-a\fR" 6 .IX Item "-a" chooses the output file name (if missing) automatically based on the input file name. .IP "\fB\-A\fR" 6 .IX Item "-A" suppresses the notification about alpha channels transferred from \&\s-1PNG\s0 or \s-1TIFF\s0 to \s-1PDF\s0. .IP "\fB\-A\-\fR" 6 .IX Item "-A-" enables the notification about alpha channels transferred from \&\s-1PNT\s0 or \s-1TIFF\s0 to \s-1PDF\s0. .Sp \&\fB\-m\-\fR .Sp activates/deactivates make mode. .SH "RETURN VALUE" .IX Header "RETURN VALUE" On success bmeps returns exit code 0. Positive values are returned on errors. .SH "ERRORS AND DIAGNOSTICS" .IX Header "ERRORS AND DIAGNOSTICS" Error messages and diagnostic messages are printed to the standard output stream and the error output stream. .SH "FILES" .IX Header "FILES" .Sh "Configuration file syntax" .IX Subsection "Configuration file syntax" The configuration file consists of a list of sections, each section defines one configuration. The section is started by the configuration name in square brackets. The name of a ``parent'' configuration to inherit from can be specified using a colon as separator. .PP The remaining lines of a section are key/value pairs to set the configuration entries. .PP An example to set up a configuration named ``simple_configuration'' might look like: .PP .Vb 3 \& [simple_configuration:eps2] \& color = no \& encoding = ascii85:run-length .Ve .Sh "Configuration entries" .IX Subsection "Configuration entries" Each configuration entry has a name assigned. I recommend to write the full name in configuration files. The abbreviations should only be used when typing commands on the command line. .PP The list below shows both full names and abbreviations. .IP "output type = \fIstring\fR" 6 .IX Item "output type = string" o.t=\fIstring\fR .Sp the output type, either ``ps'', ``pdf'' or ``bb'' (for LaTeX bounding boxes). .IP "level = \fIstring\fR" 6 .IX Item "level = string" l=\fIstring\fR .Sp the output level, either ``1'', ``2'' or ``3'' for \s-1EPS\s0 or ``1.2'', ``1.3'' or ``1.4'' for \s-1PDF\s0. .IP "color = \fIboolean\fR" 6 .IX Item "color = boolean" c=\fIboolen\fR .Sp color mode (output is grayscaled if color mode is deactivated). .IP "dsc comments = \fIboolean\fR" 6 .IX Item "dsc comments = boolean" dsc.c=\fIboolean\fR .Sp dsc mode, \s-1DSC\s0 comments are written to \s-1PS/EPS\s0 output if dsc mode is enabled. .IP "encoding = \fIlist\fR" 6 .IX Item "encoding = list" e=\fIlist\fR .Sp list of allowed encoding and compression mechanisms. Items in the list are separated by colon, abbreviations can be used, i.e. ``a:r:d'' instead of ``ascii85:run\-length:dct''. .Sp The following encodings can be used: .RS 6 .IP "ascii85" 12 .IX Item "ascii85" ASCII85\-Encoding. If ASCII85\-encoding is disabled bmeps uses ASCII\-Hex\-encoding. .IP "run-length" 12 .IX Item "run-length" run-length encoding. .IP "flate" 12 .IX Item "flate" flate compression (from zlib). .IP "dct" 12 .IX Item "dct" \&\s-1DCT\s0 encoding. Bmeps does not DCT-encode data itself, it lets DCT-encoded data from \s-1JPEG\s0 files pass through if some tests on the \s-1JPEG\s0 file were successfully. .RE .RS 6 .Sp Note: The usable compression and encoding mechanisms depend on the \s-1PS\s0 level. .RE .IP "mix = \fIboolean\fR" 6 .IX Item "mix = boolean" m=\fIboolean\fR .Sp background color mixing. If the input image contains an alpha channel the foreground color specified for the pixel is mixed against the background color. Alpha data is used as foreground opacity. .IP "background = \fIrgb-triple\fR" 6 .IX Item "background = rgb-triple" b=\fIrgb-triple\fR .Sp default background color. This color is used as background color if the input image does not contain background color information. .IP "always use default background = \fIboolean\fR" 6 .IX Item "always use default background = boolean" a.u.d.b=\fIboolean\fR .Sp flag, ignores the background color information from input file, the default background is always used. .IP "create image mask = \fIboolean\fR" 6 .IX Item "create image mask = boolean" c.i.m=\fIboolean\fR .Sp flag, uses input alpha channel to create an image mask. .IP "image mask trigger level = \fInumeric\fR" 6 .IX Item "image mask trigger level = numeric" i.m.t.l=\fInumeric\fR .Sp the trigger level to convert alpha data to image mask. Must be in the range [0;1]. .IP "transfer alpha channel = \fIboolean\fR" 6 .IX Item "transfer alpha channel = boolean" t.a.c=\fIboolean\fR .Sp flag, transfers alpha data from input to output. This is only possible when creating \s-1PDF\-1\s0.4 output. Alpha data transfer deactivates mixing and image mask creation. .IP "interpolate = \fIboolean\fR" 6 .IX Item "interpolate = boolean" i=\fIboolean\fR .Sp image interpolation flag in output. .IP "jpeg interpolate = \fIboolean\fR" 6 .IX Item "jpeg interpolate = boolean" j.i=\fIboolean\fR .Sp enables interpolation also when passing-through \s-1DCT\s0 encoded data from \s-1JPEG\s0 files. .IP "use resolution chunk = \fIboolean\fR" 6 .IX Item "use resolution chunk = boolean" u.r.c=\fIboolean\fR .Sp uses image resolution data from input to resize output. .IP "media size = \fImedia\fR" 6 .IX Item "media size = media" m.s=\fImedia\fR .Sp the paper size to fit the image: .RS 6 .IP "name, ``A3'', ``A4'', ``A5'', ``B4'', ``B5'', ``Letter'', ``Legal'', ``Tabloid'', ``Ledger'', ``Statement'', ``Executive'', ``Folio'', ``Quarto'' or ``10x14''." 12 .IX Item "name, ``A3'', ``A4'', ``A5'', ``B4'', ``B5'', ``Letter'', ``Legal'', ``Tabloid'', ``Ledger'', ``Statement'', ``Executive'', ``Folio'', ``Quarto'' or ``10x14''." .PD 0 .IP "four numeric values x0, y0, x1 and y1 to specify the bounding box." 12 .IX Item "four numeric values x0, y0, x1 and y1 to specify the bounding box." .IP "eight numeric values bbx0, bby0, bbx1, bby1, ix0, iy0, ix1 and iy1. The bb...\-values specify the bounding box, the i...\-rectangle is used to place the image. This allows to reserve some border on the paper." 12 .IX Item "eight numeric values bbx0, bby0, bbx1, bby1, ix0, iy0, ix1 and iy1. The bb...-values specify the bounding box, the i...-rectangle is used to place the image. This allows to reserve some border on the paper." .RE .RS 6 .RE .IP "pdf fit = \fIpdf-zoom\fR" 6 .IX Item "pdf fit = pdf-zoom" .PD p.f=\fIpdf-zoom\fR .Sp initial view, ``width'', ``height'' or ``page''. .IP "draft = \fIboolean\fR" 6 .IX Item "draft = boolean" d=\fIboolean\fR .Sp draft mode, draw a placeholder rectangle only. .IP "showpage = \fIboolean\fR" 6 .IX Item "showpage = boolean" sh=\fIboolean\fR .Sp activates/deactivates showpage operator in output. .IP "operator dictionary = \fIboolean\fR" 6 .IX Item "operator dictionary = boolean" o.d=\fIboolean\fR .Sp use dictionary argument for image operator or multiple plain arguments. .IP "separated dictionary = \fIboolean\fR" 6 .IX Item "separated dictionary = boolean" s.d=\fIboolean\fR .Sp creates a separated dictionary for definitions in the bmeps output. This preserves existing dicionary entries from the enclosing document from being overwritten accidently. .IP "vmreclaim = \fIboolean\fR" 6 .IX Item "vmreclaim = boolean" v=\fIboolean\fR .Sp writes ``1 vmreclaim'' to output to suggest a garbage collection. .IP "jfif sof set = \fIlist\fR" 6 .IX Item "jfif sof set = list" j.s.s=\fIlist\fR .Sp specifies the allowed SOF_n markers in \s-1DCT\s0 encoded data, i.e. ``0:1'' to allow \s-1SOF_0\s0 and \s-1SOF_1\s0. .Sh "Configuration example" .IX Subsection "Configuration example" .Vb 26 \& [copy_of_ps2] \& output type = ps \& level = 2 \& interpolate = yes \& color = yes \& multiple data sources = yes \& dsc comments = yes \& encoding = ascii85:run-length:dct \& mix = yes \& background = 1.0:1.0:1.0 \& always use default background = yes \& create image mask = no \& image mask trigger level = 0.000001 \& transfer alpha channel = no \& showpage = no \& operator dictionary = yes \& separated dictionary = yes \& vmreclaim = no \& draft = no \& jfif sof set = 0:1 \& jpeg interpolate = no \& use resolution chunk = no \& # No media size specified -> 1 pixel = 1 PS point \& # media size \& # No PDF zoom factor, we create PS output \& # pdf fit .Ve .SH "EXAMPLES" .IX Header "EXAMPLES" .IP "Create a new default configuration to produce \s-1PS/EPS\s0 level 2 images for a grayscaled printer:" 6 .IX Item "Create a new default configuration to produce PS/EPS level 2 images for a grayscaled printer:" .Vb 1 \& bmeps -c -leps2,color=no .Ve .IP "Convert inpug.png to output.eps using the default configuration:" 6 .IX Item "Convert inpug.png to output.eps using the default configuration:" .Vb 1 \& bmeps input.png output.eps .Ve .IP "Convert input.png to output.pdf" 6 .IX Item "Convert input.png to output.pdf" .Vb 1 \& bmeps -lpdf input.png output.pdf .Ve .IP "Convert all processable bitmap image files in the current directory:" 6 .IX Item "Convert all processable bitmap image files in the current directory:" .Vb 1 \& bmeps . .Ve .IP "Create bounding box files for all processable bitmap image files in the current directory:" 6 .IX Item "Create bounding box files for all processable bitmap image files in the current directory:" .Vb 1 \& bmeps -lbb . .Ve .IP "Convert a \s-1TIFF\s0 file created by a fax gateway to \s-1PDF\s0 for more convenient viewing:" 6 .IX Item "Convert a TIFF file created by a fax gateway to PDF for more convenient viewing:" .Vb 1 \& bmeps -lfaxpdf input.tiff output.pdf .Ve .SH "RESTRICTIONS" .IX Header "RESTRICTIONS" Only \s-1TIFF\s0 files which can be read using the \fITIFFReadRGBAImage()\fR function from the libtiff library can be used. .PP A self-made analysis function is used to test whether or not a \s-1JPEG\s0 file can be used directly as \s-1DCT\s0 encoded data. If this function fails the \s-1JPEG\s0 image is decoded using the jpeglib library, output is encoded using run\-length, flate and ASCII85/ASCII\-Hex encoding. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\s-1PDF\s0 documentation is installed near the binary. If .PP which bmeps .PP shows ``/usr/local/bin/bmeps'' check the ``/usr/local/share/doc/bmeps'' directory. .PP The project homepage http://bmeps.sourceforge.net/ also provides documentation. .SH "AUTHOR" .IX Header "AUTHOR" Dirk Krause .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (c) 2001\-2006, Dirk Krause All rights reserved. .PP Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: .PP .Vb 3 \& * Redistributions of source code must retain the above \& copyright notice, this list of conditions and the \& following disclaimer. .Ve .PP .Vb 4 \& * Redistributions in binary form must reproduce the above \& copyright notice, this list of conditions and the following \& disclaimer in the documentation and/or other materials \& provided with the distribution. .Ve .PP .Vb 4 \& * Neither the name of the Dirk Krause nor the names of \& contributors may be used to endorse or promote products \& derived from this software without specific prior written \& permission. .Ve .PP \&\s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1PROVIDED\s0 \s-1BY\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1AND\s0 \s-1CONTRIBUTORS\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1AND\s0 \&\s-1ANY\s0 \s-1EXPRESS\s0 \s-1OR\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0 \&\s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0 \s-1ARE\s0 \&\s-1DISCLAIMED\s0. \s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1SHALL\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1OWNER\s0 \s-1OR\s0 \s-1CONTRIBUTORS\s0 \s-1BE\s0 \s-1LIABLE\s0 \&\s-1FOR\s0 \s-1ANY\s0 \s-1DIRECT\s0, \s-1INDIRECT\s0, \s-1INCIDENTAL\s0, \s-1SPECIAL\s0, \s-1EXEMPLARY\s0, \s-1OR\s0 \s-1CONSEQUENTIAL\s0 \&\s-1DAMAGES\s0 (\s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1PROCUREMENT\s0 \s-1OF\s0 \s-1SUBSTITUTE\s0 \s-1GOODS\s0 \s-1OR\s0 \&\s-1SERVICES\s0; \s-1LOSS\s0 \s-1OF\s0 \s-1USE\s0, \s-1DATA\s0, \s-1OR\s0 \s-1PROFITS\s0; \s-1OR\s0 \s-1BUSINESS\s0 \s-1INTERRUPTION\s0) \s-1HOWEVER\s0 \&\s-1CAUSED\s0 \s-1AND\s0 \s-1ON\s0 \s-1ANY\s0 \s-1THEORY\s0 \s-1OF\s0 \s-1LIABILITY\s0, \s-1WHETHER\s0 \s-1IN\s0 \s-1CONTRACT\s0, \s-1STRICT\s0 \s-1LIABILITY\s0, \&\s-1OR\s0 \s-1TORT\s0 (\s-1INCLUDING\s0 \s-1NEGLIGENCE\s0 \s-1OR\s0 \s-1OTHERWISE\s0) \s-1ARISING\s0 \s-1IN\s0 \s-1ANY\s0 \s-1WAY\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \&\s-1OF\s0 \s-1THIS\s0 \s-1SOFTWARE\s0, \s-1EVEN\s0 \s-1IF\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0 \s-1SUCH\s0 \s-1DAMAGE\s0. .SH "LAST MODIFICATION" .IX Header "LAST MODIFICATION" 2006\-11\-25