C#打开一个文件的操作在我们实际的开发中是常见的需求实现,那么具体的操作实例是什么呢?C#打开一个文件所涉及的问题和注意事项有哪些呢?现在我们就来看看具体的实现:
在你写入任何实际数据之前,你可能希望通过以下几种方法写入一些关于本文档的摘要:
- public boolean addTitle(String title)
- public boolean addSubject(String subject)
- public boolean addKeywords(String keywords)
- public boolean addAuthor(String author)
- public boolean addCreator(String creator)
- public boolean addProducer()
- public boolean addCreationDate()
- public boolean addHeader(String name, String content)
你可以选择自己的标题、主题、关键字、作者、创建程序,但以下产品信息将始终被添加:iTextSharp (或者iTextSharp的引用)和创建时间(实际上这两种方法是自动调用的)。
你还可以将自定义的名称添加为“报头信息”,但是这对于PdfWriter没有任何作用,如果看看实例产生的pdf文件的“文档属性”,我们可以看到仅仅有PDF创建程序和产品日期。
C#打开一个文件前要做的事:
你只能在Open方法调用之前添加摘要,这是iText开发工具提供的一个选择。
在HTML中,报头信息被放在文档前面报头标识中间,调用Open方法将导致报头信息写入流,因而在Document被打开后无法更改这些数据。
该行显示生成的文档是一个版本为1.2的PDF格式的文件,在PDF中,摘要保存在PdfInfo对象中,当文档关闭时已经写入PdfWriter中了,因此,没有关于为什么不能修改库来满足任何时候添加或更改摘要的技术原因。
C#打开一个文件之页面初始化
Open方法在不同的Witer中同时会产生初始化事件,举例来说,如果你需要一个水印或者页眉页角对象出现在文档***页的开始处,你需要在打开文档前添加这些,同样的用于设置该文档其他页水印、页眉、页角、页数和尺寸。
当调用下列方法:
- public bool setPageSize(Rectangle pageSize)
- public bool Add(Watermark watermark)
- public void removeWatermark()
- setting Header property
- public void resetHeader()
- setting Footer property
- public void resetFooter()
- public void resetPageCount()
- setting PageCount property
产生的结果只能在下一个新页中看到(当在本页调用初始化方法时),代码见示例代码0107,你必须要准备一张名为watermark.jpg的图片,如下图:
C#打开一个文件之阅读器参数:
你可以通过下面的办法为PDF文件指定一些阅读器 (如Adobe Reader) 参数:
- public void setViewerPreferences(int preferences)
- writerA.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft);
- writerB.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);
- writerC.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft |
- PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseThumbs);
正如你所看到的,参数可以使用以下一些常量:
- PdfWriter.PageLayoutSinglePage – 同时只显示一个页面
- PdfWriter.PageLayoutOneColumn –单列显示
- PdfWriter.PageLayoutTwoColumnLeft –双列显示,奇数页在左
- PdfWriter.PageLayoutTwoColumnRight -双列显示,奇数页在右
文件打开时,页面模式用到下面其中之一:
- PdfWriter.PageModeUseNone
- 既不显示大钢也不显示缩略图
- PdfWriter.PageModeUseOutlines
- 显示大纲
- PdfWriter.PageModeUseThumbs
- 显示缩略图
- PdfWriter.PageModeFullScreen
- 全屏模式,没有菜单、windows控件或者其他任何windows可见控件
- PdfWriter.HideToolbar
- 当文档激活时,是否隐藏阅读程序(如Adobe Reader)的工具条
- PdfWriter.HideMenubar
- 当文档激活时,是否隐藏阅读程序的菜单.
- PdfWriter.HideWindowUI
- 当文档激活时,是否隐藏阅读程序的界面元素,如滚动条、导航条等,而仅仅保留文档显示
- PdfWriter.FitWindow
- 是否调整文档窗口尺寸以适合显示***页。
- PdfWriter.CenterWindow
- 是否将文档窗口放到屏幕中央
在全屏模式下,指定如何显示界面元素(选择一个)
- PdfWriter.NonFullScreenPageModeUseNone -既不显示大钢也不显示缩略图
- PdfWriter.NonFullScreenPageModeUseOutlines – 显示大钢
- PdfWriter.NonFullScreenPageModeUseThumbs – 显示缩略图
- 说明:你只能在类PdfWriter中调用这些方法。
C#打开一个文件之加密
打开文档之前还要做的一件事情就是加密(如果你希望该文档加密),要达到这个目的,你可以使用下面的方法:
public void setEncryption(boolean strength, String userPassword, String ownerPassword, int permissions);
• strength 是下面两个常量之一:
- PdfWriter.STRENGTH40BITS: 40 位
- PdfWriter.STRENGTH128BITS: 128位
- (Acrobat Reader 5.0及以上版本支持)
• UserPassword和ownerPassword 可以为空或零长度, 这种情况下, ownerPassword 将被随机的字符串代替
• Permissions 为下列常量之一:
- PdfWriter.AllowPrinting
- PdfWriter.AllowModifyContents
- PdfWriter.AllowCopy
- PdfWriter.AllowModifyAnnotations
- PdfWriter.AllowFillIn
- PdfWriter.AllowScreenReaders
- PdfWriter.AllowAssembly
- PdfWriter.AllowDegradedPrinting
- writer.setEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.AllowCopy);
- writer.setEncryption(PdfWriter.STRENGTH128BITS, "userpass",
- "ownerpass", PdfWriter.AllowCopy | PdfWriter.AllowPrinting);
C#打开一个文件的基本操作就向你介绍到这里,希望对你了解和学习C#打开一个文件有所帮助。
【编辑推荐】