前言
本文大部分內(nèi)容來自http://www.codePRoject.com/Articles/710747/First-thoughts-on-Spire-Doc-for-NET。
針對我個(gè)人來說,對辦公自動(dòng)化并沒有多少需求。但作為一個(gè)開發(fā)人員,如果有需求的時(shí)候最好有一個(gè)library工具。前段時(shí)間,E-iceblue的銷售人員之一聯(lián)系我,希望我能幫他們Spire.Office做一個(gè)測評。首先我很高興他們能找到我,這也讓我有了一個(gè)接觸和學(xué)習(xí)新技術(shù)的機(jī)會(huì),在此非常感激E-iceblue的這位員工。他們官方網(wǎng)站為http://www.e-iceblue.com/。
Spire.Office for .NET 是一個(gè)由E-iceblue提供的編譯型的企業(yè)級辦公的.NET組件。它包含了Spire.Doc,Spire xmlS,Spire.Presentation,Spire.PDF,Spire.DataExport, Spire.PDFViewer, Spire.DocViewer, and Spire.BarCode.Spire.Office包含基于.Net 組件的最新版本。
使用Spire.Office for .NET,開發(fā)人員可以創(chuàng)建更為廣泛的應(yīng)用。它使開發(fā)人員能夠打開,創(chuàng)建,修改,轉(zhuǎn)換,打印,查看微軟Word ,Excel,Powerpoint,PDF文檔。此外,它允許用戶將數(shù)據(jù)導(dǎo)出到流行的文件,如MS Word / Excel/ RTF /access,PowerPoint , PDF,XPS , HTML,XML ,Text, CSV , DBF ,Clipboard剪貼板, SYLK等。
最為一個(gè)獨(dú)立的Office .NET組件,Spire.Office不需要在系統(tǒng)上安裝微軟Office文件。此外,它在安全性,穩(wěn)定性,可擴(kuò)展性,速度,價(jià)格和功能方面更好的替代微軟辦公自動(dòng)化。
Spire.Office for .NET可以鏈接到任何類型的32位或64位的.NET應(yīng)用程序,它包括基于.NET框架2.0到4.5版本的asp.net,Web Services和WinForms等應(yīng)用程序。
下面我就來簡單的介紹下Spire.Doc和Spire.PDF,關(guān)于我簡單入門使用的一個(gè)情況吧。
Spire.Doc for .NET
Spire.Doc for .NET是一個(gè)專業(yè)的Word .NET library,使用該工具開發(fā)人員可以在任意.NET品臺(C#,VB.NET,ASP.NET)上快速創(chuàng)建,讀取,寫入,轉(zhuǎn)換, 打印Word文檔文件。作為一個(gè)獨(dú)立的Word 組件,Spire.Doc for .NET并不需要Microsoft Word安裝在你的機(jī)器上。而且,它可以將Microsoft Word文檔創(chuàng)建功能集成到任何開發(fā)者的.NET應(yīng)用程序。
如何得到它?
首先你可以進(jìn)入官網(wǎng)http://www.e-iceblue.com/
然后你可以點(diǎn)擊你需要的組件,比如現(xiàn)在我需要的Spire.Doc for .NET,進(jìn)入之后你便可以下載并最終可以從他們的網(wǎng)站購買Spire.Doc。
下載完之后你會(huì)發(fā)現(xiàn)是一個(gè)MSI的安裝文件。
該Spire.Doc安裝包是干凈的,專業(yè)的MSI安裝程序。前幾個(gè)對話框是一些提示信息以及許可協(xié)議。順便說一句,誰會(huì)把所有的警示信息都仔細(xì)看一遍?但如果你是作為商業(yè)用途準(zhǔn)備投資和使用該產(chǎn)品的公司,閱讀任何軟件公司的許可協(xié)議都是應(yīng)該的。
安裝該Spire.Dco包只用了180M的空間。
MSI安裝選項(xiàng)提供了全面的信息,其中包括:
1、安裝組件(支持不同.NET Framework版本的多個(gè)組件)
2、安裝demo以及源代碼
3、將文件安裝到開發(fā)者本地機(jī)器上
4、添加組件到Visual Studio的引用對話框中
安裝完成后,開發(fā)人員必須手動(dòng)添加引用的程序集。這里可以在Windows HTML幫助下將文件安裝到本地。
創(chuàng)建一個(gè)Word文檔
很多年前,我們曾面臨一個(gè)問題,就是找到要插入格式化文本到文檔的有效途徑。具體來說,就是要生成一個(gè)多段落,多文本并含有特殊格式的Word文檔。
讓我們使用Spire.Doc創(chuàng)建一個(gè)大家熟悉的寫上Hello World的Word文檔。以下是具體步驟:
1、我用VS2012創(chuàng)建了已控制臺的應(yīng)用程序
2.在解決方案資源管理器(Solution Explorer)中,添加一個(gè)新的引用(reference) 到Spire.Doc.dll(在之前安裝MSI后的bin路徑下)
3. 我想看看Spiral.Doc的命名慣例是跟我的直覺一致。于是我開始不看他們的文檔,使用對象瀏覽器 (object browser)來檢查可用的接口。按我的猜測,我想類似下面的代碼可以幫我建立我想要的Word文本。
static void Main(string[] args) { Spire.Doc.Document document = new Document(); Section section = document.AddSection(); Paragraph paragraph = section.AddParagraph(); paragraph.AppendText("Hello World"); document.SaveToFile("Hello Wrold.doc", FileFormat.Doc); Console.WriteLine("Word文檔創(chuàng)建成功!"); Console.ReadLine(); }
編譯成功之后,F(xiàn)5運(yùn)行
如果你有一個(gè)許可證,評估信息(Evaluation Warning)就會(huì)消失。
4、雖然我們很忙,也不妨讓我們來看看它是否可以將Word文檔導(dǎo)出為PDF或HTML。
Spire.Doc.Document document = new Document(); Section section = document.AddSection(); Paragraph paragraph = section.AddParagraph(); paragraph.AppendText("Hello World"); document.SaveToFile("Hello Wrold.doc", FileFormat.Doc); document.SaveToFile("Hello World.pdf", FileFormat.PDF); Console.WriteLine("Word文檔創(chuàng)建成功!"); Console.ReadLine();
其中world拼寫錯(cuò)誤了,哈哈。提一下就不修改了。
我這里是通過瀏覽器打開的pdf文件
嗯,還不錯(cuò)吧,僅僅是多用一行代碼,我可以轉(zhuǎn)換,我的Word文檔保存為PDF格式。對于我們開發(fā)者來說這是很方便的,幾乎每天無業(yè)上都會(huì)要求將Word轉(zhuǎn)換到PDF。從我個(gè)人的經(jīng)驗(yàn),這是每天論壇上最熱的問題之一。
5、這是最簡單的例子之一,但也可以通過stream讀取HTML來創(chuàng)建Word文檔,插入html文件,格式化文件或添加任何元數(shù)據(jù)屬性到Word 文檔。
支持的文件格式
Spire.PDF for .NET
Spire.PDF for .NET 是一款由e-iceblue公司開發(fā)的專業(yè)性的PDF文檔創(chuàng)建組件。它能夠使用戶在不用Adobe Acrobat和其他外部控件的情況下,運(yùn)用.NET 應(yīng)用程序閱讀,編寫和操縱PDF 文檔。Spire.PDF for .NET不僅可以運(yùn)用在服務(wù)端比如:ASP.NET 或者其他環(huán)境,還可以應(yīng)用在Windows Forms 應(yīng)用程序中。Spire.PDF for .NET 適合應(yīng)用于所有常見的壞境中,比如:創(chuàng)建好的PDF文檔可以存到磁盤中, 還可以在Windows Forms應(yīng)用程序,ASP.NET 應(yīng)用程序客戶端瀏覽器中保存為數(shù)據(jù)流。
Spire.PDF for .NET 功能豐富。 除了基本的功能比如:繪制多種圖形,圖片,創(chuàng)建窗體字段,插入頁眉頁腳,輸入數(shù)據(jù)表,自動(dòng)對大型表格進(jìn)行分頁外,Spire.PDF for .NET還支持PDF數(shù)字簽名,將HTML轉(zhuǎn)換成PDF格式,提取PDF文檔中的文本信息和圖片,存為文本格式和各種圖片格式,甚至可以將PDF中的附件提取出來。
主要功能1、支持嵌入式字體,Truetype 字體和CJK字體。
2、支持繪圖。比如:矩形,環(huán)形,弧形,橢圓形,也可以自定筆刷將其填充。
3、可以將圖片從數(shù)據(jù)流,磁盤文件中載入到PDF 文檔中。 在PDF 文檔中既可以繪制梯狀圖形和矢量圖像,還支持掩模和水印圖像。
4、可以在PDF 文檔中載入數(shù)據(jù)表。可以設(shè)置表中的行和列的格式,還可以在表內(nèi)加入圖形元素。
5、自動(dòng)對PDF 中的大型表格進(jìn)行分頁。
6、創(chuàng)建窗體字段。比如在PDF 文檔中創(chuàng)建按鈕,文本框,列表框,復(fù)選框等等。
7、在PDF 中插入頁眉頁腳。
8、通過設(shè)置所有者密碼和用戶密碼來加密PDF文檔。
9、通過作者的簽名來保護(hù)PDF文檔。
10、讀取當(dāng)前PDF文檔的表格并且填充表格。
11、HTML網(wǎng)頁在轉(zhuǎn)換到PDF文檔時(shí)會(huì)拆分為多個(gè)大型頁面,這些頁面可以原原本本的展現(xiàn)在PDF文檔中,而且在PDF文檔的分頁處沒有任何文字的截?cái)唷S脩暨€可以將這些網(wǎng)頁在不需要臨時(shí)文件的情況下,直接轉(zhuǎn)換為數(shù)據(jù)流來創(chuàng)建PDF文檔。
12、等等
下面來制作一個(gè)PDF文件吧
1、新建另外一個(gè)控制臺應(yīng)用程序項(xiàng)目
2、添加Spire.PDF引用,這次我通過Nuget插件來添加
下面是制作一個(gè)簡單PDF的代碼
class Program { static void Main(string[] args) { ///1、創(chuàng)建一個(gè)PDF 的Document PdfDocument doc = new PdfDocument(); PdfUnitConvertor unitCvtr = new PdfUnitConvertor(); PdfMargins margin = new PdfMargins(); margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Bottom = margin.Top; margin.Left = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Right = margin.Left; //2、創(chuàng)建一個(gè)margin為上面定義的PDF的Page頁 PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, margin); ///3、插入一個(gè)背景圖片 System.Drawing.Image img = System.Drawing.Image.FromFile(@"1.png"); page.BackgroundImage = img; ////4、添加水印 PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width / 2, page.Canvas.ClientSize.Height / 3)); brush.Graphics.SetTransparency(0.3f); brush.Graphics.Save(); brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2); brush.Graphics.RotateTransform(-45); brush.Graphics.DrawString("www.survivalescaperooms.com/aehyok", new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.Violet, 0, 0, new PdfStringFormat(PdfTextAlignment.Center)); brush.Graphics.Restore(); brush.Graphics.SetTransparency(1); page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize)); float y = 10; //5、設(shè)置標(biāo)題 PdfBrush brush1 = PdfBrushes.Black; PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial", 16f, FontStyle.Bold)); PdfStringFormat format1 = ne
新聞熱點(diǎn)
疑難解答
圖片精選