Spire.Pdf 的各种操作总结-------------学习笔记

12 篇文章 0 订阅
3 篇文章 0 订阅

首先,从这下载它的免费版: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),  1010); // 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,  falsetruetrue);
 
});
// 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   也提供了上述方法的逆向转换,那就是从 XPS PDF 的转换,有所不同的是加载文件方法的不同。这里我们使用方法 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。


免费Spire.PDF for .NET 是一款由e-iceblue公司开发的专业性的PDF文档创建组件。它能够使用户在不用Adobe Acrobat和其他外部控件的情况下,运用.NET 应用程序阅读,编写和操纵PDF 文档。Spire.PDF for .NET不仅可以运用在服端比如:ASP.NET 或者其他环境,还可以应用在Windows Forms 应用程序中。Spire.PDF for .NET 适合应用于所有常见的坏境中,比如:创建好的PDF文档可以存到磁盘中, 还可以在Windows Forms应用程序,ASP.NET 应用程序客户端浏览器中保存为数据流。 Spire.PDF for .NET 功能丰富。 除了基本的功能比如:绘制多种图形,图片,创建窗体字段,插入页眉页脚,输入数据表,自动对大型表格进行分页外,Spire.PDF for .NET还支持PDF数字签名,将HTML转换成PDF格式,提取PDF文档中的文本信息和图片,存为文本格式和各种图片格式,甚至可以将PDF中的附件提取出来。 主要功能 支持嵌入式字体,Truetype 字体和CJK字体。 支持绘图。比如:矩形,环形,弧形,椭圆形,也可以自定笔刷将其填充。 可以将图片从数据流,磁盘文件中载入到PDF 文档中。 在PDF 文档中既可以绘制梯状图形和矢量图像,还支持掩模和水印图像。 可以在PDF 文档中载入数据表。可以设置表中的行和列的格式,还可以在表内加入图形元素。 自动对PDF 中的大型表格进行分页。 创建窗体字段。比如在PDF 文档中创建按钮,文本框,列表框,复选框等等。 在PDF 中插入页眉页脚。 通过设置所有者密码和用户密码来加密PDF文档。 通过作者的签名来保护PDF文档。 读取当前PDF文档的表格并且填充表格。 HTML网页在转换到PDF文档时会拆分为多个大型页面,这些页面可以原原本本的展现在PDF文档中,而且在PDF文档的分页处没有任何文字的截断。用户还可以将这些网页在不需要临时文件的情况下,直接转换为数据流来创建PDF文档。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值