Link

Customise the User Interface in the Java PDF Viewer

The JPedal Viewer is a fully featured PDF Viewer with features for Viewing, Searching, Extracting and Converting PDFs. Not all features will be required for users so the Viewer uses a properties file to allow you to control its appearance and which features are present in the Viewer.

Using your own properties file

The Viewer can load properties files in three ways.

  • Specifying a location of a properties file with the “org.jpedal.Viewer.Prefs” VM argument.
    java -Dorg.jpedal.Viewer.Prefs="file://path/to/properties.xml" -jar jpedal.jar --view
    
  • Providing the properties file path to the Viewer constructors Viewer(String) or Viewer(Accessible, String). The later can be used to embed the Viewer in another application, a detailed tutorial for this can be found here.
    //Create a Viewer object with properties path specified
    Viewer viewer = new Viewer("path/to/properties.xml");
       
    //Set up the viewer for use
    viewer.setupViewer();
    
  • Otherwise, JPedal will load a file called .properties.xml in the same directory as the JPedal jar. If it is not present one with the default properties will be created for you.

The VM argument and Viewer constructors can specify a location within the jar, a server location, or from the local machine by starting the address with jar://, http://, or file://.

If no properties file is present (such as when the Viewer is first opened) the Viewers default properties will be used, and a new file is created when the Viewer closes. This new file is created either in the location specified by the VM argument, if set, or the same directory as the jar.

The Preferences Window

The JPedal Viewer has a Preferences Window that will allow you to set properties files within the Viewer (although you will need to save and restart the Viewer for all values to take effect). This window can be accessed from the menu item Edit-> Preferences (Ctrl + K).

The preferences window is divided into different views selected using the icons down the left-hand side. Each view focuses on controlling different aspects of the Viewers appearance and functionality.

Once you have set the properties you wish to use and are ready to save them you can either save them directly to the current properties file by using the OK button or to another file leaving the current settings intact using the Save As button.

Image of the preferences window displaying the Menu view

The preferences window contains a view that allows you to specify which GUI elements you wish to hide, this is the Menu view. The menu is divided into 5 segments on different tabs, each representing a different area of the Viewer. Each tab contains a tree of elements that allow you to specify individual buttons or elements to hide from view, below each of these is a button that allows you to completely remove this element from the GUI.

Image showing the names for each section of the GUI

If you wish to create your own properties file using this preferences window we recommend you use the preferences file to design the Viewer as you want it and then use Save-as to save the properties into a new file.

The properties file

The properties file is a simple xml file with a default name of .properties.xml, although if you are using the “org.jpedal.Viewer.Prefs” VM argument you can give the file any name you wish.

The properties file contains each value in a different element, each preceded by a comment explaining the properties use and value.

Properties file visible in a text editor

If you wish to create your own properties file we recommend you take the default file generated by the Viewer as a starting point and modify the file from there. You can still create your own file by only adding the properties you require, all missing properties are then added by the Viewer with their default values applied.

Below are all the properties values stored within the properties file. All these values are held in a single Properties Element except where stated.

List of Viewer Properties

  1. Recent Files
  2. Show First Time Popup
  3. Search Window Type
  4. Page Border Visibility
  5. Viewer Look and Feel
  6. Resolution
  7. Dynamic Cursor
  8. Scroll whilst dragging
  9. Display Tips On Startup
  10. Display Tips On Startup
  11. Menu Bar Elements
    1. File Menu
    2. Edit Menu
    3. View Menu
    4. Export Menu
    5. Help Menu
  12. Button Bar
  13. Display Options
  14. Navigation Bar
  15. Side Tab Bar
  16. Show Menu Bar
  17. Show Button Bar
  18. Show Navigation Bar
  19. Show Side Tab Bar
  20. Highlight Color
  21. Highlight Text Color
  22. Highlight Opacity
  23. Highlight Color Invert Mode
  24. Highlight Form Fields
  25. Highlight Form Fields Color
  26. Replace Document Text Colors
    1. Replace Document Text Colors Threshold
    2. Replacement Text Color
    3. Replacement Text and Line Art Color
  27. Replacement Page Color
  28. Replace PDF Display Color
    1. Replacement PDF Display Color
  29. Open Last Document On Viewer Start
    1. Reopen Last Document to Page
  30. Page Insets
  31. Side Tab Bar Collapse Length
  32. Side Tab Bar Expand Length
  33. Side Tab Bar Consistent Between Files
  34. Display context menu of Right Click
  35. Allow option for Mouse Wheel to scroll
  36. Set Properties to Read Only
  37. Page Turn Animation
  38. Custom Window Title
  39. Confirm Close of Viewer
  40. Set Custom Icons
  41. Display Message For OpenFX in PageFlow Display Mode
  42. Set a Default Printer
  43. Set a Default Printer Resolution
  44. Set a Default Printer Page Size
  45. Set a Printer Black List
  46. Use Hinting in True Type Fonts
  47. Text to Speech Voice Name
  48. Preview Page on Single Page Display Mode Scrolling
  49. Show Mouse Selection Box
  50. Separate Cover Pages
  51. Starting Scale
  52. Save Scaling When Viewer Closes
  53. Starting Display Mode
  54. Save View When Viewer Closes
  55. Starting Side Tab State
  56. Save Side Tab State When Viewer Closes
  57. Starting Selected Tab
  58. Save Selected Tab When Viewer Closes
  59. Starting Viewer Width
  60. Starting Viewer Height
  61. Save Viewer Size When Viewer Closes
  62. Save Side Tab Expanded Size When Viewer Closes
  63. Live Update Search Results
  64. Enhance Fractional Lines
  65. Scroll Rendering Delay
  66. Use Off-Screen Rendering
  67. Use Full Offscreen Rendering
  68. Image smoothing
  69. Image smoothing
  70. Ignore Line Widths

Recent Files

Recent files contains a list of files that have been opened recently. It can contain 5 values with the most recent being the last.

Value Recent files contains child elements that define the 5 most recently opened files with the most recent being at the bottom child.

Example

<recentfiles>
    <file name="/path/to/file.pdf"/>
</recentfiles>

Show First Time Popup

Flag to control if we should display first time popup containing information for first time users.

Value A boolean value, true if the popup should be shown.

Example

<showfirsttimepopup value="false"/>

Search Window Type

Value to specify how the Viewers search functionality should be displayed on the UI.

Value

  • 0 = External Window - Create a second window to contain the search content.
  • 1 = Side Tab Bar - Create a tab on the left tab bar to contain the search functionality.
  • 2 = Menu Bar - Create a text field on the button bar at the top of the Viewer to use for searches.

Example

<searchWindowType value="2"/>

Page Border Visibility

Control if the Page border should be visible.

Value

  • 0 = Hide the Border
  • 1 = Show the Border

Example

<borderType value="1"/>

Viewer Look and Feel

The current look and feel for the Viewer.

Value This value can be set to “SystemDefault” which will cause the Viewer to use what has already been set up. Otherwise, the value should be the class name of the look and feel you wish to use. JPedal can use any look and feel for the JVM or provided by FlatLaf For example

  • javax.swing.plaf.metal.MetalLookAndFeel
  • javax.swing.plaf.nimbus.NimbusLookAndFeel
  • com.sun.java.swing.plaf.motif.MotifLookAndFeel
  • com.sun.java.swing.plaf.windows.WindowsLookAndFeel
  • com.formdev.flatlaf.FlatLightLaf
  • com.formdev.flatlaf.FlatDarkLaf

Example

<viewerLookAndFeel value="SystemDefault"/>

Resolution

The number of pixels to be treated as an inch by the screen. This works by adding an additional multiplier to the specified scaling.

Value An non-negative Integer value.

Example

<resolution value="110"/>

Dynamic Cursor

Control if the mouse cursors appearance should be dynamic and changed based on the content it is over.

Value A boolean value, true if the cursor should dynamically change.

Example

<allowCursorToChange value="true"/>

Scroll whilst dragging

Control if the view should scroll whilst dragging mouse content.

Value A boolean value, true if the view should scroll.

Example

<autoScroll value="true"/>

Display Tips On Startup

A flag to control if tips for using the Viewer should be shown on Viewer start up.

Value A boolean value, true if the tips should be shown.

Example

<displaytipsonstartup value="false"/>

Display Tips On Startup

A flag to control if tips for using the Viewer should be shown on Viewer start up.

Value A boolean value, true if the tips should be shown.

Example

<displaytipsonstartup value="false"/>

Set the visibility of the Menu Bar. This element also contains children for each element on the Menu Bar

Value A boolean value, true displays the Menu Bar

Example

<MenuBarMenu value="true">
   ......
</MenuBarMenu>

File Menu

Set the visibility of the File Menu on the Menu Bar. This element has multiple children defining the elements present in the File Menu. The names of the elements are the names of the elements in English merged to a single word with “Menu” appended to the end if the element is for a Menu with children.

Parent This elements parent is “MenuBarMenu”

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<FileMenu value="true">
   <OpenMenu value="true">
      <Open value="true"/>
      <Openurl value="true"/>
   </OpenMenu>
   <Save value="true"/>
   <Resaveasforms value="false"/>
   <Find value="true"/>
   <Documentproperties value="true"/>
   <Signpdf value="false"/>
   <Print value="true"/>
   <Recentdocuments value="true"/>
   <Exit value="true"/>
</FileMenu>

Edit Menu

Set the visibility of the Edit Menu on the Menu Bar. This element has multiple children defining the elements present in the Edit Menu. The names of the elements are the names of the elements in English merged to a single word with “Menu” appended to the end if the element is for a Menu with children.

Parent This elements parent is “MenuBarMenu”

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<EditMenu value="true">
   <Copy value="true"/>
   <Selectall value="true"/>
   <Deselectall value="true"/>
   <Preferences value="true"/>
</EditMenu>

View Menu

Set the visibility of the View Menu on the Menu Bar. This element has multiple children defining the elements present in the View Menu. The names of the elements are the names of the elements in English merged to a single word with “Menu” appended to the end if the element is for a Menu with children.

Parent This elements parent is “MenuBarMenu”

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<ViewMenu value="true">
   <GotoMenu value="true">
      <Firstpage value="true"/>
      <Backpage value="true"/>
      <Forwardpage value="true"/>
      <Lastpage value="true"/>
      <Goto value="true"/>
      <Previousdocument value="true"/>
      <Nextdocument value="true"/>
   </GotoMenu>
   <PagelayoutMenu value="true">
      <Single value="true"/>
      <Continuous value="true"/>
      <Facing value="true"/>
      <Continuousfacing value="true"/>
      <PageFlow value="true"/>
   </PagelayoutMenu>
   <separateCover value="true"/>
   <textSelect value="true"/>
   <panMode value="true"/>
   <Fullscreen value="true"/>
</ViewMenu>

Export Menu

Set the visibility of the Export Menu on the Menu Bar. This element has multiple children defining the elements present in the Export Menu. The names of the elements are the names of the elements in English merged to a single word with “Menu” appended to the end if the element is for a Menu with children.

Parent This elements parent is “MenuBarMenu”

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<ExportMenu value="true">
   <ContentMenu value="true">
      <Images value="true"/>
      <Text value="true"/>
   </ContentMenu>
   <Bitmap value="true"/>
</ExportMenu>

Help Menu

Set the visibility of the Help Menu on the Menu Bar. This element has multiple children defining the elements present in the Help Menu. The names of the elements are the names of the elements in English merged to a single word with “Menu” appended to the end if the element is for a Menu with children.

Parent This elements parent is “MenuBarMenu”

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<HelpMenu value="true">
   <Visitwebsite value="true"/>
   <Tipoftheday value="true"/>
   <Checkupdates value="true"/>
   <About value="true"/>
   <Helpforum value="false"/>
</HelpMenu>

Button Bar

Set the visibility of the Button Bar contents at the top of the UI. This element has multiple children defining the elements present in the Button Bar.

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<ButtonsMenu value="true">
   <Openfilebutton value="true"/>
   <Savefilebutton value="false"/>
   <Printbutton value="true"/>
   <Searchbutton value="true"/>
   <Propertiesbutton value="false"/>
   <Aboutbutton value="false"/>
   <Snapshotbutton value="true"/>
   <ZoomInbutton value="true"/>
   <ZoomOutbutton value="true"/>
   <RotateLeftbutton value="true"/>
   <RotateRightbutton value="true"/>
   <Helpbutton value="false"/>
   <CursorButton value="true"/>
   <MouseModeButton value="true"/>
   <OpenSystemDefault value="false"/>
</ButtonsMenu>

Display Options

Set the visibility of the Display Options at the top of the UI. This element has multiple children defining the various display option elements.

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<DisplayOptionsMenu value="true">
   <Scalingdisplay value="true"/>
   <Rotationdisplay value="false"/>
   <Progressdisplay value="true"/>
   <Downloadprogressdisplay value="true"/>
</DisplayOptionsMenu>

Set the visibility of the Navigation Bar at the top of the UI. This element has multiple children defining the various display option elements.

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<NavigationBarMenu value="true">
   <Memorybottom value="true"/>
   <Firstbottom value="true"/>
   <Back10bottom value="true"/>
   <Backbottom value="true"/>
   <Gotobottom value="true"/>
   <Forwardbottom value="true"/>
   <Forward10bottom value="true"/>
   <Lastbottom value="true"/>
   <Singlebottom value="true"/>
   <Continuousbottom value="true"/>
   <Continuousfacingbottom value="true"/>
   <Facingbottom value="true"/>
   <PageFlowbottom value="true"/>
</NavigationBarMenu>

Side Tab Bar

Set the visibility of the Side Tab Bar at the top of the UI. This element has multiple children defining the various display option elements.

Value A boolean value, true removes this element from the Menu Bar All children also accept a Boolean to control which elements are included.

Example

<SideTabBarMenu value="true">
   <Pagetab value="true"/>
   <Bookmarkstab value="true"/>
   <Layerstab value="true"/>
   <Signaturestab value="true"/>
   <AnnotationTab value="true"/>
   <AttachmentsTab value="true"/>
</SideTabBarMenu>

Show Menu Bar

Control of the Menu Bar should be visible or not including the panel it is placed upon.

Value A boolean value, true if the menu bar should be shown.

Example

<ShowMenubar value="true"/>

Show Button Bar

Control of the Button Bar should be visible or not including the panel it is placed upon.

Value A boolean value, true if the button bar should be shown.

Example

<ShowButtons value="true"/>

Show Navigation Bar

Control of the Navigation Bar should be visible or not including the panel it is placed upon.

Value A boolean value, true if the navigation bar should be shown.

Example

<ShowNavigationbar value="true"/>

Show Side Tab Bar

Control of the Side Tab Bar should be visible or not including the panel it is placed upon.

Value A boolean value, true if the side tab bar should be shown.

Example

<ShowSidetabbar value="true"/>

Highlight Color

Set the color of the for page text and images.

Value An Integer representing an RGB color obtained by using Color.getRGB().

Example

<highlightBoxColor value="-16777216"/>

Highlight Text Color

Set the color of the text when highlighted on a page. This is in addition to the Highlight Color which is the color of the area around the text.

Value An Integer representing an RGB color obtained by using Color.getRGB().

Example

<highlightTextColor value="16750900"/>

Highlight Opacity

Set the opacity/transparency of the highlights using a float value/

Value An Float representing opacity where a value of 1 is full Opacity and 0 is full transparency.

Example

<highlightComposite value="0.35"/>

Highlight Color Invert Mode

Ignore all over highlight options and instead inverts all colors that fall within the highlighted area.

Value A boolean value, true if the highlights should use the inverse colors.

Example

<invertHighlights value="false"/>

Highlight Form Fields

Highlight editable form fields to make them more visible on the page

Value A boolean value, true if the editable form fields are highlighted.

Example

<highlightFormFields value="false"/>

Highlight Form Fields Color

Specify the color to be used for highlighting form fields when the property “highlightFormFields” is set to true.

Value An Integer representing an RGB color obtained by using Color.getRGB().

Example

<formFieldsHighlightColor value="858356428"/>

Replace Document Text Colors

A flag to control if text in the document should have its color replaced with the value specified by the vfgColor (see below.)
This can be useful in making page content easier to read, making it more accessible.

Value A boolean value, true if the text color should be replaced.

Example

<replaceDocumentTextColors value="false"/>

Replace Document Text Colors Threshold

A value under which all RGB component for a text color must be below in order for replacement text colors to be applied. This can be useful in making page content easier to read, making it more accessible.

Value A non-negative Integer value.

Example

<TextColorThreshold value="255"/>

Replacement Text Color

Set the replacement color for text on the page when “replaceDocumentTextColors” is set to true.
This can be useful in making page content easier to read, making it more accessible.

Value An Integer representing an RGB color obtained by using Color.getRGB().

Example

<vfgColor value="0"/>

Replacement Text and Line Art Color

Set if both shapes/line art should have their color changes along with the pages text content. This can be useful in making page content easier to read, making it more accessible.

Value A boolean value, true if the text color should be replaced.

Example

<changeTextAndLineart value="false"/>

Replacement Page Color

Set the color for PDF pages instead of using the default white.
This can be useful in making page content easier to read, making it more accessible.

Value An Integer representing an RGB color obtained by using Color.getRGB().

Example

<vbgColor value="16777215"/>

Replace PDF Display Color

Set is the background of the PDF display panel should be replaced with a user defined setting. This can be useful in making page content easier to read, making it more accessible.

Value A boolean value, true if the PDF panel background color should be replaced.

Example

<replacePdfDisplayBackground value="false"/>

Replacement PDF Display Color

Set the color for PDF display panel instead of using the default.
This can be useful in making page content easier to read, making it more accessible.

Value An Integer representing an RGB color obtained by using Color.getRGB().

Example

<pdfDisplayBackground value="16777215"/>

Open Last Document On Viewer Start

A flag to control if the Viewer should reopen the last document (from the recent files list) when the Viewer first opens.

Value A boolean value, true if the last viewed PDF should be opened.

Example

<pdfDisplayBackground value="16777215"/>

Reopen Last Document to Page

The page to open to when the Viewer opens the last opened document. This is set by the Viewer when closed.

Value A non-negative Integer value for the page that should be opened.

Example

<lastDocumentPage value="1"/>

Page Insets

Specify how large the insets from the edge of the display panel should be for PDF pages.

Value A non-negative Integer value for the inset length.

Example

<pageInsets value="25"/>

Side Tab Bar Collapse Length

This sets the split pane divider position to be used when clicking to collapse the side tab bar panel

Value A non-negative Integer value for the divider position.

Example

<sideTabBarCollapseLength value="32"/>

Side Tab Bar Expand Length

This sets the split pane divider position to be used when clicking to expand the side tab bar panel

Value A non-negative Integer value for the divider position.

Example

<sideTabBarExpandLength value="190"/>

Side Tab Bar Consistent Between Files

Flag that the side tab bars divider position should be unchanged when new files are loaded.
This overrides the property “startSideTabOpen”

Value A boolean value, true the side tab bar divider will remain unchanged.

Example

<consistentTabBar value="false"/>

Display context menu of Right Click

Flag to control if a context menu should be displayed when right-clicking on the PDF page. This menu provides options for text/image extraction, select/deselect all text, and copy text.

Value A boolean value, true the context menu will be displayed on right click

Example

<allowRightClick value="true"/>

Allow option for Mouse Wheel to scroll

A flag to allow the mouse wheel to increase/decrease the scaling values by holding the Ctrl key (Windows/Linux) or Command Key (Mac)

Value A boolean value, true the mouse wheel can alter the scaling values

Example

<allowScrollwheelZoom value="true"/>

Set Properties to Read Only

Flag the properties file as read-only. This does not set the file as read-only to the underlying operating system but it does prevent the Preferences window within the Viewer from saving any changes.
This means any values that live update can still be used but the state is not saved.

Value A boolean value, true the file can not be updated by the Viewer.

Example

<readOnly value="false"/>

Page Turn Animation

Flag to allow page turning animations in the Facing Display Mode. These animation and controls allow you to drag pages to change to the next page. The animation gives teh same appears as a books pages being turned.

Value A boolean value, true the enable page turn animation

Example

<enhancedFacingMode value="true"/>

Custom Window Title

This value replaces the window title in the Viewers window. If it is empty then the window title is not modified.

Value A String value to replace the window title.

Example

<windowTitle value=""/>

Confirm Close of Viewer

A flag to display a popup to confirm if the user wished to close the Viewer when closing.

Value A boolean value, true a confirmation popup is displayed when closing the Viewer

Example

<confirmClose value="false"/>

Set Custom Icons

This property allows you to replace the Viewers Icons with another set stored within the Jar including your own. JPedal comes with 2 icon sets.

  • Dark Icons - /org/jpedal/examples/viewer/res/dark/
  • Classic Icons - /org/jpedal/examples/viewer/res/

Value A boolean value, true a confirmation popup is displayed when closing the Viewer

Example

<iconLocation value="/org/jpedal/examples/viewer/res/"/>

Display Message For OpenFX in PageFlow Display Mode

This property controls if we should display a popup when attempting to open PageFlow Display Mode without JavaFX installed.

Value A boolean value, if true the Viewer displays a popup instructing to install OpenFX for PageFlow Mode.

Example

<showpageflowmessage value="true"/>

Set a Default Printer

This property will select the specified Printer (if installed) as the default printer in the print dialog. Otherwise, the dialog will use the system default printer.

Value A String value representing the name of the Printer to use as default

Example

<defaultPrinter value=""/>

Set a Default Printer Resolution

This property will select the specified Resolution (if available) as the default resolution in the print dialog. Otherwise, the dialog will use the printer default resolution.

Value A String value representing the value of the resolution

Example

<defaultDPI value="600"/>

Set a Default Printer Page Size

This property will select the specified Page Size (if available) as the default page size in the print dialog. Otherwise, the dialog will use the printer default page size. If the value is not set or recognised for the printer then the printer default is used.

Value A String value representing the value of the page size

Example

<defaultPagesize value=""/>

Set a Printer Black List

This property is a comma separated list of printer names that the printer dialog should ignore.

Value A String value representing a list of Printer names, separated by commas.

Example

<printerBlacklist value=""/>

Use Hinting in True Type Fonts

True type fonts contain some additional hints that may help in rendering some fonts.

Value A boolean value, true uses true type font hinting

Example

<useHinting value="false"/>

Text to Speech Voice Name

The name of the voice to use with Text To Speech. This functionality is provided an interface for you to implement your own functionality.

Value A String value denoting the name of the voice to be used.

Example

<voice value="kevin16(general domain)"/>

Preview Page on Single Page Display Mode Scrolling

A flag to control if a Page Preview should be displayed whilst scroll in single page mode.

Value A boolean value, true displays the preview whilst scaling.

Example

<previewOnSingleScroll value="true"/>

Show Mouse Selection Box

A flag to control if a box should be drawn around the area dragged by the mouse in addition to any other forms of highlighting.

Value A boolean value, true displays the mouse selection box

Example

<showMouseSelectionBox value="false"/>

Separate Cover Pages

A flag to control if Facing and Continuous Facing Display Modes should display the first page along on its row. Effectively pages run left to right, when this property is true the odd number pages are on the right, otherwise they are ont he left.

Value A boolean value, true displays the first page on its own row

Example

<separateCoverOn value="true"/>

Starting Scale

This property specifies a scaling to be used when opening the Viewer.

Value A String value that can be either any of the values listed in the Viewers scaling field.

Example

<startScaling value="Fit Page"/>

Save Scaling When Viewer Closes

This property specifies if the scaling value should be saved on close to be reused when the Viewer next opens.

Value A boolean value, if true the scaling is saved between sessions

Example

<trackScaling value="false"/>

Starting Display Mode

This property specifies a display mode to be used when opening the Viewer.

Value A String value that can be either of the following integer values

  • 1 = Single Page Mode
  • 2 = Continuous Mode
  • 3 = Continuous Facing Mode
  • 4 = Facing Mode
  • 5 = PageFlow Mode

Example

<startView value="1"/>

Save View When Viewer Closes

This property specifies if the display mode value should be saved on close to be reused when the Viewer next opens.

Value A boolean value, if true the display mode is saved between sessions

Example

<trackView value="false"/>

Starting Side Tab State

This property specifies if the side tab should be expanded or collapsed when opening the Viewer.

Value A boolean value, if true the side tab bar should be expanded

Example

<startSideTabOpen value="false"/>

Save Side Tab State When Viewer Closes

This property specifies if the side tab bar state should be saved on close to be reused when the Viewer next opens.

Value A boolean value, if true the side tab bar state is saved between sessions

Example

<trackSideTabOpen value="false"/>

Starting Selected Tab

This property specifies which tab should be the tab to open when the Side Tab Bar expands

Value A String value representing the name of the tab in the Side Tab Bar

Example

<startSelectedSideTab value=""/>

Save Selected Tab When Viewer Closes

This property specifies if the currently selected tab should be saved on close to be reused when the Viewer next opens.

Value A boolean value, if true the selected tab is saved between sessions

Example

<trackSelectedSideTab value="false"/>

Starting Viewer Width

This property specifies the Viewers Width when it is first opened.

Value A String value representing the width to use for the Viewer.

Example

<startViewerWidth value="960"/>

Starting Viewer Height

This property specifies the Viewers Height when it is first opened.

Value A String value representing the height to use for the Viewer.

Example

<startViewerHeight value="540"/>

Save Viewer Size When Viewer Closes

This property specifies if the Viewer size should be saved on close to be reused when the Viewer next opens.

Value A boolean value, if true the viewer size is saved between sessions

Example

<trackViewerSize value="false"/>

Save Side Tab Expanded Size When Viewer Closes

This property specifies if the Side Tab Bar expanded size should be saved on close to be reused when the Viewer next opens.

Value A boolean value, if true the side tab expanded size is saved between sessions

Example

<trackSideTabExpandedSize value="false"/>

Live Update Search Results

This property specifies if the Viewer should live update search results for wait till completion to show results.

Value A boolean value, if true then search results will live update

Example

<updateResultsDuringSearch value="true"/>

Enhance Fractional Lines

Set if lines that would render at a stroke width of less than 1 should instead be rendered with a width of 1.
This will prevent lines becoming so small that they are no longer visible.

Value A boolean value, if true then strokes width will not be displayed at less than 1 pixel in width.

Example

<enhanceFractionalLines value="true"/>

Scroll Rendering Delay

Set a delay for rendering any multipage view when scrolling. This is to prevent all visible pages rendering until scrolling as stopped for a given amount of time.

Value A String value representing the number of milliseconds the scroll must pause before rendering page content.

Example

<pageMoveDelay value="500"/>

Use Off-Screen Rendering

Set if off-screen rendering techniques should be used. These techniques render the visible portion of the page to an in memory image in order to make interactive feature such as text selection and highlighting for responsive.
This feature trades increased memory usage for faster interaction.

Value A boolean value, if true then off-screen rendering is used.

Example

<useOffScreenRendering value="true"/>

Use Full Offscreen Rendering

Set if full off-screen rendering techniques should be used. This functions as the Off-Screen Rendering option but stores the entire page in memory that also improves the responsiveness of scrolling on pages larger than the display area.
This feature trades increased memory usage for faster interaction.

Value A boolean value, if true then full off-screen rendering is used.

Example

<fullOffScreenRendering value="true"/>

Image smoothing

Set if image smoothing techniques should be used in order to improve appearance of image content.

Value A boolean value, if true then image smoothing is used.

Example

<useSmoothImage value="true"/>

Image smoothing

Set if image smoothing techniques should be used in order to improve appearance of image content.

Value A boolean value, if true then image smoothing is used.

Example

<useSmoothImage value="true"/>

Ignore Line Widths

Set if shape strokes should have its width ignored and instead always rendered to be 1px thick regardless of the display scaling.

Value A boolean value, if true then line widths are ignored.

Example

<hideLineWeights value="false"/>

Locking the properties

Any user with access to the preferences window can change values in the properties file.

In order to prevent this we suggest you disable the preferences element in your properties file and ensure the properties file is stored in a place the user can not have access such as storing the preferences file within your jar.

However, please note that the recent-documents functionality is handled by storing file names in the properties file. If the file is stored so that it can’t be updated (such as within the jar or making the file read-only) the recent-documents values can’t be updated so values will not be saved when the Viewer closes.

Have more questions? Ask us on Discord