【问题标题】:Will adding data at the end of a pdf corrupt it?在pdf末尾添加数据会损坏它吗?
【发布时间】:2014-01-30 20:04:30
【问题描述】:

我想将大量元数据存储在 pdf 中(大约 20+kb 的纯文本 json)。我正在尝试在最后一个 %%EOF 之后将其附加到 pdf 中,并且它适用于我尝试过的所有查看器。

是否有任何理由以这种方式附加文本会导致 pdf 无法在查看器中打开、被标记为损坏/恶意或任何其他负面影响?

【问题讨论】:

  • 好吧,我害怕那个。我不知道有任何 PHP 库可以做到这一点。我认为该功能必须以不同的方式完成。

标签: json pdf metadata


【解决方案1】:

是的。

首先,查看者必须从末尾开始阅读 PDF 文件。你强迫它消耗大量无用的数据,以便找到所需的 %%EOF 签名,告诉它文件中所有其他元素的位置。例如,我希望 PDF/A 检查器将此类文件标记为不合格。

其次,PDF 规范说:“文件的最后一行应仅包含文件结束标记,%%EOF”,这意味着您所做的事情违反了规范。

您可以将信息存储在 PDF 内的流中(纯文本或 ZIP 压缩),也可以将其嵌入为文件(文件附件),这样可以更轻松地提取信息,因为肯定有工具可以显示并使用嵌入式文件。两者对我来说都更有意义。您还可以考虑将此信息存储在 PDF 文件中的 XMP 元数据中(在 PDF 文档中存储元数据的常规方式),但考虑到您要嵌入的数据的大小,这可能很困难/不明智。

【讨论】:

  • 没错。此外,虽然纯 PDF 查看器可能非常宽容,但 pdf 处理软件可能不会。并且任何处理步骤(例如应用集成数字签名)都可能完全丢弃添加的数据或将其移动到文件内部。
猜你喜欢
  • 2012-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多