4

複数の .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' の形式であることが多いのですが、バイナリ データのように見えるものを見つけて、それをデコードする方法がわかりません。

作成日を取得するより良い方法はありますか?

ありがとう

ステファノ

4

1 に答える 1

4

作成日は PDF 文字列値です。文字列を表す方法は 2 つあります。という方法はすでにご存じ(D:20160704132234+02'00')のとおりですが、16 進表記もあります。たとえば、 です<443A32303136303730343133323233342b303227303027>

がある場合PdfString、さまざまな方法で値を取得できます。 もありますtoString()が、 もありtoUnicodeString()ます。Stringバージョンがある場合、クラスCalendarからオブジェクトを取得できます。PdfDate

Calendar date = PdfDate.decode(s);

W3C 形式の日付が必要な場合は、次のようにすることができます。

string w3cDate = PdfDate.getW3CDate(s);
于 2016-07-18T02:15:59.443 に答える