我用iText7创建了一个PDF,它不应显示工具栏。但是它应该显示带有书签/轮廓的区域。
PdfViewerPreferences pref = new PdfViewerPreferences();
pref.SetHideToolbar(true); // works
pref.SetNonFullScreenPageMode(PdfViewerPreferences.PdfViewerPreferencesConstants.USE_OUTLINES); // doesn't work
pdfDocument.GetCatalog().SetViewerPreferences(pref);
的文档SetNonFullScreenPageMode
明确指出以下内容:
仅当Catalog词典中PageMode条目的值为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);