iText7 ViewerPreferences:默认情况下应显示书签
iText7 ViewerPreferences: Should display Bookmarks by default
我用 iText7 创建了一个 PDF,它不应该显示工具栏。但它应该显示带有 bookmarks/outlines.
的区域
PdfViewerPreferences pref = new PdfViewerPreferences();
pref.SetHideToolbar(true); // works
pref.SetNonFullScreenPageMode(PdfViewerPreferences.PdfViewerPreferencesConstants.USE_OUTLINES); // doesn't work
pdfDocument.GetCatalog().SetViewerPreferences(pref);
Acrobat Reader 应该这样显示:
SetNonFullScreenPageMode
的文档清楚地说明了以下内容:
This entry is meaningful only if the value of the PageMode entry in the Catalog dictionary is FullScreen
因此您还需要添加以下行以使您的配置生效:
pdfDocument.GetCatalog().SetPageMode(PdfName.FullScreen);
但是,这会使 Acrobat 在打开 PDF 时要求您进入全屏模式,而在全屏模式下,除了页面内容外什么也不会显示。
您真正想要的是将 PageMode
设置为 UseOutlines
:
pdfDocument.GetCatalog().SetPageMode(PdfName.UseOutlines);
完整代码:
PdfViewerPreferences pref = new PdfViewerPreferences();
pref.SetHideToolbar(true);
pdfDocument.GetCatalog().SetViewerPreferences(pref);
pdfDocument.GetCatalog().SetPageMode(PdfName.UseOutlines);
我用 iText7 创建了一个 PDF,它不应该显示工具栏。但它应该显示带有 bookmarks/outlines.
的区域PdfViewerPreferences pref = new PdfViewerPreferences();
pref.SetHideToolbar(true); // works
pref.SetNonFullScreenPageMode(PdfViewerPreferences.PdfViewerPreferencesConstants.USE_OUTLINES); // doesn't work
pdfDocument.GetCatalog().SetViewerPreferences(pref);
Acrobat Reader 应该这样显示:
SetNonFullScreenPageMode
的文档清楚地说明了以下内容:
This entry is meaningful only if the value of the PageMode entry in the Catalog dictionary is FullScreen
因此您还需要添加以下行以使您的配置生效:
pdfDocument.GetCatalog().SetPageMode(PdfName.FullScreen);
但是,这会使 Acrobat 在打开 PDF 时要求您进入全屏模式,而在全屏模式下,除了页面内容外什么也不会显示。
您真正想要的是将 PageMode
设置为 UseOutlines
:
pdfDocument.GetCatalog().SetPageMode(PdfName.UseOutlines);
完整代码:
PdfViewerPreferences pref = new PdfViewerPreferences();
pref.SetHideToolbar(true);
pdfDocument.GetCatalog().SetViewerPreferences(pref);
pdfDocument.GetCatalog().SetPageMode(PdfName.UseOutlines);