com.lowagie.text.pdf.interfaces

## Interface PdfViewerPreferences

All Known Implementing Classes:
  FdfReader, FdfWriter.Wrt, PdfCopy, PdfCopyFields, PdfCopyFieldsImp, PdfCopyForms, PdfCopyFormsImp, PdfReader, PdfSmartCopy, PdfStamper, PdfStamperImp, PdfViewerPreferencesImp, PdfWriter

    public interface PdfViewerPreferences

Viewer preferences are described in section 3.6.1 and 8.1 of the PDF Reference 1.7 (Table 3.25 on p139-142 and Table 8.1 on p579-581). They are explained in section 13.1 of the book 'iText in Action'. The values of the different preferences were originally stored in class PdfWriter, but they have been moved to this separate interface for reasons of convenience.

### Method Summary

Methods
`void` `addViewerPreference(PdfName key, PdfObject value)` Adds a viewer preference.
`void` `setViewerPreferences(int preferences)` Sets the page layout and page mode preferences by ORing one or two of these constants.

### Method Detail

#### setViewerPreferences

    void setViewerPreferences(int preferences)

Sets the page layout and page mode preferences by ORing one or two of these constants.

- The page layout to be used when the document is opened (choose one).
  - PAGE_LAYOUT_SINGLE_PAGE - Display one page at a time. (default)
  - PAGE_LAYOUT_ONE_COLUMN - Display the pages in one column.
  - PAGE_LAYOUT_TWO_COLUMN_LEFT - Display the pages in two columns, with oddnumbered pages on the left.
  - PAGE_LAYOUT_TWO_COLUMN_RIGHT - Display the pages in two columns, with oddnumbered pages on the right.
  - PAGE_LAYOUT_TWO_PAGE_LEFT - Display the pages two at a time, with oddnumbered pages on the left.
  - PAGE_LAYOUT_TWO_PAGE_RIGHT - Display the pages two at a time, with oddnumbered pages on the right.
- The page mode how the document should be displayed when opened (choose one).
  - PAGE_MODE_USE_NONE - Neither document outline nor thumbnail images visible. (default)
  - PAGE_MODE_USE_OUTLINES - Document outline visible.
  - PAGE_MODE_USE_THUMBS - Thumbnail images visible.
  - PAGE_MODE_FULL_SCREEN - Full-screen mode, with no menu bar, window controls, or any other window visible.
  - PAGE_MODE_USE_OC - Optional content group panel visible
  - PAGE_MODE_USE_ATTACHMENTS - Attachments panel visible

For backward compatibility these values are also supported, but it's better to use method `addViewerPreference(key, value)` if you want to change the following preferences:

- HIDE_TOOLBAR - A flag specifying whether to hide the viewer application's tool bars when the document is active.
- HIDE_MENUBAR - A flag specifying whether to hide the viewer application's menu bar when the document is active.
- HIDE_WINDOW_UI - A flag specifying whether to hide user interface elements in the document's window (such as scroll bars and navigation controls), leaving only the document's contents displayed.
- FIT_WINDOW - A flag specifying whether to resize the document's window to fit the size of the first displayed page.
- CENTER_WINDOW - A flag specifying whether to position the document's window in the center of the screen.
- DISPLAY_DOC_TITLE - A flag specifying whether to display the document's title in the top bar.
- The predominant reading order for text. This entry has no direct effect on the document's contents or page numbering, but can be used to determine the relative positioning of pages when displayed side by side or printed n-up (choose one).
  - DIRECTION_L2R - Left to right
  - DIRECTION_R2L - Right to left (including vertical writing systems such as Chinese, Japanese, and Korean)
- The document's page mode, specifying how to display the document on exiting full-screen mode. It is meaningful only if the page mode is PageModeFullScreen (choose one).
  - NON_FULL_SCREEN_PAGE_MODE_USE_NONE - Neither document outline nor thumbnail images visible
  - NON_FULL_SCREEN_PAGE_MODE_USE_OUTLINES - Document outline visible
  - NON_FULL_SCREEN_PAGE_MODE_USE_THUMBS - Thumbnail images visible
  - NON_FULL_SCREEN_PAGE_MODE_USE_OC - Optional content group panel visible
- PRINT_SCALING_NONE - Indicates that the print dialog should reflect no page scaling.

Parameters:
  `preferences` - the viewer preferences
See Also:
  `addViewerPreference(com.lowagie.text.pdf.PdfName, com.lowagie.text.pdf.PdfObject)`

#### addViewerPreference

    void addViewerPreference(PdfName key,
                           PdfObject value)

Adds a viewer preference.

- In case the key is one of these values:
  - PdfName.HIDETOOLBAR
  - PdfName.HIDEMENUBAR
  - PdfName.HIDEWINDOWUI
  - PdfName.FITWINDOW
  - PdfName.CENTERWINDOW
  - PdfName.DISPLAYDOCTITLE
  The value must be a of type PdfBoolean (true or false).
- In case the key is PdfName.NONFULLSCREENPAGEMODE, the value must be one of these names:
  - PdfName.USENONE
  - PdfName.USEOUTLINES
  - PdfName.USETHUMBS
  - PdfName.USEOC
- In case the key is PdfName.DIRECTION, the value must be one of these names:
  - PdfName.L2R
  - PdfName.R2L
- In case the key is one of these values:
  - PdfName.VIEWAREA
  - PdfName.VIEWCLIP
  - PdfName.PRINTAREA
  - PdfName.PRINTCLIP
  The value must be one of these names:
  - PdfName.MEDIABOX
  - PdfName.CROPBOX
  - PdfName.BLEEDBOX
  - PdfName.TRIMBOX
  - PdfName.ARTBOX
- In case the key is PdfName.PRINTSCALING, the value can be
  - PdfName.APPDEFAULT
  - PdfName.NONE
- In case the key is PdfName.DUPLEX, the value can be:
  - PdfName.SIMPLEX
  - PdfName.DUPLEXFLIPSHORTEDGE
  - PdfName.DUPLEXFLIPLONGEDGE
- In case the key is PdfName.PICKTRAYBYPDFSIZE, the value must be of type PdfBoolean.
- In case the key is PdfName.PRINTPAGERANGE, the value must be of type PdfArray.
- In case the key is PdfName.NUMCOPIES, the value must be of type PdfNumber.

Parameters:
  `key` - the name of the viewer preference
  `value` - the value of the viewer preference
See Also:
  `setViewerPreferences(int)`