1. 程式人生 > >C# 操作PDF

C# 操作PDF

打印 pan 方式 屬性 試用 添加 poi read mark

Spire.PDF組件概述

Spire.PDF是一個專業的PDF組件,用於在.NET應用程序中創建,編輯,處理和閱讀PDF文檔。支持豐富的PDF文檔處理操作,如PDF文檔合並/拆分、轉換(如HTML轉PDF,PDF轉圖片等)、打印(包括靜默打印)、壓縮、添加/修改/刪除書簽、添加註釋、安全設置(包括數字簽名)、創建與填充域、圖片插入與提取、文本提取與高亮等。它不依賴Adobe Acrobat,因此運行環境無需安裝Adobe Reader或其他類似組件。 該組件分為商業版和免費版(不是試用版)兩種,一般個人使用或者操作的PDF文檔不超過10頁時,可以使用免費版。

添加、修改和刪除PDF書簽的實現

一、添加書簽

1.1 添加書簽

在Spire.PDF中,每個PDF文檔都有一個書簽列表(PdfBookmarkCollection)。我們可以通過PdfDocument對象的Bookmarks屬性來獲取該列表,然後通過Add () 方法將書簽添加到列表中。

//新建PDF文檔

PdfDocument pdf = new PdfDocument();

//添加頁面

PdfPageBase page = pdf.Pages.Add();

//添加書簽
PdfBookmark bookmark = pdf.Bookmarks.Add("第一頁");

//設置書簽所指向的頁面和位置,(0,0)表示頁面的開始位置
bookmark.Destination = new PdfDestination(page); bookmark.Destination.Location = new PointF(0, 0); //設置書簽的文本格式和顏色 bookmark.DisplayStyle = PdfTextStyle.Bold; bookmark.Color = Color.Black; //保存文檔 pdf.SaveToFile("Bookmark2.pdf");

技術分享

1.2 添加子書簽

添加子書簽和添加普通書簽的方式基本一樣,不同的是普通書簽是直接添加到文檔的書簽列表裏,而子書簽則是添加到父書簽的列表裏。

//新建PDF文檔

PdfDocument pdf = new PdfDocument();

//添加頁面

PdfPageBase page = pdf.Pages.Add(); 

//添加書簽

PdfBookmark bookmark = pdf.Bookmarks.Add("第一章 熱傳導");

//設置書簽指向的頁面和位置

bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);
 
//設置書簽的文本格式和顏色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.SeaGreen;

//添加子書簽

PdfBookmark childBookmark = bookmark.Insert(0, "1.1 熱傳導基本知識");

//設置子書簽指向的頁面和位置

childBookmark.Destination = new PdfDestination(page);
childBookmark.Destination.Location = new PointF(400, 300);

//設置子書簽的文本格式和顏色

childBookmark.DisplayStyle = PdfTextStyle.Regular;
childBookmark.Color = Color.Black;

//保存文檔

pdf.SaveToFile("ChildBookmark.pdf");

技術分享

1.3 添加書簽到現有文檔

除了在新建的PDF文檔裏添加書簽,我們還可以給現有的PDF文檔添加書簽。加載PDF文檔的方法除LoadFromFile以外,還有LoadFromStream (從流加載),LoadFromHTML(從HTML加載)等,可根據自己的需求選擇相應的加載方式。

//加載文檔

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("示例.pdf"); 

for (int i = 0; i < pdf.Pages.Count; i++)
{
    //添加書簽

    PdfBookmark bookmark = pdf.Bookmarks.Add(string.Format("第{0}章", i+1));

    //設置書簽指向的頁面和位置

    bookmark.Destination = new PdfDestination(pdf.Pages[i]);
    bookmark.Destination.Location = new PointF(0, 0);

    //設置書簽的文本格式和顏色

    bookmark.DisplayStyle = PdfTextStyle.Bold;
    bookmark.Color = Color.Black;
}

//保存文檔

pdf.SaveToFile("Bookmark2.pdf");

技術分享

2. 修改書簽

Spire.PDF支持多種書簽修改方式,例如修改現有書簽的內容,插入新書簽到現有書簽列表,插入子書簽到現有書簽等。這裏我選取修改書簽內容和插入新書簽到現有書簽列表進行介紹。

2.1 修改現有書簽內容

//加載文檔

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//獲取書簽列表

PdfBookmarkCollection bookmarks = pdf.Bookmarks;

//獲取第一個書簽

PdfBookmark bookmark = bookmarks[0];

//修改書簽指向的頁面

bookmark.Destination = new PdfDestination(document.Pages[1]); 

//修改書簽的文本格式和顏色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Green;

//修改書簽的title

bookmark.Title = "修改";

//保存文檔

pdf.SaveToFile("ModifyBookmark.pdf");

技術分享

2.2 插入新書簽到現有書簽列表

//加載文檔
 
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");
 
//插入新書簽到指定位置(此處插入的是第三個書簽的位置)
 
PdfBookmark bookmark = pdf.Bookmarks.Insert(2, "新增第三章");
 
//設置書簽所指向的頁面和位置
 
bookmark.Destination = new PdfDestination(document.Pages[1]);
bookmark.Destination.Location = new PointF(0, 300);
 
//保存文檔
 
pdf.SaveToFile("InsertBookmark.pdf");

技術分享

3. 刪除書簽

刪除書簽時,可以使用書簽的序號,也可以使用書簽的名稱。這裏我使用的是序號的方式。

//加載文檔

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//獲取書簽列表

PdfBookmarkCollection bookmarks = document.Bookmarks;

//刪除第一個書簽

bookmarks.RemoveAt(0);

//保存文檔

pdf.SaveToFile("DeleteBookmark.pdf");

轉自:http://www.cnblogs.com/Yesi/p/7251214.html

C# 操作PDF