如何以编程方式验证PDF文件是否为第一代?

如何以编程方式验证PDF文件是否为第一代?,pdf,verification,Pdf,Verification,我正在做一个涉及房利美/房地美统一评估数据集的项目。要求嵌入的评估PDF文件为第一代 我从概念上理解第一代PDF文件是什么(将文档直接打印为PDF,而不是扫描副本或打印扫描副本)。然而,我做了一些研究,并没有发现任何可以通过编程验证的指定第一代PDF属性的内容 我发现了一个产品,它允许人们检查PDF是否包含文本、图像或两者:,但出于预算和其他原因,我正在寻找一种自己编写的方法。此外,我不确定确定文件是否包含文本是否足以验证它是否为第一代 考虑到这是一个非常大的行业的行业要求,我觉得一定有人已经解

我正在做一个涉及房利美/房地美统一评估数据集的项目。要求嵌入的评估PDF文件为第一代

我从概念上理解第一代PDF文件是什么(将文档直接打印为PDF,而不是扫描副本或打印扫描副本)。然而,我做了一些研究,并没有发现任何可以通过编程验证的指定第一代PDF属性的内容

我发现了一个产品,它允许人们检查PDF是否包含文本、图像或两者:,但出于预算和其他原因,我正在寻找一种自己编写的方法。此外,我不确定确定文件是否包含文本是否足以验证它是否为第一代

考虑到这是一个非常大的行业的行业要求,我觉得一定有人已经解决了这个问题,但我很难找到任何东西


提前感谢您的帮助。

无法确定PDF是否为“第一代”。从技术上讲,扫描的PDF只是一个包含图像的PDF,可能还有OCR文本。“第一代”PDF很容易具有相同的特性,因此您必须使用一些启发式方法


例如,只包含图像和不可见文本(来自OCR)的PDF可能会被扫描,具有可见文本或矢量图形的PDF可能是“第一代”(用于扫描PDF的OCR通过将不可见文本覆盖在原始图像上来工作,这样文本选择可以工作,但原始文档的保真度会保持不变).

打开pdf,在评估中键入ctrl“f”。如果你对这个词很感兴趣,那么你就有了第一代appsl。相反,数据集是存在的

我认为如果你把问题和总结归结到你的主要目标上,你会得到更多的关注。您并不是要确定PDF文件是否为“第一代”,而是要确定文档中包含的文本是否仍然是文本格式而不是图像格式。如果你的文件有签名,我甚至不确定这是否对你有效,这将要求他们至少扫描一次(除非使用嵌入的签名图像)。@D.N.关于签名,这是一个很好的观点。评估PDF文件由软件生成,带有签名(如评估师许可证)的部分嵌入为图像。剩下的是文字表格和照片,听起来很合理。你知道有哪种免费的API允许以编程方式检查可见文本吗?顺便说一下,我正在.NET中编程。在.NET/Java世界中似乎很流行。您可能还需要熟悉才能充分利用它。谢谢您的提示。我将查看iText和PDF规范。我曾要求提供一种编程方式,因此这不起作用。