日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spire.Pdf 的各种操作总结

發布時間:2024/7/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spire.Pdf 的各种操作总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?Spire.Pdf 的各種操作總結

?

簡介?

?

試驗新產品總是給我帶來許多挑戰,當然這也是一個引進創新技術的好方法。在這里我要跟大家分享的是使用Spire.Pdf的過程,它是來自E-iceblue公司的輕便PDF程序庫。

?

設計情節

?

我以前經常沒事就搞搞PDFSpire.Pdf是用C# 寫的PDF組件。他們自己聲稱:


pastingSpire.PDF for .NET?is a professional PDF component applied to creating, writing, editing, handling and reading PDF files without any external dependencies within .NET application. Using this .NET PDF library, you can implement rich capabilities to?create PDF files?from scratch or process existing PDF documents entirely through C#/VB.NET without installing Adobe Acrobat.

?

先決條件

?

首先,從這下載它的免費版:http://freepdf.codeplex.com/

?

安裝下載的軟件,結果你會得到兩個dll文件(Spire.License.dll和 Spire.Pdf.dll),如下圖所示在你的程序中添加他們的引用:

?

?

創建PDF并設置它的格式

?

創建PDF和使用Spire.Pdf一樣簡單。這就意味著,僅僅用Spire.Pdf寫幾行代碼就可以實現了。參照以下代碼:

?

//Create?a?pdf?document.
PdfDocument?doc?=?new?PdfDocument();
//?Create?one?page
PdfPageBase?page?=?doc.Pages.Add();
//Draw?the?text
page.Canvas.DrawString("Hello,?I'm?Created?By?SPIRE.PDF!",
new?PdfFont(PdfFontFamily.TimesRoman,?30f),
new?PdfSolidBrush(Color.Black),?10,?10);
//Save?pdf?file.
doc.SaveToFile("MyFirstPDF.pdf");
doc.Close();

?

以上代碼創建了一個單頁的PDF文件

?

?

?現在我們在同一個PDF文件中再加點料,像邊框啊,水印啦,再加一些有格式設置的圖片。我為了讓我這篇教程看上去比較簡潔,就把所有代碼附在了示例中。它是一個包含了所有代碼的小型windows窗口程序,你可以從這里下載

?

轉換成其它格式并設置相應的格式:

?

基本上每個程序員都被這類的需求困擾過。從一種格式轉換成另一種格式在開發模式中是一件痛苦的事情。舉例來說,現在有很多程序員會問如何把HTML頁面轉換為PDFSpire.Pdf對這個問題給出了簡單的解決方法。不僅僅如此,SPIRE.PDF還提供了如下的轉換:

?

??HTML To PDF

·???????? XPS to PDF

·???????? PDF to XPS

·???????? PDF to Image

?

HTMLPDF的轉換:

?

我上面說的,這是幾乎每個開發人員都需要的功能。用?Spire.Pdf的話,轉換簡直是飛一般的感覺。Spire.Pdf包含創建方法“LoadFromHTML”,它可以用URL做為參數而返回一個PDF文件。

//create?PdfDocument?instance
PdfDocument?doc?=?new?PdfDocument();
//load?html?from?URL
string?url?=?"http://www.google.com";
var?thread?=?new?Thread(()?=>
{
????doc.LoadFromHTML(url,?false,?true,?true);
?
});
//set?to?single?thread
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
//save?to?PDF?document
doc.SaveToFile("FromHTML.pdf",?FileFormat.PDF);
doc.Close();
System.Diagnostics.Process.Start("FromHTML.pdf");

?

從上面的幾行代碼中,你可以觀察到我嘗試從URL中創建一個PDF文件,只是一行叫做LoadFromHTML的方法就可以實現神奇的轉換,下面幾行為保存文件。下面在轉換中有趣的事情就是SPIRE.PDF將鏈接地址的頁面自動轉換為PDF鏈接。

?

PDFXPS的轉換:

?

XPS,是另外一個Microsoft2006年開發的流行文件格式。?Spire.Pdf也提供了將目標文件保存為XPS格式的選擇。看下面代碼,?Spire.Pdf僅僅是加載了PDF文件并使用SaveToFile方法將文件保存為需要的格式。

?

//Input??pdf?file
String?file?=?@"G:\FromHTML.pdf";
//open?pdf?document
PdfDocument?doc?=?new?PdfDocument();
doc.LoadFromFile(file);
//convert?to?xps?file.
doc.SaveToFile(@"G:\PDFToXPS.xps",?FileFormat.XPS);
doc.Close();

?

? ???

XPSPDF的轉換:

Spire.Pdf?也提供了上述方法的逆向轉換,那就是從XPSPDF的轉換,有所不同的是加載文件方法的不同。這里我們使用方法LoadFromXPS就可以了。


//open?xps?document
PdfDocument?doc?=?new?PdfDocument();
doc.LoadFromXPS(file);
//convert?to?pdf?file.
doc.SaveToFile("XPSToPDF.pdf");

?

Spire.Pdf使用枚舉FileFormat,我們可以有4種格式的輸出文件:DOC, HTML, PDF XPS

?

?


擷取PDF –PDF中擷取文本/圖片

?

在平常工作中,我遇到過需要單獨從PDF文件中擷取圖片或文本的問題。

Spire.Pdf也給出了簡潔的解決方案。做的很好的地方是,提供一個單行的代碼就是調用“that”就搞定了。

?

//Create?a?pdf?document.
PdfDocument?doc?=?new?PdfDocument();
//?Load?the?PDF?Document
doc.LoadFromFile(@"G:\sample.pdf");
//?Image?collection?to?hold
IList<Image>?images?=?new?List<Image>();
//?Loop?thru?each?pages
foreach?(PdfPageBase?page?in?doc.Pages)
{
//?Check?that?page?contains?any?images
if?(page.ExtractImages()?!=?null)
{
?????foreach?(Image?image?in?page.ExtractImages())
??????{
?????????images.Add(image);
???????}
?}
?}
//close?the?document
?doc.Close();
?//save?image
int?index?=?0;
foreach?(Image?image?in?images)
{
??String?imageFileName?=?String.Format("Image-{0}.png",?index++);
??image.Save(imageFileName,?ImageFormat.Png);
}

?

在以上代碼中圖片被保存為png格式,輸出界面如下圖:

?

?

PDF中擷取文本也是很簡單。每個編程人員的職業生涯都會面對的擷取。Spire.Pdf可以用以下代碼來解決:

?

//Create?a?pdf?document.
PdfDocument?doc?=?new?PdfDocument();
//?Load?the?PDF?Document
doc.LoadFromFile(@"G:\sample.pdf");
//?String?for?hold?the?extracted?text
StringBuilder?buffer?=?new?StringBuilder();
foreach?(PdfPageBase?page?in?doc.Pages)
{
????buffer.Append(page.ExtractText());
}
doc.Close();
//save?text
String?fileName?=?"TextInPdf.txt";
File.WriteAllText(fileName,?buffer.ToString());
buffer?=?null;

上面的程序片段就將文本提取出來并生成名為TextInPdf.txt的文本文檔。

結論

綜上所述,換句話說,它用簡單有效的方法處理PDF文件。SPIRE.PDF是一個很好的解決PDF API。

轉載于:https://www.cnblogs.com/Yesi/p/4289981.html

總結

以上是生活随笔為你收集整理的Spire.Pdf 的各种操作总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。