LEADTOOLS使用教程:读写、编辑PDF文件和元数据

PDF是使用最广泛的文档格式之一,因此,各软件厂商竭力开发支持PDF的解决方案。LEADTOOLS Document and Medical Imaging SDK可通过LEADTOOLS提供的先进PDF插件为.Net应用程序添加强大的PDF支持。除了加载和保存可检索文本和图像基础的PDF文件,LEADTOOLS还可以提取和编辑文本(无需OCR)、合并、拆分页面、阅读和更新书签、链接、跳转和源数据等。接下来,我们将以示例的方式向大家展示LEADTOOLS的高级PDF插件。

LEADTOOLS PDF插件功能:

PDF Document功能:

  • 加载和查看任何PDF文档
  • 提取文本(字,词,线),字体,图像以及带有位置和大小的超链接和矩形
  • 全面支持unicode,包括中文,日文,阿拉伯语和希伯来语
  • 通过读取PDF书签(阅读目录)和内部链接来解析文档结构
  • 生成光栅图像或缩略图

PDF File功能:

  • 全面支持多页:
    • 将现成PDF文档合并为单个PDF
    • 将单个PDF拆分为多页PDF
    • 提取,删除,插入和替换现有PDF文件中的任意页面
  • 读取和更新现成PDF文件的目录(TOC)
  • 将任意现有PDF文档转换为PDF/A
  • 线性化(优化用于Web查看)任意现有PDF
  • 加密/解密文档
  • 读写和更新所有PDF元数据,如作者、标题、主题和关键字
  • 读写和更新PDF文件目录

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格式。

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);

PDFDocument类提供了可检索PDF功能。使用 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());

你可能感兴趣的:(pdf,图像处理,LEADTOOLS)