我正在添加一个额外的答案来回答上一个答案的 cmets 中的额外问题:
当您有一个名为 writer 的 PdfWriter 实例时,您可以像这样设置查看器首选项:
writer.ViewerPreferences = viewerpreference;
在这种情况下,viewerpreference 是一个可以具有以下值之一的值:
PdfWriter.PageLayoutSinglePage
PdfWriter.PageLayoutOneColumn
PdfWriter.PageLayoutTwoColumnLeft
PdfWriter.PageLayoutTwoColumnRight
PdfWriter.PageLayoutTwoPageLeft
PdfWriter.PageLayoutTwoPageRight
请参阅PageLayoutExample 了解更多信息。
您还可以更改页面模式,如ViewerPreferencesExample 所示。在这种情况下,不同的值是“OR”-ed:
PdfWriter.PageModeFullScreen
PdfWriter.PageModeUseThumbs
PdfWriter.PageLayoutTwoColumnRight | PdfWriter.PageModeUseThumbs
PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseOutlines
PdfWriter.FitWindow | PdfWriter.HideToolbar
PdfWriter.HideWindowUI
目前,您只使用了官方文档中的 PrintPreferences 示例:
writer.AddViewerPreference(PdfName.PRINTSCALING, PdfName.NONE);
writer.AddViewerPreference(PdfName.NUMCOPIES, new PdfNumber(3));
writer.AddViewerPreference(PdfName.PICKTRAYBYPDFSIZE, PdfBoolean.PDFTRUE);
但在某些情况下,它只是更容易使用:
writer.ViewerPreferences = viewerpreference;
注意官方文档是书"iText in Action - Second Edition.",例子是用Java写的,但是你可以找到C#版本here。作品中有一本新书叫《PDF 的基础知识》,但到目前为止只写了 4 章。你可以在这里找到更多信息:http://itextpdf.com/learn
关于创建PdfDestination 的不同选项的部分已经出现在“PDF 的基础知识”中。
至于设置语言,是这样的:
stamper.Writer.ExtraCatalog.Put(PdfName.LANG, new PdfString("EN"));
结果显示在以下屏幕截图中:
如您所见,现在有一个 Lang 条目,其值为 EN 已添加到目录中。