使用LEADTOOLS读取、写入和编辑PDF文件及元数据





0/5 (0投票)
在本文中,我们将介绍LEADTOOLS高级PDF插件包含的几个核心功能。
引言
PDF可以说是世界上最具影响力和最广泛使用的文件格式之一。因此,软件开发人员竭尽全力提供支持PDF及其众多功能解决方案也就不足为奇了。
LEADTOOLS文档和医疗影像SDK可以使用LEAD的高级PDF插件为他们的.NET应用程序添加强大的PDF支持。除了加载和保存文本可搜索和基于图像的PDF文件外,LEADTOOLS还可以提取和编辑文本(无需OCR),合并和拆分页面,读取和更新书签、链接、跳转、元数据等等。
在本文中,我们将介绍新推出的LEADTOOLS高级PDF插件所包含的几个核心功能。
LEADTOOLS高级PDF插件的关键功能
PDF文档功能
- 加载和查看任何PDF文档
- 提取文本(字符、单词和行)、字体、图像、矩形和超链接(包括位置和大小)
- 完整支持Unicode,包括中文、日文、阿拉伯文和希伯来文
- 通过读取PDF书签(目录)和内部链接(跳转)来解析文档结构
- 生成任何页面的栅格图像或缩略图
PDF文件功能
- 全面的多页支持,包括
- 将现有PDF文件合并成一个PDF
- 将单个PDF文件拆分成多个PDF文件
- 提取、删除、插入或替换现有PDF文件中的任何页面
- 读取和更新现有PDF文件的目录(TOC)
- 将任何现有PDF转换为PDF/A
- 线性化(优化网络查看)任何现有PDF
- 加密/解密文档,并与任何PDF版本进行转换
- 读取、写入和更新所有PDF元数据,如作者、标题、主题和关键字
- 读取、写入和更新PDF文档目录
- 将Postscript转换为PDF(Distill),并针对电子书、屏幕和印前进行优化
高级PDF插件可添加到以下SDK产品中
Using the Code
LEADTOOLS高级PDF功能构建于Leadtools.Pdf命名空间中的两个类:PDFFile和PDFDocument。PDFFile类用于修改元数据、页面和进行转换。 PDFDocument类负责解析和修改PDF文件的文档对象结构。
在下面的示例中,我们使用PDFFile和PDFDocumentProperties类来加载PDF并修改其元数据。
string fileName = @"C:\Document.pdf";
// Load it
PDFFile file = new PDFFile(fileName);
// Update the properties
file.DocumentProperties = new PDFDocumentProperties();
file.DocumentProperties.Author = "Me";
file.DocumentProperties.Title = "My Title";
file.DocumentProperties.Subject = "My Subject";
file.DocumentProperties.Creator = "My Application";
file.DocumentProperties.Modified = DateTime.Now;
// Save it
file.SetDocumentProperties(null);
同样,PDFFile类提供了几个高级函数,用于从PDF文件中插入、删除、合并页面,以及执行文档转换,如线性化(优化网络查看)和PDF/A。以下示例合并了三个文件并将它们转换为PDF/A。
string fileName1 = @"C:\File1.pdf";
string fileName2 = @"C:\File2.pdf";
string fileName3 = @"C:\File3.pdf";
string finalFileName = @"C:\Final.pdf";
// Load first file
PDFFile file = new PDFFile(fileName1);
// Merge with second and third files, put the result in final
file.MergeWith(new string[] { fileName2, fileName3 }, finalFileName);
// Convert final file to PDF/A
file = new PDFFile(finalFileName);
file.ConvertToPDFA(null);
PDF最重要的功能可能是其可搜索的文本,而这正是PDFDocument类发挥作用的地方。使用PDFParsePagesOptions,您可以选择要从PDF中解析的内容,包括对象、字体、超链接等。在下面的示例中,我们将加载一个PDF并在MessageBox
中显示其可搜索文本。
string fileName = @"C:\Document.pdf";
// Create a PDF document
PDFDocument document = new PDFDocument(fileName);
// Parse the objects of the first page
document.ParsePages(PDFParsePagesOptions.Objects, 1, 1);
// Get the page
PDFDocumentPage page = document.Pages[0];
// Use a StringBuilder to gather the text
StringBuilder text = new StringBuilder();
// Loop through the objects
foreach (PDFObject obj in page.Objects)
{
switch (obj.ObjectType)
{
case PDFObjectType.Text:
// Add the text character code
text.Append(obj.Code);
// If this is the last object in a line, add a line terminator
if (obj.TextProperties.IsEndOfLine)
text.AppendLine();
break;
case PDFObjectType.Image:
case PDFObjectType.Rectangle:
default:
// Do nothing
break;
}
}
// Show the text
MessageBox.Show(text.ToString());
结论
LEADTOOLS通过易于使用的高级编程接口,为开发人员提供了世界上性能最好、最稳定的影像库,从而能够快速开发关键业务应用程序。
PDF只是LEADTOOLS提供的众多技术之一。有关我们其他产品的更多信息,请务必访问我们的主页,下载完全免费的功能评估SDK,并在评估期间享受免费技术支持。
下载完整示例
截图和代码片段所取用的演示版本包含在LEADTOOLS主评估版本中。要运行此示例,您需要以下内容:
- LEADTOOLS 免费 60 天试用版
- Microsoft Visual Studio 2008 或更高版本
支持
需要帮助来运行此示例吗?联系我们的支持团队,获得免费技术支持!有关定价或许可问题,您可以联系我们的销售团队(sales@leadtools.com)。