C#打開(kāi)一個(gè)文件的操作詳解
C#打開(kāi)一個(gè)文件的操作在我們實(shí)際的開(kāi)發(fā)中是常見(jiàn)的需求實(shí)現(xiàn),那么具體的操作實(shí)例是什么呢?C#打開(kāi)一個(gè)文件所涉及的問(wèn)題和注意事項(xiàng)有哪些呢?現(xiàn)在我們就來(lái)看看具體的實(shí)現(xiàn):
在你寫(xiě)入任何實(shí)際數(shù)據(jù)之前,你可能希望通過(guò)以下幾種方法寫(xiě)入一些關(guān)于本文檔的摘要:
- 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)
 
你可以選擇自己的標(biāo)題、主題、關(guān)鍵字、作者、創(chuàng)建程序,但以下產(chǎn)品信息將始終被添加:iTextSharp (或者iTextSharp的引用)和創(chuàng)建時(shí)間(實(shí)際上這兩種方法是自動(dòng)調(diào)用的)。
你還可以將自定義的名稱(chēng)添加為“報(bào)頭信息”,但是這對(duì)于PdfWriter沒(méi)有任何作用,如果看看實(shí)例產(chǎn)生的pdf文件的“文檔屬性”,我們可以看到僅僅有PDF創(chuàng)建程序和產(chǎn)品日期。
 
 
C#打開(kāi)一個(gè)文件前要做的事:
你只能在Open方法調(diào)用之前添加摘要,這是iText開(kāi)發(fā)工具提供的一個(gè)選擇。
在HTML中,報(bào)頭信息被放在文檔前面報(bào)頭標(biāo)識(shí)中間,調(diào)用Open方法將導(dǎo)致報(bào)頭信息寫(xiě)入流,因而在Document被打開(kāi)后無(wú)法更改這些數(shù)據(jù)。
該行顯示生成的文檔是一個(gè)版本為1.2的PDF格式的文件,在PDF中,摘要保存在PdfInfo對(duì)象中,當(dāng)文檔關(guān)閉時(shí)已經(jīng)寫(xiě)入PdfWriter中了,因此,沒(méi)有關(guān)于為什么不能修改庫(kù)來(lái)滿(mǎn)足任何時(shí)候添加或更改摘要的技術(shù)原因。
C#打開(kāi)一個(gè)文件之頁(yè)面初始化
Open方法在不同的Witer中同時(shí)會(huì)產(chǎn)生初始化事件,舉例來(lái)說(shuō),如果你需要一個(gè)水印或者頁(yè)眉頁(yè)角對(duì)象出現(xiàn)在文檔***頁(yè)的開(kāi)始處,你需要在打開(kāi)文檔前添加這些,同樣的用于設(shè)置該文檔其他頁(yè)水印、頁(yè)眉、頁(yè)角、頁(yè)數(shù)和尺寸。
當(dāng)調(diào)用下列方法:
- 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
 
產(chǎn)生的結(jié)果只能在下一個(gè)新頁(yè)中看到(當(dāng)在本頁(yè)調(diào)用初始化方法時(shí)),代碼見(jiàn)示例代碼0107,你必須要準(zhǔn)備一張名為watermark.jpg的圖片,如下圖:
C#打開(kāi)一個(gè)文件之閱讀器參數(shù):
你可以通過(guò)下面的辦法為PDF文件指定一些閱讀器 (如Adobe Reader) 參數(shù):
- public void setViewerPreferences(int preferences)
 - writerA.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft);
 - writerB.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);
 - writerC.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft |
 - PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseThumbs);
 
正如你所看到的,參數(shù)可以使用以下一些常量:
- PdfWriter.PageLayoutSinglePage – 同時(shí)只顯示一個(gè)頁(yè)面
 - PdfWriter.PageLayoutOneColumn –單列顯示
 - PdfWriter.PageLayoutTwoColumnLeft –雙列顯示,奇數(shù)頁(yè)在左
 - PdfWriter.PageLayoutTwoColumnRight -雙列顯示,奇數(shù)頁(yè)在右
 
文件打開(kāi)時(shí),頁(yè)面模式用到下面其中之一:
- PdfWriter.PageModeUseNone
 - 既不顯示大鋼也不顯示縮略圖
 - PdfWriter.PageModeUseOutlines
 - 顯示大綱
 - PdfWriter.PageModeUseThumbs
 - 顯示縮略圖
 - PdfWriter.PageModeFullScreen
 - 全屏模式,沒(méi)有菜單、windows控件或者其他任何windows可見(jiàn)控件
 - PdfWriter.HideToolbar
 - 當(dāng)文檔激活時(shí),是否隱藏閱讀程序(如Adobe Reader)的工具條
 - PdfWriter.HideMenubar
 - 當(dāng)文檔激活時(shí),是否隱藏閱讀程序的菜單.
 - PdfWriter.HideWindowUI
 - 當(dāng)文檔激活時(shí),是否隱藏閱讀程序的界面元素,如滾動(dòng)條、導(dǎo)航條等,而僅僅保留文檔顯示
 - PdfWriter.FitWindow
 - 是否調(diào)整文檔窗口尺寸以適合顯示***頁(yè)。
 - PdfWriter.CenterWindow
 - 是否將文檔窗口放到屏幕中央
 
在全屏模式下,指定如何顯示界面元素(選擇一個(gè))
- PdfWriter.NonFullScreenPageModeUseNone -既不顯示大鋼也不顯示縮略圖
 - PdfWriter.NonFullScreenPageModeUseOutlines – 顯示大鋼
 - PdfWriter.NonFullScreenPageModeUseThumbs – 顯示縮略圖
 - 說(shuō)明:你只能在類(lèi)PdfWriter中調(diào)用這些方法。
 
C#打開(kāi)一個(gè)文件之加密
打開(kāi)文檔之前還要做的一件事情就是加密(如果你希望該文檔加密),要達(dá)到這個(gè)目的,你可以使用下面的方法:
public void setEncryption(boolean strength, String userPassword, String ownerPassword, int permissions);
• strength 是下面兩個(gè)常量之一:
- PdfWriter.STRENGTH40BITS: 40 位
 - PdfWriter.STRENGTH128BITS: 128位
 - (Acrobat Reader 5.0及以上版本支持)
 
• UserPassword和ownerPassword 可以為空或零長(zhǎng)度, 這種情況下, ownerPassword 將被隨機(jī)的字符串代替
• 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#打開(kāi)一個(gè)文件的基本操作就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#打開(kāi)一個(gè)文件有所幫助。
【編輯推薦】















 
 
 
 
 
 
 