关键词:
【中文标题】在 c# 中比较两个 pdf 文件的最佳方法是啥?【英文标题】:What is the best way of comparing two pdf file in c#?在 c# 中比较两个 pdf 文件的最佳方法是什么? 【发布时间】:2011-05-21 14:36:37 【问题描述】:我想在 C# 中检查两个 PDF 文件的文本内容。
【问题讨论】:
如何比较它们?看他们是一样的吗?找出差异?还有什么? 【参考方案1】:如果它们相同,您可以进行二进制比较。如果要进行上下文比较,您可能需要一个 PDF 库。 Here 是一些库。
【讨论】:
【参考方案2】:这并不容易,但我想第一步是获得一个可以从 PDF 中提取文本的体面的 PDF 库。我使用的一个是 ITextSharp,可从http://itextpdf.com/(开源)获得。然后尝试一个差异库,例如DIffer: a reusable C# diffing utility and class library。祝你好运!
【讨论】:
【参考方案3】:已经有一段时间了,但这个功能对我有用(但不能保证......我不记得我是否在带有嵌入图像或任何东西的 PDF 上尝试过)。文件中嵌入了 GUID 或某种 ID,您只需将其删除并比较其他所有内容。代码如下:
static bool ComparePDFs(string file1, string file2)
if (!File.Exists(file2))
return false;
int i;
string f1 = File.ReadAllText(file1);
string f2 = File.ReadAllText(file2);
if (f1.Length != f2.Length)
return false;
// Remove PDF ID from file1
i = f1.LastIndexOf("/ID [<");
if (i < 0)
Console.WriteLine("Error: File is not a valid PDF file: " + file1);
else
f1 = f1.Substring(0, i) + f1.Substring(i + 75);
// Remove PDF ID from file2
i = f2.LastIndexOf("/ID [<");
if (i < 0)
Console.WriteLine("Error: File is not a valid PDF file: " + file2);
else
f2 = f2.Substring(0, i) + f2.Substring(i + 75);
return f1 == f2;
【讨论】:
【参考方案4】:免责声明:我为 Atalasoft 工作。
Atalasoft 的DotImage SDK 可用于从 C# 中的 PDF 中提取文本。如果 PDF 已经可以搜索,您可以轻松找到文本:
public String GetText(Stream s, int pageNum, int charIndex, int count)
using (PdfTextDocument doc = new PdfTextDocument(s))
PdfTextPage textPage = doc.GetPage(pageNum);
return textPage.GetText(charIndex, count);
否则,您可以使用 OCR 工具来检测图像上的文字。
【讨论】:
在 C# 中解析 html 的最佳方法是啥? [关闭]
.../方法来解析具有比通用xml解析库更多的html特定功能的html文件。【问题讨论】:【参考方案1】:HtmlAgilityPack这是一个敏捷的HTML解析器,它构建一个读 查看详情
在 C# 中解析 html 的最佳方法是啥? [关闭]
.../方法来解析具有比通用xml解析库更多的html特定功能的html文件。【问题讨论】:【参考方案1】:您可以使用HTMLDTD和通用XML解析库。【讨论】:很少有真实世界的H 查看详情
在 c# 中处理全局热键的最佳方法是啥? [复制]
】在c#中处理全局热键的最佳方法是啥?[复制]【英文标题】:Bestwaytotackleglobalhotkeyprocessinginc#?[duplicate]在c#中处理全局热键的最佳方法是什么?[复制]【发布时间】:2010-09-1000:24:33【问题描述】:可能重复:HowcanIregisteraglobalhotkeyt... 查看详情
在 C# 中解析大型 XML(大小为 1GB)的最佳方法是啥?
...布时间】:2010-10-0221:47:23【问题描述】:我有一个1GB的XML文件并且想要解析它。如果我使用XMLTextreader或XMLDocument,结果会很慢,有时会挂起...【问题讨论】:那个无耻插 查看详情
c# 在 c# 应用程序中保存配置数据的最佳方法是啥。 [复制]
】c#在c#应用程序中保存配置数据的最佳方法是啥。[复制]【英文标题】:c#whatisthebestwaytosaveconfigurationdatainc#application.[duplicate]c#在c#应用程序中保存配置数据的最佳方法是什么。[复制]【发布时间】:2016-03-1806:09:25【问题描述】:... 查看详情
在 C# 中比较两个图像的算法
】在C#中比较两个图像的算法【英文标题】:AlgorithmtocomparetwoimagesinC#【发布时间】:2016-05-1102:47:30【问题描述】:我正在用C#编写一个工具来查找重复图像。目前我创建文件的MD5校验和并比较它们。不幸的是,图像可能是:旋转... 查看详情
比较两个 NSArray 并检测更改的最佳方法是啥
】比较两个NSArray并检测更改的最佳方法是啥【英文标题】:WhatisthebestwaytocomparetwoNSArraysanddetectchanges比较两个NSArray并检测更改的最佳方法是什么【发布时间】:2015-09-1903:46:44【问题描述】:我的要求是确定地址簿中的更改(自上... 查看详情
使用 C# 从 ASP.Net MVC 中的视频文件中获取视频元数据的最佳方法是啥?
】使用C#从ASP.NetMVC中的视频文件中获取视频元数据的最佳方法是啥?【英文标题】:What\'sthebestwaytogetvideometadatafromavideofileinASP.NetMVCusingC#?使用C#从ASP.NetMVC中的视频文件中获取视频元数据的最佳方法是什么?【发布时间】:2014-11-2... 查看详情
在 Visual Studio 中为 C# 更新 App.Config 文件的最佳方法是啥? [复制]
】在VisualStudio中为C#更新App.Config文件的最佳方法是啥?[复制]【英文标题】:WhatisthebestwaytoupdateanApp.ConfigfileforC#inVisualStudio?[duplicate]在VisualStudio中为C#更新App.Config文件的最佳方法是什么?[复制]【发布时间】:2020-03-1719:42:03【问题... 查看详情
在 C# 代码中解析(大)XML 的最佳方法是啥?
】在C#代码中解析(大)XML的最佳方法是啥?【英文标题】:Whatisthebestwaytoparse(big)XMLinC#Code?在C#代码中解析(大)XML的最佳方法是什么?【发布时间】:2010-10-1503:30:05【问题描述】:我正在用C#编写一个GIS客户端工具,以从服务... 查看详情
从 pdf 文件导入/读取数据的最佳方法是啥?
】从pdf文件导入/读取数据的最佳方法是啥?【英文标题】:What\'sthebestwaytoimport/readdatafrompdffiles?从pdf文件导入/读取数据的最佳方法是什么?【发布时间】:2010-09-0617:38:33【问题描述】:我们从客户那里以不同格式[布局方式]的pdf... 查看详情
比较具有相同数据但标记不同的两个 HTML 页面的最佳方法是啥
】比较具有相同数据但标记不同的两个HTML页面的最佳方法是啥【英文标题】:WhatisthebestwaytocomparetwoHTMLpageswithsamedatabutdifferentmarkup比较具有相同数据但标记不同的两个HTML页面的最佳方法是什么【发布时间】:2020-08-0500:38:07【问题... 查看详情
从 .CSV 文件比较/插入/更新 MySQL 数据库中的产品的最佳方法是啥
】从.CSV文件比较/插入/更新MySQL数据库中的产品的最佳方法是啥【英文标题】:What\'sthebestwaytocompare/insert/updateproductsinaMySQLdbfroma.CSVfile从.CSV文件比较/插入/更新MySQL数据库中的产品的最佳方法是什么【发布时间】:2015-06-2708:33:38【... 查看详情
在 Delphi 中播放视频文件的最佳方法是啥?
...oLab组件,您应该接受Serge的回答。嗯,我想我应该接受这两个答案(因为 查看详情
比较两个 CultureInfo 实例的最佳方法是啥?
】比较两个CultureInfo实例的最佳方法是啥?【英文标题】:WhatisthebestwaytocomparetwoCultureInfoinstances?比较两个CultureInfo实例的最佳方法是什么?【发布时间】:2014-06-2515:41:07【问题描述】:背景:我有一个组件的问题,每次调用它的... 查看详情
在 C# 字符串中的 HTML 中搜索特定文本并标记文本的最佳方法是啥?
】在C#字符串中的HTML中搜索特定文本并标记文本的最佳方法是啥?【英文标题】:WhatisthebestwaytosearchthroughHTMLinaC#stringforspecifictextandmarkthetext?在C#字符串中的HTML中搜索特定文本并标记文本的最佳方法是什么?【发布时间】:2010-10-... 查看详情
使用 C# 和 SQL 解决 datagridview 中重复条目的最佳方法是啥?
】使用C#和SQL解决datagridview中重复条目的最佳方法是啥?【英文标题】:WhatisthebestwaytoaccountforduplicateentriesindatagridviewwithC#andSQL?使用C#和SQL解决datagridview中重复条目的最佳方法是什么?【发布时间】:2021-05-0412:46:34【问题描述】:... 查看详情
客户端应用程序在 C# 中查找本地网络上的服务器的最佳方法是啥?
】客户端应用程序在C#中查找本地网络上的服务器的最佳方法是啥?【英文标题】:WhatisthebestwayforaclientapptofindaserveronalocalnetworkinC#?客户端应用程序在C#中查找本地网络上的服务器的最佳方法是什么?【发布时间】:2010-09-1715:34:42... 查看详情