问题描述
在这里,我想在acrobat中的初始视图标签下设置已存在的PDF文档属性。
Here I want to set the already exist PDF document properties under Initial View tab in acrobat.
文档选项:
- 显示=书签面板和页面
- 页面布局=连续
- 放大率=适合宽度
- 打开到页码= 1
- Show = Bookmarks Panel and Page
- Page Layout = Continuous
- Magnification = Fit Width
- Open to Page number = 1
窗口选项:
- 显示=文档标题
如以下屏幕截图所示:
我尝试使用以下代码:
PdfStamper stamper = new PdfStamper(reader, new FileStream(dPDFFile, FileMode.Create));
stamper.AddViewerPreference(PdfName.DISPLAYDOCTITLE, new PdfBoolean(true));
以上代码用于设置文档标题显示。
the above code is used to set the document title show.
但以下代码无法正常工作
对于页面布局:
stamper.AddViewerPreference(PdfName.PAGELAYOUT, new PdfName("OneColumn"));
对于书签面板和页面:
stamper.AddViewerPreference(PdfName. PageMode, new PdfName("UseOutlines"));
所以请指导我,以满足我的要求的正确方法。
So please give guide me what is the correct way to meet my requirement.
推荐答案
我在回答上一个答案的评论中的额外问题时添加了额外的答案:
I'm adding an extra answer in answer to the extra question in the comments of the previous answer:
如果你有一个名为 writer
的 PdfWriter
实例,你可以像这样设置Viewer首选项: / p>
When you have a PdfWriter
instance named writer
, you can set the Viewer preferences like this:
writer.ViewerPreferences = viewerpreference;
在这种情况下, viewerpreference
是一个可以具有以下值之一的值:
In this case, the viewerpreference
is a value that can have one of the following values:
-
PdfWriter.PageLayoutSinglePage
-
PdfWriter.PageLayoutOneColumn
-
PdfWriter.PageLayoutTwoColumnLeft
-
PdfWriter.PageLayoutTwoColumnRight
-
PdfWriter.PageLayoutTwoPageLeft
-
PdfWriter.PageLayoutTwoPageRight
PdfWriter.PageLayoutSinglePage
PdfWriter.PageLayoutOneColumn
PdfWriter.PageLayoutTwoColumnLeft
PdfWriter.PageLayoutTwoColumnRight
PdfWriter.PageLayoutTwoPageLeft
PdfWriter.PageLayoutTwoPageRight
有关详细信息,请参阅。
See the PageLayoutExample for more info.
您还可以更改页面模式,如。在这种情况下,不同的值是OR-ed:
You can also change the page mode as is shown in the ViewerPreferencesExample. In which case the different values are "OR"-ed:
-
PdfWriter.PageModeFullScreen
-
PdfWriter.PageModeUseThumbs
-
PdfWriter.PageLayoutTwoColumnRight | PdfWriter.PageModeUseThumbs
-
PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseOutlines
-
PdfWriter.FitWindow | PdfWriter.HideToolbar
-
PdfWriter.HideWindowUI
PdfWriter.PageModeFullScreen
PdfWriter.PageModeUseThumbs
PdfWriter.PageLayoutTwoColumnRight | PdfWriter.PageModeUseThumbs
PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseOutlines
PdfWriter.FitWindow | PdfWriter.HideToolbar
PdfWriter.HideWindowUI
目前,您只使用了官方文档中的PrintPreferences示例:
Currently, you've only used the PrintPreferences example from the official documentation:
writer.AddViewerPreference(PdfName.PRINTSCALING, PdfName.NONE);
writer.AddViewerPreference(PdfName.NUMCOPIES, new PdfNumber(3));
writer.AddViewerPreference(PdfName.PICKTRAYBYPDFSIZE, PdfBoolean.PDFTRUE);
但在某些情况下,它更容易使用:
But in some cases, it's just easier to use:
writer.ViewerPreferences = viewerpreference;
请注意,官方文档是这些示例是用Java编写的,但您可以找到C#版本。有一本名为PDF的ABC的新书,但到目前为止只写了4章。您可以在此处找到更多信息:
Note that the official documentation is the book "iText in Action - Second Edition." The examples are written in Java, but you can find the C# version here. There is a new book in the works called "The ABC of PDF", but so far only 4 chapters were written. You'll find more info here: http://itextpdf.com/learn
关于创建 PdfDestination
的不同选项的部分已经出现在PDF的ABC中。
The part about the different options to create a PdfDestination
is already present in "The ABC of PDF".
至于设置语言,这样做:
As for setting the language, this is done like this:
stamper.Writer.ExtraCatalog.Put(PdfName.LANG, new PdfString("EN"));
结果显示在以下屏幕截图中:
The result is shown in the following screen shot:
As你可以看到,现在有一个 Lang
条目,其值 EN
被添加到目录中。
As you can see, there is now a Lang
entry with value EN
added to the catalog.
这篇关于如何设置初始视图属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!