有没有一种方法可以创建一个可以在 PDF 文档内部存储整数、浮点数、布尔值和字符串数据的数据结构?

Is there a way to create a data structure that can store integer, float, boolean and string data internally in a PDF document?

我正在做一个项目,需要在 PDF 文档中内部存储小数据集,并在存储后检索这些数据。数据可以是整数、浮点数、布尔值和字符串,我需要知道是否可以创建一个对象来存储这些类型的数据(类似于 Java 中的数组列表)以及我如何才能之后检索数据(这些对象的标识是我最怀疑的)。

如果您有任何答案,请分享,我将不胜感激!

如果您想使用 PDF,您应该查看其规范 ISO 32000。

第 7.3 节的第 1 部分已经定义了其他 PDF 对象类型 BooleanNumeric(整数和实数)、StringArray 个对象。

此外,它在附件 E 中说,符合标准的编写者还可以将键添加到作为字典实现的任何 PDF 对象,文件尾部字典除外,然后描述一个防止此类词典中键名冲突的方法。

所以你可以做的是在 PDF Catalog 中添加一个自定义键(带有你必须注册的前缀),它的值是你的数组(或你想要的任何结构)想在那里),例如

1 0 obj
<< /Type /Catalog
   /Pages 2 0 R
   /PageMode /UseOutlines
   /Outlines 3 0 R
   /MKLx_SO_Felipe [1.2 False 17 (A String)]
>>
endobj

要添加这样的条目并稍后再次检索它,您应该为您的编程语言和运行时使用现有的通用 PDF 库。自己写这样的东西可能比预期的要复杂。


或者,您可以将数据存储在您选择的格式的文件中(XML、JSON、...,您可以命名)并将该文件嵌入 PDF,或者作为 Kevin Brown 在 中提出的文件附件,或作为从某些字典中的自定义名称引用的任意 PDF 流。