Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ipptransform: Add a way ("--list-defaults" option?) to report the default values used for unspecified options #107

Open
wifiprintguy opened this issue Feb 28, 2025 · 4 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@wifiprintguy
Copy link

wifiprintguy commented Feb 28, 2025

Is your feature request related to a problem? Please describe.
A user has no way of knowing what default values ipptransform will use unless they use it and inspect the output. One would assume, for instance, that if the input document uses US Letter, the output will also use US Letter, but that isn't currently the case, as is described in Issue #102. So having a way for ipptransform to report its defaults would be helpful.

Describe the solution you'd like
Add a new option like "--list-defaults" (you pick the name - what its called isn't important). or perhaps extend an existing option like "--help", that will output the default values used for all the named options supplied with the "-o" option, and also the "-r" (Resolution), "-s" (backside coordinate system), and "-t" (output color space and bit depth). One would use it like so:

$ ipptransform --list-defaults

If these can vary based on output format, then being able to specify an output format as well could be useful. Something like:

$ ipptransform --list-defaults -m image/pwg-raster

Describe alternatives you've considered
The only alternative is to just try it and see if you can tell what ipptransform is doing.

Additional context
n/a

@michaelrsweet
Copy link
Member

Hmm, I wonder if logging which values are getting used as debug messages to stderr would be sufficient? I dislike another option just because it means doing the same work twice...

@michaelrsweet michaelrsweet self-assigned this Feb 28, 2025
@michaelrsweet michaelrsweet added the enhancement New feature or request label Feb 28, 2025
@michaelrsweet michaelrsweet added this to the Future milestone Feb 28, 2025
@wifiprintguy
Copy link
Author

Could you add this info to the --help output?

@michaelrsweet
Copy link
Member

The --help output already says a lot:

Usage: ipptransform [OPTIONS] FILENAME [ ... FILENAME]
Options:
--help                         Show this help
--version                      Show the program version
-d DEVICE-URI                  Specify the output device
-f OUTPUT-FILENAME             Specify the output file
-i INPUT/FORMAT                Specify the input format
-m OUTPUT/FORMAT               Specify the output format
-o NAME=VALUE                  Specify named options
-r RESOLUTION[,...]            Specify supported resolutions
-s SHEET-BACK                  Specify back side transform
-t TYPE[,...]                  Specify color spaces and bit depths
-v                             Be verbose
Device URIs:
socket://ADDRESS[:PORT]        Use JetDirect/AppSocket protocol
ipp://ADDRESS[:PORT]/RESOURCE  Use Internet Printing Protocol
ipps://ADDRESS[:PORT]/RESOURCE Use Internet Printing Protocol over HTTPS
Input Formats:
application/pdf                Portable Document Format (PDF) document
image/jpeg                     Joint Photographic Experts Group (JPEG) image
image/png                      Portable Network Graphics (PNG) image
image/pwg-raster               PWG Raster Format document
text/plain                     Plain text document
Output Formats:
application/pdf                Portable Document Format (PDF) document
applications/postscript        Adobe PostScript document
application/vnd.hp-pcl         HP Page Control Language (PCL) document
image/pwg-raster               PWG Raster Format document
image/urf                      Apple raster document
Name-Values:
copies=N                       Set number of copies
force-front-side=PAGE-LIST     Force numbered pages to begin on a front side
image-orientation=ORIENT       Set the rotation of each page image
imposition-template=booklet    Impose pages for a folded booklet
job-error-sheet={SPEC}         Enable error reporting sheets
job-pages-per-set=N            Specify the number of pages per set for raster documents
job-sheet-message=MESSAGE      Set a message for the banner page
job-sheets=NAME                Enable banner pages
job-sheets-col={SPEC}          Enable banner pages
media=SIZENAME                 Set the output media size
media-col={SPEC}               Set the output media details
multiple-document-handling=separate-documents-collated-copies
                               Produce collated copies of each file
multiple-document-handling=separate-documents-uncollated-copies
                               Produce uncollated copies of each file
multiple-document-handling=single-document
                               Produce collated copies of all files
multiple-document-handling=single-document-new-sheet
                               Produce collated copies of all files starting on a new sheet
number-up=N                    Set the number of input page per output page
orientation-requested=ORIENT   Set the orientation of the output
overrides={SPEC}               Set per-page overrides
page-delivery=ORDER            Set output order
page-ranges=RANGES             Set page ranges for printing
print-color-mode=MODE          Set color mode for printing
print-quality=QUALITY          Set print quality
print-scaling=SCALING          Set scaling mode
printer-resolution=RESOLUTION  Set output resolution
separator-sheets={SPEC}        Insert blank sheets between files
sides=SIDES                    Set simplex or duplex printing
x-image-position=POSITION      Set relative horizontal position
x-image-shift=OFFSET           Set relative horizontal offset
x-side1-image-shift=OFFSET     Set relative horizontal offset for front sides
x-side2-image-shift=OFFSET     Set relative horizontal offset for back sides
y-image-position=POSITION      Set relative vertical position
y-image-shift=OFFSET           Set relative vertical offset
y-side1-image-shift=OFFSET     Set relative vertical offset for front sides
y-side2-image-shift=OFFSET     Set relative vertical offset for back sides
Resolutions:
NNNdpi                         Symmetric resolution in dots-per-inch
NNNxNNNdpi                     Asymmetric resolution in dots-per-inch
Sheet Backs:
flipped                        Flip back side horizontally or vertically
manual-tumble                  Rotate back side for short-edge duplex
normal                         Do not transform back side
rotated                        Rotate back side for long-edge duplex
Types:
adobe-rgb_8                    24-bit AdobeRGB
adobe-rgb_16                   48-bit AdobeRGB
black_1                        1-bit black
black_8                        8-bit black
cmyk_8                         32-bit CMYK
sgray_1                        1-bit grayscale
sgray_8                        8-bit grayscale
srgb_8                         24-bit sRGB

@wifiprintguy
Copy link
Author

How it gets done is less important to me than that it is possible for ipptransform to list its defaults somehow. I shouldn't have been so prescriptive with how this would be done. I'll change the title and description (if I can) to reflect this.

@wifiprintguy wifiprintguy changed the title ipptransform: Add a "--list-defaults" option to report the default values used for unspecified options ipptransform: Add a way ("--list-defaults" option?) to report the default values used for unspecified options Mar 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants