如何设置初始视图属性?

时间:2014-06-23 15:56:33

标签: itextsharp itext

在这里,我想在acrobat中的初始视图标签下设置已存在的PDF文档属性。

文档选项:

  • 显示=书签面板和页面
  • 页面布局=连续
  • 放大率=适合宽度
  • 打开页码= 1

窗口选项:

  • 显示=文件标题

如下面的屏幕截图所示:

我尝试使用以下代码:

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"));

所以请指导我,满足我的要求的正确方法是什么。

2 个答案:

答案 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

结果显示在以下屏幕截图中:

enter image description here

如您所见,现在有一个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