Java PDF文档类型说明(如PDF/A-1)

Java PDF文档类型说明(如PDF/A-1),java,pdf,netbeans,pdf-generation,jodconverter,Java,Pdf,Netbeans,Pdf Generation,Jodconverter,我正在开发存储法律文档的软件,我认为PDF可能是一种理想的工作格式。然而,我有点困惑,在PDF文件的实际格式中,什么最适合我在这方面的需要 我对文件有以下要求: 如果不是更长的话,将至少保存7年 不可编辑 包含图像和文本(图像最好是.jpg格式) 我最初考虑使用PDF/A-1,但我发现这种格式似乎不喜欢使用JPEG图像,或者至少在使用JODConverter时不喜欢 任何关于哪种格式最能满足这些需求的建议/解释都将不胜感激 PDF/A-1是一种很好的长期存储格式(正如其初衷),因此它尝试删除

我正在开发存储法律文档的软件,我认为PDF可能是一种理想的工作格式。然而,我有点困惑,在PDF文件的实际格式中,什么最适合我在这方面的需要

我对文件有以下要求:

  • 如果不是更长的话,将至少保存7年
  • 不可编辑
  • 包含图像和文本(图像最好是.jpg格式)
我最初考虑使用PDF/A-1,但我发现这种格式似乎不喜欢使用JPEG图像,或者至少在使用JODConverter时不喜欢


任何关于哪种格式最能满足这些需求的建议/解释都将不胜感激

PDF/A-1是一种很好的长期存储格式(正如其初衷),因此它尝试删除外部依赖项。这包括一些事情,如嵌入字体和禁用外部超链接(这也有道理,但可能是一个陷阱)。上有一些有用的信息(请查看“关键规格”选项卡)。PDF听起来像是您需求的正确答案


嵌入的图像应该不是问题。JODReports可能做错了什么(或者下面使用的OpenOffice/LibreOffice版本)。您可以尝试切换底层基础架构(OO/LO)的部分,尝试直接从OpenOffice/LibreOffice GUI进行实验-导出PDF/A-1,看看结果是什么,或者尝试链中的其他工具(例如Docmosis,尽管它基于类似的技术)。

对于您描述的需求,请参见PDF/A-1b(是的,b结尾!)是理想的格式。b是基本格式——它比PDF/A-1a(A结尾)要求不那么严格,PDF/A-1a是用于可访问的(或者高级的,如我记忆法所示)

如果您在实现PDF/A-1a方面没有任何困难,您不妨尝试一下。但是,根据您的源文档,PDF/A-1a可能非常困难,几乎不可能生成(因为它需要为可访问性功能添加文件内容的附加标签)

至于JPEG:当然,PDF/A-1b支持JPEG。它不允许使用JPEG2000压缩,因为该算法在定义PDF/A-1b标准时受到专利保护。因此,PDF/A-1b生成软件必须使用其他方法之一使用这种压缩重新压缩对象(但这并不构成大的实际问题。)


你可能还想看看这个网站。(披露:我是PDFA的成员。)

你熟悉JODConverter吗?我找不到任何关于如何将我的PDF转换为A-1b规范的信息。不过,感谢你提供的信息,这是对我问题的一个很好的回答!@Matthew Pigram:因为JODConverter依赖于LibreOffice或OpenOffice:两者都有能力导出为PDF/A-1a。不过,要想成功,这两种技术都是可行的(以便最终结果真正通过PDF/a-1a验证程序)您的源ODT文档需要使用良好的模板进行正确格式化(以便以后对PDF进行标记时能够相应地工作).PDF/A只是创建PDF文件的规则还是与PDFv1.7不同的强规范?如果我将根据限制列表创建PDF,它是否为PDF/A?@user15430083:A“PDF/A”规范本身不存在--它是“PDF/A-1b”或“PDF/A-1a”(不谈论“PDF/A-2*”,甚至…)它们都基于通用的PDF-1.4规范。它们确实限制了功能(甚至禁止某些功能)这在通用的PDF-1.4规范中是允许的——并且它们确实禁止PDF-1.5、PDF-1.6和PDF-1.7中的所有新功能!@user1543083:PDF/A-1b还要求在PDF元数据中显示一个特定的标志,声明自己为PDF/A-1b。否则,它可能满足所有标准,但不会被查看者识别为这样的文件。您的软件支持吗您需要将旧文件格式转换为PDF/A吗?或者您可以自由地从头开始工作,并设置一个系统,在该系统中,只有新创建的文档需要通过您的软件进行归档?一些旧文档需要转换为PDF格式,但我只想支持Open Office支持的任何文档,以及7年来的大多数文档由于7年前人们使用MS Word,ago应该(希望)很容易转换为PDF格式。只有仍需要保存的文档(即7年)才需要转换为PDF格式。