public static PdfViewerPreferencesImp GetViewerPreferences(PdfDictionary catalog) { PdfViewerPreferencesImp preferences = new PdfViewerPreferencesImp(); int prefs = 0; PdfName name = null; // page layout PdfObject obj = PdfReader.GetPdfObjectRelease(catalog.Get(PdfName.PAGELAYOUT)); if (obj != null && obj.IsName()) { name = (PdfName)obj; if (name.Equals(PdfName.SINGLEPAGE)) { prefs |= PdfWriter.PageLayoutSinglePage; } else if (name.Equals(PdfName.ONECOLUMN)) { prefs |= PdfWriter.PageLayoutOneColumn; } else if (name.Equals(PdfName.TWOCOLUMNLEFT)) { prefs |= PdfWriter.PageLayoutTwoColumnLeft; } else if (name.Equals(PdfName.TWOCOLUMNRIGHT)) { prefs |= PdfWriter.PageLayoutTwoColumnRight; } else if (name.Equals(PdfName.TWOPAGELEFT)) { prefs |= PdfWriter.PageLayoutTwoPageLeft; } else if (name.Equals(PdfName.TWOPAGERIGHT)) { prefs |= PdfWriter.PageLayoutTwoPageRight; } } // page mode obj = PdfReader.GetPdfObjectRelease(catalog.Get(PdfName.PAGEMODE)); if (obj != null && obj.IsName()) { name = (PdfName)obj; if (name.Equals(PdfName.USENONE)) { prefs |= PdfWriter.PageModeUseNone; } else if (name.Equals(PdfName.USEOUTLINES)) { prefs |= PdfWriter.PageModeUseOutlines; } else if (name.Equals(PdfName.USETHUMBS)) { prefs |= PdfWriter.PageModeUseThumbs; } else if (name.Equals(PdfName.FULLSCREEN)) { prefs |= PdfWriter.PageModeFullScreen; } else if (name.Equals(PdfName.USEOC)) { prefs |= PdfWriter.PageModeUseOC; } else if (name.Equals(PdfName.USEATTACHMENTS)) { prefs |= PdfWriter.PageModeUseAttachments; } } // set page layout and page mode preferences preferences.ViewerPreferences = prefs; // other preferences obj = PdfReader.GetPdfObjectRelease(catalog .Get(PdfName.VIEWERPREFERENCES)); if (obj != null && obj.IsDictionary()) { PdfDictionary vp = (PdfDictionary)obj; for (int i = 0; i < VIEWER_PREFERENCES.Length; i++) { obj = PdfReader.GetPdfObjectRelease(vp.Get(VIEWER_PREFERENCES[i])); preferences.AddViewerPreference(VIEWER_PREFERENCES[i], obj); } } return(preferences); }
public static PdfViewerPreferencesImp GetViewerPreferences(PdfDictionary catalog) { PdfViewerPreferencesImp preferences = new PdfViewerPreferencesImp(); int prefs = 0; PdfName name = null; // page layout PdfObject obj = PdfReader.GetPdfObjectRelease(catalog.Get(PdfName.PAGELAYOUT)); if (obj != null && obj.IsName()) { name = (PdfName) obj; if (name.Equals(PdfName.SINGLEPAGE)) prefs |= PdfWriter.PageLayoutSinglePage; else if (name.Equals(PdfName.ONECOLUMN)) prefs |= PdfWriter.PageLayoutOneColumn; else if (name.Equals(PdfName.TWOCOLUMNLEFT)) prefs |= PdfWriter.PageLayoutTwoColumnLeft; else if (name.Equals(PdfName.TWOCOLUMNRIGHT)) prefs |= PdfWriter.PageLayoutTwoColumnRight; else if (name.Equals(PdfName.TWOPAGELEFT)) prefs |= PdfWriter.PageLayoutTwoPageLeft; else if (name.Equals(PdfName.TWOPAGERIGHT)) prefs |= PdfWriter.PageLayoutTwoPageRight; } // page mode obj = PdfReader.GetPdfObjectRelease(catalog.Get(PdfName.PAGEMODE)); if (obj != null && obj.IsName()) { name = (PdfName) obj; if (name.Equals(PdfName.USENONE)) prefs |= PdfWriter.PageModeUseNone; else if (name.Equals(PdfName.USEOUTLINES)) prefs |= PdfWriter.PageModeUseOutlines; else if (name.Equals(PdfName.USETHUMBS)) prefs |= PdfWriter.PageModeUseThumbs; else if (name.Equals(PdfName.FULLSCREEN)) prefs |= PdfWriter.PageModeFullScreen; else if (name.Equals(PdfName.USEOC)) prefs |= PdfWriter.PageModeUseOC; else if (name.Equals(PdfName.USEATTACHMENTS)) prefs |= PdfWriter.PageModeUseAttachments; } // set page layout and page mode preferences preferences.ViewerPreferences = prefs; // other preferences obj = PdfReader.GetPdfObjectRelease(catalog .Get(PdfName.VIEWERPREFERENCES)); if (obj != null && obj.IsDictionary()) { PdfDictionary vp = (PdfDictionary) obj; for (int i = 0; i < VIEWER_PREFERENCES.Length; i++) { obj = PdfReader.GetPdfObjectRelease(vp.Get(VIEWER_PREFERENCES[i])); preferences.AddViewerPreference(VIEWER_PREFERENCES[i], obj); } } return preferences; }