【问题标题】:Using PDF metadata to identity the files using C#使用 PDF 元数据来识别使用 C# 的文件
【发布时间】:2018-07-18 15:18:35
【问题描述】:

场景 - 我有 10 家银行的 pdf 文件的报表。它们都是不同的格式。这些文件中的每一个都有一个相应的解析器来提取数据。现在我们根据文件名将文件提供给解析器。

但是现在源没有提供正确的文件名。因此,我们无法将文件路由到相应的解析器。

我的疑惑,

  1. 每个 pdf 文件都有元数据还是可选的?
  2. 我能否使用元数据来区分 PDF 文件以将文件路由到 对应的解析器。
  3. 我使用以下代码从我的文件中提取元数据,它看起来很混乱。

    http://kuujinbo.info/iTextInAction2Ed/index.aspx?ch=Chapter12&ex=MetadataXmp 5]

自动化这个过程的最佳方法是什么。

提前致谢。

【问题讨论】:

  • PDF 元数据是可选的

标签: c# asp.net pdf itext


【解决方案1】:

在 ISO 32000-1 中,允许使用两种不同类型的元数据:

  • 信息字典中的元数据,
  • XMP 元数据流。

信息字典在 ISO 32000-2 中已弃用。

您引用的示例是 XMP 示例。 XMP 代表可扩展元数据平台。它是以纯文本形式存储在 XML 格式的二进制文件中的元数据。 XMP 可用于 PDF、JPG、PNG、... 不限于 PDF;您还可以在其他类型的文件中找到 XMP 元数据。

此外,XMP 是可选的。 XMP 规范的第一个版本于 2004 年发布(Adobe 于 2001 年开发),而第一个 PDF 规范于 1993 年发布。不用说,许多 PDF 文件缺少 XMP 格式的元数据。

如果要检测文件是否为 PDF 文件,可以查看前 7 个字节。如果前 7 个字节与 %PDF-1. 匹配,则您的 PDF 文件可能遵循 ISO 32000-1 (2008)。如果前 7 个匹配 %PDF-2.,则您有一个声称符合 ISO 32000-2 (2017) 的 PDF 文件。

【讨论】:

    猜你喜欢
    • 2016-07-29
    • 1970-01-01
    • 2010-11-30
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多