我必须创建一个工具,将其创建日期添加到几个 .pdf 文件名中。
我想使用内部存储在 pdf 中的创建日期,为此我下载了 iText Community Edition。
现在,我的代码是这样开始的(VB)
Module Module1
Sub Main()
Dim filename As String = My.Application.CommandLineArgs(0)
Dim PDFReader = New Pdf.PdfReader(filename)
Dim PDFDocument = New Pdf.PdfDocument(PDFReader)
Dim documentinfo As Pdf.PdfDocumentInfo = PDFDocument.GetDocumentInfo
Dim author As String = documentinfo.GetAuthor
Dim creator As String = documentinfo.GetCreator
Dim mypdfobject = documentinfo.GetPdfObject
End Sub
End Module
我得到了 GetAuthor 和 GetCreator 以及其他几个 Get 方法,但我找不到像 GetCreationDate 这样的东西,只有 AddCreationDate。
如果我进一步深入 mypdfobject,我会发现映射一个 /Creationdate 标签,所以我想使用它,但是,虽然它通常采用 D:20160704132234+02'00' 格式,但有时我会发现一些看起来像是二进制数据的东西,我不知道如何解码。
有没有更好的方法来获取创建日期?
Thanks
Stefano
创建日期是 PDF 字符串值。有两种表示字符串的方法。你已经知道这样了:(D:20160704132234+02'00')
,但还有十六进制表示法,例如:<443A32303136303730343133323233342b303227303027>
.
当你有一个PdfString
,您可以通过不同的方式获取该值:有toString()
,但也有toUnicodeString()
。当你有一个String
版本,您可以获得Calendar
对象从PdfDate
class:
Calendar date = PdfDate.decode(s);
如果您想要 W3C 格式的日期,您可以执行以下操作:
string w3cDate = PdfDate.getW3CDate(s);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)