温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - iText7 ViewerPreferences: Should display Bookmarks by default
itext7

其他 - iText7 ViewerPreferences:默认情况下应显示书签

发布于 2020-04-16 15:56:53

我用iText7创建了一个PDF,它不应显示工具栏。但是它应该显示带有书签/轮廓的区域。

PdfViewerPreferences pref = new PdfViewerPreferences();
pref.SetHideToolbar(true); // works
pref.SetNonFullScreenPageMode(PdfViewerPreferences.PdfViewerPreferencesConstants.USE_OUTLINES); // doesn't work
pdfDocument.GetCatalog().SetViewerPreferences(pref);

Acrobat Reader应该以这种方式显示它: 应该看起来像这样

查看更多

提问者
Penguin
被浏览
56
Alexey Subach 2020-02-05 02:51

的文档SetNonFullScreenPageMode明确指出以下内容:

仅当Catalog词典中PageMode条目的值为FullScreen时,此条目才有意义

因此,您还需要添加以下行以使配置生效:

pdfDocument.GetCatalog().SetPageMode(PdfName.FullScreen);

但是,这将使Acrobat要求您在打开PDF时进入全屏模式,而在全屏模式下,除了页面内容外,没有任何显示。

您真正要寻找的是设置PageModeUseOutlines

pdfDocument.GetCatalog().SetPageMode(PdfName.UseOutlines);

完整代码:

PdfViewerPreferences pref = new PdfViewerPreferences();
pref.SetHideToolbar(true);
pdfDocument.GetCatalog().SetViewerPreferences(pref);
pdfDocument.GetCatalog().SetPageMode(PdfName.UseOutlines);