C#打開一個文件的操作詳解
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#打開一個文件有所幫助。
【編輯推薦】