iText7 ViewerPreferences: по умолчанию должен отображать закладки - PullRequest
0 голосов
/ 04 февраля 2020

Я создаю PDF с iText7, который не должен показывать панель инструментов. Но он должен отображать область с закладками / контурами.

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

Acrobat Reader должен отображать ее следующим образом: Should look like this

1 Ответ

1 голос
/ 04 февраля 2020

Документация SetNonFullScreenPageMode четко гласит следующее:

Эта запись имеет смысл, только если значение записи 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...