Spire.Pdf 的各种操作总结

 Spire.Pdf 的各种操作总结

简介

试验新产品总是给我带来许多挑战,当然这也是一个引进创新技术的好方法。在这里我要跟大家分享的是使用Spire.Pdf的过程,它是来自E-iceblue公司的轻便PDF程序库。

设计情节

我以前经常没事就搞搞PDF。Spire.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页面转换为PDF?Spire.Pdf对这个问题给出了简单的解决方法。不仅仅如此,SPIRE.PDF还提供了如下的转换:

HTML To PDF

·         XPS to PDF

·         PDF to XPS

·         PDF to Image

HTML到PDF的转换:

我上面说的,这是几乎每个开发人员都需要的功能。用 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链接。

PDF到XPS的转换:

XPS,是另外一个Microsoft在2006年开发的流行文件格式。 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();

    

XPS到PDF的转换:

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。

源码:在百度云盘搜索

时间: 2024-10-11 11:29:10

Spire.Pdf 的各种操作总结的相关文章

PDF文档创建组件Spire.PDF for .NET

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

专业性的PDF文档创建组件 Spire.PDF for .NET

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

PDF.NET框架操作——工具应用(一)

PDF.NET是个开源的项目其解决UI层(WinForm / Web)控件数据绑定.映射与查询: BLL层实体对象查询(OQL):DAL层SQL语句和.NET数据访问代码映射(查看  SQL-MAP 原理):由于其工具是VB语言开发,个人将他翻成C#版本,仅供学习和交流,对于初学者和C#初学者有一定能够帮助:有不足之处大家尽管拍砖,下面进入正题: 程序界面 大致思路 通过数据库连接查询所有表名-->根据表中列名.描述及字段类型生成实体类对应的属性-->根据项目需求实体类样式生成文件 所需控件

create pdf file using Spire.Pdf or iTextSharp or PdfSharp

Spire.Pdf: 注:pdf 显示中文一定要设置相应的中文字体,其他外文类似.否则显示为乱码 安装配置:PM> Install-Package Spire.PDF https://stackoverflow.com/questions/5566186/print-pdf-in-c-sharp /// <summary> /// https://stackoverflow.com/questions/5566186/print-pdf-in-c-sharp /// </summa

Spire PDF for .NET 在ASP.NET中的使用 ---- 并非那么“美好”,有些挫折!

笔者注:看此文前,请您先看一下上一篇文章吧. 昨天的时候,我测试了一下Spire PDF在WinForm程序中的应用,可以说用起来很简单(请忽略效率问题,没有进行测试).不过在互联网如此发达的今天,适用WEB才是王道啊.因此,在今天我又在ASP.NET MVC4中体验了一下.准备看看在使用中有没有什么不同. 开发环境 Microsoft Windows 7 With SP1 Ultimate Edition x86 Microsoft VisialStudio 2013 With Update

php如何利用python实现对pdf文件的操作(读写、合并分割)

php如何利用python实现对pdf文件的操作 需求:在PHP里实现了把8.pdf的前4页pdf文件截取出来生成新的pdf文件. 详细步骤如下: 1. 安装python第三方库PyPDF2 前提:python必须是3.x版本以上,必要时需要升级pip3,命令如下:pip3 install --upgrade pipPyPDF 自 2010年 12月开始就不在更新了,PyPDF2 接棒 PyPDF, 在此使用PyPDF2. 安装命令:pip install PyPDF2 2.编写python脚本

图片转换PDF格式如何操作?图片转PDF格式操作方法

图片转成PDF格式怎样操作呢?可能平常大家都是将文件格式进行转换,那对于将图片转成PDF格式大家又了解多少呢?不懂的小伙伴可以来了解一下它的操作方法!觉得好用的可以来尝试操作一遍. 1.在这里可以借助到工具来完成操作.不妨在电脑上安装一个PDF转换器,软件中就包括到这种功能,具体下载的步骤大家应该都会,如图所示:2.鼠标点击进入到操作页面中.主要操作功能都分布在左侧,可以点击到栏目"其他文件转PDF",其中栏目中就包括了图片转换PDF这个功能,关于其它功能在这里就不介绍了,大家可以自己

如何进行PDF文件分割操作?PDF分割操作步骤

作为电脑上班族常常会接触到各种各样格式的文件,PDF就是其中一种(PDF全称Portable Document Format),是一种电子类型的文档.以至于经常需要对它进行处理和编辑.那么如何进行PDF文件分割呢?PDF文件分割操作步骤是怎样的,下面就跟着小编的脚步一起来看一下. 1:进行相关操作之前,可以在电脑桌面上新建一个文件夹并且命名为PDF文件,然后将所要操作的PDF文件添加到文件夹中.小编这样的操作是为了方便后面的操作,2:接着需要借助到PDF文件分割工具,关于安装软件的操作步骤在这里

怎么转换CAD图纸的格式呢?像CAD转PDF要怎么操作?

对于CAD图纸格式的转换,相信很多小伙伴都不会陌生了,对于许多设计人员来说,在绘制各种设计图纸后,都会更加习惯于将图纸保存为PDF格式,很多刚刚开始解析胡CAD的小伙伴就要开始好奇了,为什么要将CAD图纸转换为PDF格式保存呢?为什么不直接对CAD图纸进行查看呢? 这个因为CAD图纸只能在特定的电脑环境中才能进行查看,像是我们一般的看图软件是无法识别dwg图纸的,而PDF格式又是以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,而且也很容易进行查看.