您好,使用Aspose.Pdf如何实现两个PDF文件对比,并标记出两个文件差异的地方。
类似 在线差异工具,可比较两个PDF文档。 这样的功能呢?实现思路是怎么样的呢?
您好!目前,Aspose.PDF 并不直接支持 PDF 文件的对比功能。虽然这个功能在 Aspose 的问题追踪系统中已经被记录为一个特性请求,但您可以考虑使用 GroupDocs 的文档比较 API,这也是 Aspose 的一个子公司,提供类似的功能。
如果您希望实现 PDF 文件的对比并标记出差异,您可以参考以下代码示例,虽然它主要是处理表单字段的差异,但可以为您提供一些思路:
using System.IO;
using Aspose.Pdf.Facades;
namespace Aspose.Pdf.Examples.CSharp.AsposePDFFacades.TechnicalArticles
{
public class DifferenceBetweenFile
{
public static void Run()
{
// 指定文档目录
string dataDir = RunExamples.GetDataDir_AsposePdfFacades_TechnicalArticles();
// 加载第一个 PDF 文件
Aspose.Pdf.Facades.Form form = new Aspose.Pdf.Facades.Form(dataDir + "FilledForm.pdf");
String[] allfields = form.FieldNames;
System.Drawing.Rectangle[] box = new System.Drawing.Rectangle[allfields.Length];
for (int i = 0; i < allfields.Length; i++)
{
FormFieldFacade facade = form.GetFieldFacade(allfields[i]);
box[i] = facade.Box;
}
form.Save(dataDir + "DifferenceBetweenFile_out.pdf");
Document document = new Document(dataDir + "FilledForm - 2.pdf");
FormEditor editor = new FormEditor(document);
for (int i = 0; i < allfields.Length; i++)
{
editor.AddField(FieldType.Text, "TextField" + i, allfields[i], 1, box[i].Left, box[i].Top, box[i].Left + 50, box[i].Top + 10);
}
editor.Save(dataDir + "DifferenceBetweenFile_out.pdf");
}
}
}
这个示例展示了如何处理 PDF 表单字段的差异,您可以根据自己的需求进行修改和扩展。希望这些信息对您有所帮助!如果您有其他问题,请随时询问。