65.9K
CodeProject 正在变化。 阅读更多。
Home

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

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2012年1月3日

CPOL

3分钟阅读

viewsIcon

72071

在本文中,我们将介绍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命名空间中的两个类:PDFFilePDFDocumentPDFFile类用于修改元数据、页面和进行转换。 PDFDocument类负责解析和修改PDF文件的文档对象结构。

在下面的示例中,我们使用PDFFilePDFDocumentProperties类来加载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主评估版本中。要运行此示例,您需要以下内容:

支持

需要帮助来运行此示例吗?联系我们的支持团队,获得免费技术支持!有关定价或许可问题,您可以联系我们的销售团队(sales@leadtools.com)。

© . All rights reserved.