在这里,我想在acrobat中的初始视图标签下设置已存在的PDF文档属性。
文档选项:
窗口选项:
如下面的屏幕截图所示:
我尝试使用以下代码:
PdfStamper stamper = new PdfStamper(reader, new FileStream(dPDFFile, FileMode.Create));
stamper.AddViewerPreference(PdfName.DISPLAYDOCTITLE, new PdfBoolean(true));
以上代码用于设置文档标题显示。
但以下代码无效
对于页面布局:
stamper.AddViewerPreference(PdfName.PAGELAYOUT, new PdfName("OneColumn"));
对于书签面板和页面:
stamper.AddViewerPreference(PdfName. PageMode, new PdfName("UseOutlines"));
所以请指导我,满足我的要求的正确方法是什么。
答案 0 :(得分:9)
我在回答上一个答案的评论中的额外问题时添加了额外的答案:
如果您有一个名为PdfWriter
的{{1}}实例,则可以像这样设置查看器首选项:
writer
在这种情况下,writer.ViewerPreferences = viewerpreference;
是一个可以具有以下值之一的值:
viewerpreference
PdfWriter.PageLayoutSinglePage
PdfWriter.PageLayoutOneColumn
PdfWriter.PageLayoutTwoColumnLeft
PdfWriter.PageLayoutTwoColumnRight
PdfWriter.PageLayoutTwoPageLeft
有关详细信息,请参阅PageLayoutExample。
您还可以更改ViewerPreferencesExample中显示的页面模式。在这种情况下,不同的值是" OR" -ed:
PdfWriter.PageLayoutTwoPageRight
PdfWriter.PageModeFullScreen
PdfWriter.PageModeUseThumbs
PdfWriter.PageLayoutTwoColumnRight | PdfWriter.PageModeUseThumbs
PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseOutlines
PdfWriter.FitWindow | PdfWriter.HideToolbar
目前,您只使用了官方文档中的PrintPreferences示例:
PdfWriter.HideWindowUI
但在某些情况下,它更容易使用:
writer.AddViewerPreference(PdfName.PRINTSCALING, PdfName.NONE);
writer.AddViewerPreference(PdfName.NUMCOPIES, new PdfNumber(3));
writer.AddViewerPreference(PdfName.PICKTRAYBYPDFSIZE, PdfBoolean.PDFTRUE);
请注意,官方文档是书籍"iText in Action - Second Edition."这些示例是用Java编写的,但您可以找到C#版本here。作品中有一本名为" PDF"的ABC,但到目前为止只写了4章。您可以在此处找到更多信息:http://itextpdf.com/learn
关于创建writer.ViewerPreferences = viewerpreference;
的不同选项的部分已经出现在" PDF和#34的基础知识中。
至于设置语言,这样做:
PdfDestination
结果显示在以下屏幕截图中:
如您所见,现在有一个stamper.Writer.ExtraCatalog.Put(PdfName.LANG, new PdfString("EN"));
条目,其值Lang
已添加到目录中。
答案 1 :(得分:7)
两个项显示=书签面板和页面和页面布局=连续从文档{{1}中的ViewerPreferences
开始控制一层}。您可以通过以下方式获取此信息:
/Catalog
在你的情况下,你正在寻找:
stamper.Writer.ExtraCatalog
项 Magnification = Fit Width 和 Open to Page number = 1 也是// Acrobat's Single Page
stamper.Writer.ExtraCatalog.Put(PdfName.PAGELAYOUT, PdfName.ONECOLUMN);
// Show bookmarks
stamper.Writer.ExtraCatalog.Put(PdfName.PAGEMODE, PdfName.USEOUTLINES);
的一部分,但是在名为{{1}的特殊键中}。您可以使用以下方式设置:
/Catalog
在你的情况下,你正在寻找:
/OpenAction