iTexPDFt 和 iTextSharp 中 UTC 的 PDFDate 格式
PDFDate format for UTC in iTexPDFt and iTextSharp
在 iTextPDF 5.5.8 for Java 中以 UTC 时区创建 PDFDate 时,我得到以下格式:
(D:20160212073102Z)
而在 iTextSharp(旧版本)中,我得到的 UTC 格式为:
(D:20160212082328+00'00')
虽然 Adobe Reader 可以处理这两个版本,但我们的一个 Adobe Acrobat 签名插件需要第一个版本并且无法处理 +00'00'(尽管它接受 +01'00')。
现在我的问题是:有谁知道,我们怎样才能让 iTextSharp 产生第一个版本? (D:20160212073102Z)
谢谢
您为旧版 iTextSharp 显示的格式
(D:20160212082328+00'00')
是错误的,规范里写的很清楚:
A PLUS SIGN as the value of the O field signifies that
local time is later than UT, a HYPHEN-MINUS signifies that local time is earlier than UT, and the LATIN
CAPITAL LETTER Z signifies that local time is equal to UT
因此,Z
格式必须用于 UTC。
因此,您最好尝试更新到当前的iTextSharp 并再次测试。如果仍然有错误的表格,请相应地更新您的问题。这样的bug肯定会很快修复的。
在 iTextPDF 5.5.8 for Java 中以 UTC 时区创建 PDFDate 时,我得到以下格式:
(D:20160212073102Z)
而在 iTextSharp(旧版本)中,我得到的 UTC 格式为:
(D:20160212082328+00'00')
虽然 Adobe Reader 可以处理这两个版本,但我们的一个 Adobe Acrobat 签名插件需要第一个版本并且无法处理 +00'00'(尽管它接受 +01'00')。
现在我的问题是:有谁知道,我们怎样才能让 iTextSharp 产生第一个版本? (D:20160212073102Z)
谢谢
您为旧版 iTextSharp 显示的格式
(D:20160212082328+00'00')
是错误的,规范里写的很清楚:
A PLUS SIGN as the value of the O field signifies that local time is later than UT, a HYPHEN-MINUS signifies that local time is earlier than UT, and the LATIN CAPITAL LETTER Z signifies that local time is equal to UT
因此,Z
格式必须用于 UTC。
因此,您最好尝试更新到当前的iTextSharp 并再次测试。如果仍然有错误的表格,请相应地更新您的问题。这样的bug肯定会很快修复的。