Package javafx.print

Class JobSettings

java.lang.Object
javafx.print.JobSettings

public final class JobSettings extends Object
The JobSettings class encapsulates most of the configuration of a print job. Applications do not - and cannot - directly create or set a JobSettings instance. One is already installed on the print job when it is created.

As documented on PrinterJob, the JobSettings installed on that job will initially reflect the current default settings for the initially associated printer for that job.

The JobSettings delegate then remains the same for the life of the job, and will have it's member properties updated to be compatible with a change in Printer on the job. For example as a result of a user interaction via a platform's dialog. An incompatible setting will usually cause the setting to revert to the default for the new printer.

Any implicit or explicit updates to settings resulting from the user interaction with dialog will be propagated and visible to the application once the user approves the settings by dismissing the dialog using its "accept" option.

For most printing applications it is likely sufficient to let the user set the desired options and have these propagated to the job. For applications which need them, there are setter and getter methods for the individual options, which are also available as properties, and change in values of settings may be monitored and updated via these properties.

Not all values of settings are available on all printers. For example a printer may not support two-sided printing. See the Printer class for how to to determine supported settings.

Since:
JavaFX 8.0
  • Property Details

    • jobName

      public final StringProperty jobNameProperty
      StringProperty representing the name of a job.
      See Also:
    • outputFile

      public final StringProperty outputFileProperty
      A StringProperty representing the name of a filesystem file, to which the platform printer driver should spool the rendered print data.

      Applications can use this to programmatically request print-to-file behavior where the native print system is capable of spooling the output to a filesystem file, rather than the printer device.

      This is often useful where the printer driver generates a format such as Postscript or PDF, and the application intends to distribute the result instead of printing it, or for some other reason the application does not want physical media (paper) emitted by the printer.

      The default value is an empty string, which is interpreted as unset, equivalent to null, which means output is sent to the printer. So in order to reset to print to the printer, clear the value of this property by setting it to null or an empty string.

      Additionally if the application displays a printer dialog which allows the user to specify a file destination, including altering an application specified file destination, the value of this property will reflect that user-specified choice, including clearing it to reset to print to the printer, if the user does so.

      If the print system does not support print-to-file, then this setting will be ignored.

      If the specified name specifies a non-existent path, or does not specify a user writable file, when printing the results are platform-dependent. Possible behaviours might include replacement with a default output file location, printing to the printer instead, or a platform printing error. If a SecurityManager is installed and it denies access to the specified file a SecurityException may be thrown.

      Default value:
      an empty string
      Since:
      17
      See Also:
    • copies

      public final IntegerProperty copiesProperty
      IntegerProperty representing the number of copies of the job to print.
      See Also:
    • pageRanges

      public final ObjectProperty pageRangesProperty
      An ObjectProperty whose value represents the job pages to print as an array of PageRange. A null values mean print all pages. Otherwise it must be a non-overlapping array of PageRange instances ordered in increasing page number. Page numbers start from 1 (one). An empty array is considered equivalent to a null array.

      An illegal or unsupported (by the printer) set of page ranges will be ignored.

      Ranges which exceed beyond the number of pages imaged by the job during printing do not cause any error.

      See Also:
    • printSides

      public final ObjectProperty<PrintSides> printSidesProperty
      Property representing an instance of PrintSides.
      See Also:
    • collation

      public final ObjectProperty<Collation> collationProperty
      Property representing an instance of Collation. Collation determines how sheets are sorted when multiple copies of a document are printed. As such it is only relevant if 2 or more copies of a document with 2 more sheets are printed. A sheet is the physical media, so documents with 2 pages that are printed N-up, or double-sided may still have only one sheet. A collated print job produces documents with sheets of a document sorted in sequence. An uncollated job collects together the multiple copies of the same sheet. Uncollated (false) is the typical default value.
      See Also:
    • printColor

      public final ObjectProperty<PrintColor> printColorProperty
      Property representing an instance of PrintColor. If a null value is set it is ignored.
      See Also:
    • printQuality

      public final ObjectProperty<PrintQuality> printQualityProperty
      Property representing an instance of PrintQuality.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      See Also:
    • printResolution

      public final ObjectProperty<PrintResolution> printResolutionProperty
      Property representing an instance of PrintResolution. A null value is ignored.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      See Also:
    • paperSource

      public final ObjectProperty<PaperSource> paperSourceProperty
      Property representing an instance of PaperSource. A null value is ignored.
      See Also:
    • pageLayout

      public final ObjectProperty<PageLayout> pageLayoutProperty
      Property representing an instance of PageLayout. Setting a null value is ignored.
      See Also:
  • Method Details

    • jobNameProperty

      public final StringProperty jobNameProperty()
      StringProperty representing the name of a job.
      Returns:
      the name of a job
      See Also:
    • getJobName

      public final String getJobName()
      Gets the value of the jobName property.
      Property description:
      StringProperty representing the name of a job.
      Returns:
      the value of the jobName property
      See Also:
    • setJobName

      public final void setJobName(String name)
      Sets the value of the jobName property.
      Property description:
      StringProperty representing the name of a job.
      Parameters:
      name - the value for the jobName property
      See Also:
    • outputFileProperty

      public final StringProperty outputFileProperty()
      A StringProperty representing the name of a filesystem file, to which the platform printer driver should spool the rendered print data.

      Applications can use this to programmatically request print-to-file behavior where the native print system is capable of spooling the output to a filesystem file, rather than the printer device.

      This is often useful where the printer driver generates a format such as Postscript or PDF, and the application intends to distribute the result instead of printing it, or for some other reason the application does not want physical media (paper) emitted by the printer.

      The default value is an empty string, which is interpreted as unset, equivalent to null, which means output is sent to the printer. So in order to reset to print to the printer, clear the value of this property by setting it to null or an empty string.

      Additionally if the application displays a printer dialog which allows the user to specify a file destination, including altering an application specified file destination, the value of this property will reflect that user-specified choice, including clearing it to reset to print to the printer, if the user does so.

      If the print system does not support print-to-file, then this setting will be ignored.

      If the specified name specifies a non-existent path, or does not specify a user writable file, when printing the results are platform-dependent. Possible behaviours might include replacement with a default output file location, printing to the printer instead, or a platform printing error. If a SecurityManager is installed and it denies access to the specified file a SecurityException may be thrown.

      Default value:
      an empty string
      Returns:
      the name of a printer spool file
      Since:
      17
      See Also:
    • getOutputFile

      public final String getOutputFile()
      Gets the value of the outputFile property.
      Property description:
      A StringProperty representing the name of a filesystem file, to which the platform printer driver should spool the rendered print data.

      Applications can use this to programmatically request print-to-file behavior where the native print system is capable of spooling the output to a filesystem file, rather than the printer device.

      This is often useful where the printer driver generates a format such as Postscript or PDF, and the application intends to distribute the result instead of printing it, or for some other reason the application does not want physical media (paper) emitted by the printer.

      The default value is an empty string, which is interpreted as unset, equivalent to null, which means output is sent to the printer. So in order to reset to print to the printer, clear the value of this property by setting it to null or an empty string.

      Additionally if the application displays a printer dialog which allows the user to specify a file destination, including altering an application specified file destination, the value of this property will reflect that user-specified choice, including clearing it to reset to print to the printer, if the user does so.

      If the print system does not support print-to-file, then this setting will be ignored.

      If the specified name specifies a non-existent path, or does not specify a user writable file, when printing the results are platform-dependent. Possible behaviours might include replacement with a default output file location, printing to the printer instead, or a platform printing error. If a SecurityManager is installed and it denies access to the specified file a SecurityException may be thrown.

      Default value:
      an empty string
      Returns:
      the value of the outputFile property
      Since:
      17
      See Also:
    • setOutputFile

      public final void setOutputFile(String filePath)
      Sets the value of the outputFile property.
      Property description:
      A StringProperty representing the name of a filesystem file, to which the platform printer driver should spool the rendered print data.

      Applications can use this to programmatically request print-to-file behavior where the native print system is capable of spooling the output to a filesystem file, rather than the printer device.

      This is often useful where the printer driver generates a format such as Postscript or PDF, and the application intends to distribute the result instead of printing it, or for some other reason the application does not want physical media (paper) emitted by the printer.

      The default value is an empty string, which is interpreted as unset, equivalent to null, which means output is sent to the printer. So in order to reset to print to the printer, clear the value of this property by setting it to null or an empty string.

      Additionally if the application displays a printer dialog which allows the user to specify a file destination, including altering an application specified file destination, the value of this property will reflect that user-specified choice, including clearing it to reset to print to the printer, if the user does so.

      If the print system does not support print-to-file, then this setting will be ignored.

      If the specified name specifies a non-existent path, or does not specify a user writable file, when printing the results are platform-dependent. Possible behaviours might include replacement with a default output file location, printing to the printer instead, or a platform printing error. If a SecurityManager is installed and it denies access to the specified file a SecurityException may be thrown.

      Default value:
      an empty string
      Parameters:
      filePath - the value for the outputFile property
      Since:
      17
      See Also:
    • copiesProperty

      public final IntegerProperty copiesProperty()
      IntegerProperty representing the number of copies of the job to print.
      Returns:
      the number of copies of the job to print
      See Also:
    • getCopies

      public final int getCopies()
      Gets the value of the copies property.
      Property description:
      IntegerProperty representing the number of copies of the job to print.
      Returns:
      the value of the copies property
      See Also:
    • setCopies

      public final void setCopies(int nCopies)
      Sets the value of the copies property.
      Property description:
      IntegerProperty representing the number of copies of the job to print.
      Parameters:
      nCopies - the value for the copies property
      See Also:
    • pageRangesProperty

      public final ObjectProperty pageRangesProperty()
      An ObjectProperty whose value represents the job pages to print as an array of PageRange. A null values mean print all pages. Otherwise it must be a non-overlapping array of PageRange instances ordered in increasing page number. Page numbers start from 1 (one). An empty array is considered equivalent to a null array.

      An illegal or unsupported (by the printer) set of page ranges will be ignored.

      Ranges which exceed beyond the number of pages imaged by the job during printing do not cause any error.

      Returns:
      the value presents the job pages to print as an array of PageRange
      See Also:
    • getPageRanges

      public final PageRange[] getPageRanges()
      Gets the value of the pageRanges property.
      Property description:
      An ObjectProperty whose value represents the job pages to print as an array of PageRange. A null values mean print all pages. Otherwise it must be a non-overlapping array of PageRange instances ordered in increasing page number. Page numbers start from 1 (one). An empty array is considered equivalent to a null array.

      An illegal or unsupported (by the printer) set of page ranges will be ignored.

      Ranges which exceed beyond the number of pages imaged by the job during printing do not cause any error.

      Returns:
      the value of the pageRanges property
      See Also:
    • setPageRanges

      public final void setPageRanges(PageRange... pages)
      The range of pages to print as an array of PageRange. The use of varargs means the common case of a single range can be auto-boxed. ((PageRange[])null) always means all pages however since this is the default it is less likely to be used. See pageRangesProperty() for more details.
      Parameters:
      pages - null or a varargs array as specified above
    • printSidesProperty

      public final ObjectProperty<PrintSides> printSidesProperty()
      Property representing an instance of PrintSides.
      Returns:
      an instance of PrintSides
      See Also:
    • getPrintSides

      public final PrintSides getPrintSides()
      Gets the value of the printSides property.
      Property description:
      Property representing an instance of PrintSides.
      Returns:
      the value of the printSides property
      See Also:
    • setPrintSides

      public final void setPrintSides(PrintSides sides)
      Sets the value of the printSides property.
      Property description:
      Property representing an instance of PrintSides.
      Parameters:
      sides - the value for the printSides property
      See Also:
    • collationProperty

      public final ObjectProperty<Collation> collationProperty()
      Property representing an instance of Collation. Collation determines how sheets are sorted when multiple copies of a document are printed. As such it is only relevant if 2 or more copies of a document with 2 more sheets are printed. A sheet is the physical media, so documents with 2 pages that are printed N-up, or double-sided may still have only one sheet. A collated print job produces documents with sheets of a document sorted in sequence. An uncollated job collects together the multiple copies of the same sheet. Uncollated (false) is the typical default value.
      Returns:
      an instance of Collation
      See Also:
    • getCollation

      public final Collation getCollation()
      Gets the value of the collation property.
      Property description:
      Property representing an instance of Collation. Collation determines how sheets are sorted when multiple copies of a document are printed. As such it is only relevant if 2 or more copies of a document with 2 more sheets are printed. A sheet is the physical media, so documents with 2 pages that are printed N-up, or double-sided may still have only one sheet. A collated print job produces documents with sheets of a document sorted in sequence. An uncollated job collects together the multiple copies of the same sheet. Uncollated (false) is the typical default value.
      Returns:
      the value of the collation property
      See Also:
    • setCollation

      public final void setCollation(Collation collation)
      Sets the value of the collation property.
      Property description:
      Property representing an instance of Collation. Collation determines how sheets are sorted when multiple copies of a document are printed. As such it is only relevant if 2 or more copies of a document with 2 more sheets are printed. A sheet is the physical media, so documents with 2 pages that are printed N-up, or double-sided may still have only one sheet. A collated print job produces documents with sheets of a document sorted in sequence. An uncollated job collects together the multiple copies of the same sheet. Uncollated (false) is the typical default value.
      Parameters:
      collation - the value for the collation property
      See Also:
    • printColorProperty

      public final ObjectProperty<PrintColor> printColorProperty()
      Property representing an instance of PrintColor. If a null value is set it is ignored.
      Returns:
      an instance of PrintColor
      See Also:
    • getPrintColor

      public final PrintColor getPrintColor()
      Gets the value of the printColor property.
      Property description:
      Property representing an instance of PrintColor. If a null value is set it is ignored.
      Returns:
      the value of the printColor property
      See Also:
    • setPrintColor

      public final void setPrintColor(PrintColor color)
      Sets the value of the printColor property.
      Property description:
      Property representing an instance of PrintColor. If a null value is set it is ignored.
      Parameters:
      color - the value for the printColor property
      See Also:
    • printQualityProperty

      public final ObjectProperty<PrintQuality> printQualityProperty()
      Property representing an instance of PrintQuality.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      Returns:
      an instance of PrintQuality
      See Also:
    • getPrintQuality

      public final PrintQuality getPrintQuality()
      Gets the value of the printQuality property.
      Property description:
      Property representing an instance of PrintQuality.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      Returns:
      the value of the printQuality property
      See Also:
    • setPrintQuality

      public final void setPrintQuality(PrintQuality quality)
      Sets the value of the printQuality property.
      Property description:
      Property representing an instance of PrintQuality.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      Parameters:
      quality - the value for the printQuality property
      See Also:
    • printResolutionProperty

      public final ObjectProperty<PrintResolution> printResolutionProperty()
      Property representing an instance of PrintResolution. A null value is ignored.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      Returns:
      an instance of PrintResolution
      See Also:
    • getPrintResolution

      public final PrintResolution getPrintResolution()
      Gets the value of the printResolution property.
      Property description:
      Property representing an instance of PrintResolution. A null value is ignored.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      Returns:
      the value of the printResolution property
      See Also:
    • setPrintResolution

      public final void setPrintResolution(PrintResolution resolution)
      Sets the value of the printResolution property.
      Property description:
      Property representing an instance of PrintResolution. A null value is ignored.

      Note that quality and resolution are overlapping concepts. Therefore a printer may support setting one, or the other but not both. Applications setting these programmatically should query both properties and select appropriately from the supported values. If a printer supports non-standard values, code likely cannot distinguish the printer's interpretation of these values and it is safest to stick to selecting a standard value that matches the requirement.

      Parameters:
      resolution - the value for the printResolution property
      See Also:
    • paperSourceProperty

      public final ObjectProperty<PaperSource> paperSourceProperty()
      Property representing an instance of PaperSource. A null value is ignored.
      Returns:
      an instance of PaperSource
      See Also:
    • getPaperSource

      public final PaperSource getPaperSource()
      Gets the value of the paperSource property.
      Property description:
      Property representing an instance of PaperSource. A null value is ignored.
      Returns:
      the value of the paperSource property
      See Also:
    • setPaperSource

      public final void setPaperSource(PaperSource value)
      Sets the value of the paperSource property.
      Property description:
      Property representing an instance of PaperSource. A null value is ignored.
      Parameters:
      value - the value for the paperSource property
      See Also:
    • pageLayoutProperty

      public final ObjectProperty<PageLayout> pageLayoutProperty()
      Property representing an instance of PageLayout. Setting a null value is ignored.
      Returns:
      an instance of PageLayout
      See Also:
    • getPageLayout

      public final PageLayout getPageLayout()
      Gets the value of the pageLayout property.
      Property description:
      Property representing an instance of PageLayout. Setting a null value is ignored.
      Returns:
      the value of the pageLayout property
      See Also:
    • setPageLayout

      public final void setPageLayout(PageLayout pageLayout)
      Sets the value of the pageLayout property.
      Property description:
      Property representing an instance of PageLayout. Setting a null value is ignored.
      Parameters:
      pageLayout - the value for the pageLayout property
      See Also: