有谁知道检测给定 PDF 文件是 PDF 包还是 PDF 包而不是“常规”PDF 的方法?我更喜欢 Java 解决方案,尽管由于我还没有找到关于检测特定类型 PDF 的任何信息,我会尽我所能,然后他们会尝试找出 Java 解决方案.
(在搜索过去的问题时,似乎有一群人不知道存在 PDF Portfolio 和 PDF Packages 之类的东西。通常,这两种方式都是 Adobe 允许将多个离散的 PDF 打包成一个单个 PDF 文件。在 Reader 中打开 PDF 包会向用户显示嵌入 PDF 的列表,并允许从那里进一步查看。PDF 包似乎有点复杂——它们还包括用于嵌入文件的基于 Flash 的浏览器,以及然后允许用户从那里提取离散的 PDF。我对他们的问题,以及我希望能够在代码中检测到它们的原因,是因为 OS X 的内置 Preview.app 无法读取这些文件 -所以我想至少警告我的网络应用程序的用户,上传它们会导致跨平台兼容性降低。)
最佳答案
这个问题很老了,但万一有人想知道,这是可能的。可以使用以下命令使用 Acrobat 和 JavaScript 完成。
if (Doc.collection() != null)
{
//It Is Portfolio
}
Acrobat JavaScript API 表示,“从 Doc.collection 属性中获取一个集合对象。当没有 PDF 集合(也称为 PDF 包和 PDF 组合)时,Doc.collection 返回一个空值。集合对象用于设置集合中的初始文档,设置集合的初始 View ,以及获取、添加和删除集合字段(或类别)。”
关于java - 在代码中检测 PDF 包或组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5915262/