public virtual void AddViewerPreference(PdfName key, PdfObject value)
{
switch (GetIndex(key)) {
case 0: // HIDETOOLBAR
case 1: // HIDEMENUBAR
case 2: // HIDEWINDOWUI
case 3: // FITWINDOW
case 4: // CENTERWINDOW
case 5: // DISPLAYDOCTITLE
case 14: // PICKTRAYBYPDFSIZE
if (value is PdfBoolean) {
viewerPreferences.Put(key, value);
}
break;
case 6: // NONFULLSCREENPAGEMODE
if (value is PdfName
&& IsPossibleValue((PdfName)value, NONFULLSCREENPAGEMODE_PREFERENCES)) {
viewerPreferences.Put(key, value);
}
break;
case 7: // DIRECTION
if (value is PdfName
&& IsPossibleValue((PdfName)value, DIRECTION_PREFERENCES)) {
viewerPreferences.Put(key, value);
}
break;
case 8: // VIEWAREA
case 9: // VIEWCLIP
case 10: // PRINTAREA
case 11: // PRINTCLIP
if (value is PdfName
&& IsPossibleValue((PdfName)value, PAGE_BOUNDARIES)) {
viewerPreferences.Put(key, value);
}
break;
case 12: // PRINTSCALING
if (value is PdfName
&& IsPossibleValue((PdfName)value, PRINTSCALING_PREFERENCES)) {
viewerPreferences.Put(key, value);
}
break;
case 13: // DUPLEX
if (value is PdfName
&& IsPossibleValue((PdfName)value, DUPLEX_PREFERENCES)) {
viewerPreferences.Put(key, value);
}
break;
case 15: // PRINTPAGERANGE
if (value is PdfArray) {
viewerPreferences.Put(key, value);
}
break;
case 16: // NUMCOPIES
if (value is PdfNumber) {
viewerPreferences.Put(key, value);
}
break;
}
}