以编程方式将注释添加到PDF标题

Dav*_*ker 5 pdf

有没有人在为PDF文件添加其他信息方面取得任何成功?

我们有一个电子病历系统,为我们的用户生成医疗文件.过去,这些文档都是Print-To-File(.prn)文件,我们将这些文件提供给一个系统,该系统将它们显示为企业医疗记录的一部分.

现在,医院的企业医疗记录供应商希望以PDF格式接收文档,但仍希望将所有相同的信息存储在标题中.

老实说,我们无法弄清楚如何将信息放入不破坏PDF文件的PDF文件中.

这是我们其中一个PDF的开头......

%PDF-1.4  
%âãÏÓ  
6 0 obj  
<<  
   /Type /XObject  
   /Subtype /Image  
   /BitsPerComponent 8  
   /Width 854  
   /Height 130  
   /ColorSpace /DeviceRGB  
   /Filter /DCTDecode  
   /Length 17734>>  
stream  
Run Code Online (Sandbox Code Playgroud)

在我们的PRN文件中,我们将插入如下信息:

%MRN% TEST000001
%ACCT% TEST0000000000001
%DATE% 01/01/2009^16:44
%DOC_TYPE% Clinical
%DOC_NUM% 192837475
%DOC_VER% 1
Run Code Online (Sandbox Code Playgroud)

我的问题是,我是否可以以允许文档服务器执行后处理的方式将此信息插入PDF中,但查看PDF的医生不可见?

谢谢,

大卫沃克

bal*_*pha 6

是的你可以.PDF文件中以百分号开头的任何行都是注释,因此被忽略(PDF的前两行实际上也是注释).因此,您可以像在PRN中那样将信息插入到PDF中.

然而:

PDF格式与字节位置引用一起使用,因此如果将数据插入到完成的PDF文件中,这将使其余数据远离其原始位置,从而破坏文件.您也不能将其附加到文件中,因为PDF文件必须以

startxref
123456
%%EOF
Run Code Online (Sandbox Code Playgroud)

(123456就是一个例子).您可以在这三行之前插入数据."startxref"部分的字节位置从不在任何地方引用,因此如果将最后一部分推向最后,则不会破坏任何内容.

编辑:这当然假设没有校验和,签名或加密.这会让事情变得更复杂.

编辑2:正如Javier正确指出的那样,您也可以将数据添加到最后,只需将三行的副本添加到其末尾即可.归结为同样的事情,但它更容易一些.