dcmpsprt(1)

πŸ’… dcmpsprt(1) β€” the OFFIS DCMTK girlies' guide to print jobs πŸ’…

okay so bestie, welcome to dcmpsprt β€” it lives in the OFFIS DCMTK family and honestly? she's a whole vibe. she takes your DICOM images plus presentation states and turns them into an actual print job. iconic behaviour, no cap.


✨ NAME ✨

dcmpsprt β€” read DICOM images and presentation states and render print job πŸ–¨οΈπŸ¦‹


🌸 SYNOPSIS 🌸

dcmpsprt [options] dcmfile-in...

πŸŽ€ DESCRIPTION πŸŽ€

so the dcmpsprt utility literally reads one or more DICOM images and presentation states and creates a print job out of them. main character energy, truly.

the print job it makes is made of one Stored Print object plus one or more Hardcopy Grayscale images, and it gets written to the database that's specified in the config file. periodt. πŸ’…

and if you want, the print job can optionally be spooled to the printer β€” in which case dcmpsprt calls the dcmprscu application, which is the one that actually handles the communication with the printer. so dcmpsprt is more like the manager, and dcmprscu does the talking. iykyk 🫢


🧚 PARAMETERS 🧚

  • dcmfile-in β€” the DICOM image file(s) that are going to be printed. pass - if you want stdin, because sometimes that's just the move ✨

πŸ”₯ OPTIONS πŸ”₯

πŸ’œ general options πŸ’œ

  • -h, --help β€” print this help text and exit (the classic)
  • --version β€” print version information and exit
  • --arguments β€” print the expanded command line arguments
  • -q, --quiet β€” quiet mode: print no warnings and errors. basically "don't talk to me" mode πŸ™ˆ
  • -v, --verbose β€” verbose mode: print processing details. she's telling you everything πŸ’€
  • -d, --debug β€” debug mode: print debug information
  • -ll, --log-level [l]evel: string constant β€” use level l for the logger. the valid levels are (fatal, error, warn, info, debug, trace)
  • -lc, --log-config [f]ilename: string β€” use config file f for the logger

πŸ¦‹ processing options πŸ¦‹

  • +p, --pstate [p]state file: string β€” render the following image with presentation state p. heads up: this option can be specified multiple times (fr fr, stack 'em) 🌈
  • -c, --config [f]ilename: string β€” process using settings from configuration file f
  • -p, --printer [n]ame: string (default: 1st printer in cfg file) β€” select the printer with identifier n from the cfg file. if you don't pick one, you get the 1st printer in the cfg file. defaults, slay πŸŽ€

πŸ–¨οΈ spooling options πŸ–¨οΈ

  • -s, --spool β€” spool the print job to the DICOM printer
  • --nospool β€” do not spool the print job to the DICOM printer. this is the default, bestie πŸ’…

🌸 film orientation options 🌸

  • --portrait β€” set portrait orientation
  • --landscape β€” set landscape orientation
  • --default-orientation β€” use the printer default. this is the default ✨

πŸŽ€ trim (border) options πŸŽ€

  • --trim β€” set trim on
  • --no-trim β€” set trim off
  • --default-trim β€” use the printer default. this is the default ✨

πŸ¦‹ requested decimate/crop behavior options πŸ¦‹

  • --request-decimate β€” request decimate
  • --request-crop β€” request crop
  • --request-fail β€” request failure
  • --default-request β€” use the printer default. this is the default ✨

  • --default-plut β€” do not create presentation LUT. this is the default ✨
  • --identity β€” set IDENTITY presentation LUT shape
  • --plut [l]ut identifier: string β€” add LUT l to the print job
  • --inverse-plut β€” render the inverse presentation LUT into the bitmap of the hardcopy grayscale image
  • --illumination [v]alue: integer (0..65535) β€” set illumination to v (in cd/m^2)
  • --reflection [v]alue: integer (0..65535) β€” set reflected ambient light to v (in cd/m^2)

πŸ‘‘ basic film session options (only with --spool) πŸ‘‘

⭐ okay so these ones only work if you're spooling. just --spool things, bestie.
  • --copies [v]alue: integer (1..100, default: 1) β€” set the number of copies to v
  • --medium-type [v]alue: string β€” set medium type to v
  • --destination [v]alue: string β€” set film destination to v
  • --label [v]alue: string β€” set film session label to v
  • --priority [v]alue: string β€” set print priority to v
  • --owner [v]alue: string β€” set film session owner ID to v

πŸ’– annotation options πŸ’–

  • --no-annotation β€” do not create annotation. this is the default ✨
  • -a, --annotation [t]ext: string β€” create annotation with text t
  • +pd, --print-date β€” prepend date/time to the annotation. this is the default ✨
  • -pd, --print-no-date β€” do not prepend date/time to the annotation
  • +pn, --print-name β€” prepend the printer name to the annotation. this is the default ✨
  • -pn, --print-no-name β€” do not prepend the printer name to the annotation
  • +pl, --print-lighting β€” prepend illumination to the annotation. this is the default ✨
  • -pl, --print-no-lighting β€” do not prepend illumination to the annotation

🫢 overlay options 🫢

  • +O, --overlay [f]ilename: string, [x] [y]: integer β€” load overlay data from PBM file f and display it at position (x,y)
  • +Og, --ovl-graylevel [v]alue: integer (0..4095) β€” use overlay gray level v. the default is 4095 = white 🀍

⭐ other print options ⭐

  • -l, --layout [c]olumns [r]ows: integer (default: 1 1) β€” use the STANDARD\c,r image display format
  • --filmsize [v]alue: string β€” set film size ID to v
  • --magnification [v]alue: string β€” set magnification type to v
  • --smoothing [v]alue: string β€” set smoothing type to v
  • --configinfo [v]alue: string β€” set configuration information to v
  • --resolution [v]alue: string β€” set requested resolution ID to v
  • --border [v]alue: string β€” set border density to v
  • --empty-image [v]alue: string β€” set empty image density to v
  • --max-density [v]alue: string β€” set max density to v
  • --min-density [v]alue: string β€” set min density to v
  • --img-polarity [v]alue: string β€” set image box polarity to v (NORMAL or REVERSE)
  • --img-request-size [v]alue: string β€” set requested image size to v (width in mm)
  • --img-magnification [v]alue: string β€” set image box magnification type to v
  • --img-smoothing [v]alue: string β€” set image box smoothing type to v
  • --img-configinfo [v]alue: string β€” set image box configuration information to v

🌟 LOGGING 🌟

okay so the level of logging output β€” across all the command line tools and the underlying libraries β€” is something you get to specify. you're in charge, queen πŸ‘‘

by default, only errors and warnings get written to the standard error stream. if you use option --verbose, you also get informational messages like processing details reported. option --debug gets you more details on the internal activity, e.g. for debugging purposes. other logging levels can be picked with option --log-level. in --quiet mode only fatal errors are reported β€” and in those very severe error events the application will usually terminate. 😭 for more deets on the different logging levels, see the documentation of the module "oflog".

and if you want the logging output written to a file (optionally with logfile rotation), to syslog (Unix) or to the event log (Windows), option --log-config is your girl. that configuration file also lets you direct only certain messages to a particular output stream, and filter certain messages based on the module or application that generated them. an example config file is provided in <etcdir>/logger.cfg. πŸŽ€


πŸ’€ COMMAND LINE πŸ’€

all the command line tools use this notation for parameters: square brackets enclose optional values (0-1), three trailing dots mean multiple values are allowed (1-n), and a combination of both means 0 to n values. easy.

command line options are told apart from parameters by a leading + or - sign, respectively. usually the order and position of command line options are arbitrary (i.e. they can appear anywhere). however, if options are mutually exclusive, the rightmost appearance is used. this behavior conforms to the standard evaluation rules of common Unix shells. so like, the last one wins β€” main character gets the crown πŸ‘‘

plus, one or more command files can be specified using an @ sign as a prefix to the filename (e.g. @command.txt). such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation. quick note though: a command file cannot contain another command file. no inception, sorry πŸŒ€ this simple but effective approach lets you summarize common combinations of options/parameters and avoids longish and confusing command lines β€” an example is provided in file <datadir>/dumppat.txt. obsessed.


πŸ“ ENVIRONMENT πŸ“

the dcmpsprt utility will attempt to load DICOM data dictionaries specified in the DCMDICTPATH environment variable. by default β€” i.e. if the DCMDICTPATH environment variable is not set β€” the file <datadir>/dicom.dic will be loaded, unless the dictionary is built into the application (which is the default for Windows).

the default behavior should be preferred, and the DCMDICTPATH environment variable should only be used when alternative data dictionaries are required. DCMDICTPATH has the same format as the Unix shell PATH variable, in that a colon (":") separates entries. on Windows systems, a semicolon (";") is used as a separator. the data dictionary code will attempt to load each file specified in the DCMDICTPATH environment variable. it is an error if no data dictionary can be loaded. ⚠️


🧚 FILES 🧚

  • <etcdir>/dcmpstat.cfg, <etcdir>/printers.cfg β€” sample configuration files

🌈 SEE ALSO 🌈

  • dcmprscu(1) β€” the one who actually talks to the printer, bestie 🫢

Copyright (C) 1999-2026 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.


and that's the whole page, bestie πŸ’– this was Version 3.7.1, dated Sat Oct 17 2026 09:34:01 β€” go forth and print things, you absolute icon πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from