使用 iText 7 获取 PDF 文件的创建日期

2023-11-25

我必须创建一个工具,将其创建日期添加到几个 .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(使用前将#替换为@)

使用 iText 7 获取 PDF 文件的创建日期 的相关文章

  • PDF Tj 命令带有尖括号?

    我试图弄清楚在哪里未压缩的PDF v1 4 文档使用 Times 字体 The Font描述 PDF 中 Times 字体的对象是 object65如下 65 0 obj lt Font Subtype TrueType BaseFont
  • 返回上个月的日期时间对象

    如果 timedelta 在它的构造函数中有一个月份参数就好了 那么最简单的方法是什么 EDIT 正如下面指出的那样 我并没有认真考虑这一点 我真正想要的是上个月的任何一天 因为最终我只会获取年份和月份 因此 给定一个日期时间对象 返回的最
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn
  • 如何在 xslt 2.0 中解析字符串到日期

    是否可以像这样转换字符串30042013 2013 年 4 月 30 日 日期格式 所以我可以稍后在类似的函数中使用它format date 就像托马拉克说的 你可以使用substring and concat 要构建一个字符串 您可以将其
  • 如何使用 Python 3 正确显示倒计时日期

    我正在尝试获取将显示的倒计时 基本上就像一个世界末日时钟哈哈 有人可以帮忙吗 import os import sys import time import datetime def timer endTime datetime datet
  • LinqToSql 声明和实例化 DataContext 最佳实践?

    设置 DataContext 以便在扩展 LinqToSql 类中轻松访问方面的最佳实践是什么 例如 我的 dbml 中有一个 User 实体 我想向该类添加方法 如下所示 Partial Public Class User Public
  • 无法在 VB MVC 应用程序中创建 HtmlHelper 方法

    我无法弄清楚以下代码中缺少什么 我有一个应该添加 虚拟 辅助扩展的方法 Imports System Runtime CompilerServices Namespace HtmlHelpers Public Module HelpExte
  • 从 Internet Explorer 打印时的默认文件名

    使用 pdf 打印机打印网页 将页面另存为 pdf 时 Chrome 和 Firefox 都使用该页面
  • 在java中将字符串日期转换为美国格式

    我有下面的代码 其中日期为字符串类型 我必须将其设置为美国格式 所以下面我已经展示了它 private static final SimpleDateFormat usOutputDate new SimpleDateFormat MM d
  • 直接将 .aspx 转换为 .pdf [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过 VB.NET 创建/编辑文本文件

    如何在 VB NET 中编写以下算法的代码 Procedure logfile if C textfile txt exist then open the textfile else create the textfile end if g
  • 使用 PHP 创建图表并导出为 PDF

    我正在寻找有关使用 PHP 创建图表的建议 我还希望能够将这些图表导出到 PDF 文档 我目前正在使用谷歌图表 但我不喜欢将我的所有信息发送到谷歌的想法 我更喜欢自己的托管解决方案 我见过很多 Flash 解决方案 但我不知道有什么方法可以
  • 如何存储没有年份部分的生日?

    类似问题 Postgres 生日选择 https stackoverflow com questions 6913719 postgres birthdays selection 我们正在设计一项新功能 我们将存储人们生日的月份和日期部分
  • 是否可以修改 PDF 表单字段名称?

    情况是这样的 我有一个 PDF 其中包含自动生成的 pdf 表单字段名称 问题是这些名称不太用户友好 它们看起来像 topmostSubform 0 Page1 0 Website Address 0 我希望能够更改它们 使它们类似于 We
  • 如何设置 Firefox 配置文件:Selenium RC、.Net 客户端驱动程序?

    我正在使用 Selenium RC Net 客户端驱动程序 我在 c selenium 目录中创建了一个 Firefox 配置文件 这是我的代码 Dim MySelenium As ISelenium Nothing MySelenium
  • 获取今天的科普特日期

    我正在寻找获取今天的科普特日期与任何代码类型类似php or javascript在我的网站标题中显示科普特日期 我需要阿拉伯语或英语版本 我试图找到它 但没有找到类似的英文内容 参考 http www copticchurch net e
  • 设置国际货币格式

    我有一个 asp net 应用程序 我们正在 全球化 过程中 我将 currentculture 和 currentUICultre 设置为适当的值 并且货币按预期使用货币格式显示 即 FormatCurrency nPrice 产生 en
  • Outlook 加载项,无法读取未定义的属性“BeginRequestEventArgs”

    我使用 Visual Studio 开发了 Outlook 插件 我的插件有一个按钮 用于填充会议邀请正文中的详细信息并添加所需的与会者 这在 99 的情况下都有效 但是 时不时地它会给我下面的 JavaScript 错误 Uncaught
  • 在另一种语言中使用 dateFormatter [重复]

    这个问题在这里已经有答案了 我正在运行一段返回的代码nil在具有不同语言设置的 iPhone 上运行时 代码示例如下所示 let dateFormatter DateFormatter dateFormatter dateFormat MM
  • 合并两个(或更多)PDF

    背景 我需要为我的销售人员提供每周报告包 该包包含几个 5 10 个水晶报告 Problem 我想允许用户运行所有报告并且只运行单个报告 我想我可以通过创建报告然后执行以下操作来做到这一点 List

随机推荐

  • 如何使用ng-if和table根据条件显示td

    参考之前关于 DIV 内 ng if 的帖子作为参考 这里给出的链接 DIV 内的 Ng If 但是当我在表内使用 ng if 与 td 上的 ng repeat 尝试相同的操作时 它似乎效果不佳 如果我错了 请纠正我 我尝试了 2 次根据
  • iOS 10 上设置的自定义 URL 方案?

    知道 iOS 10 上设置的自定义 URL 方案发生了什么吗 Apple 是否仍允许第三方应用程序通过 iOS10 上的 URL 方案从应用程序启动 iOS 设置 旧的 URL 方案不再有效 以前在 iOS 8 上启动根 设置 应用程序的方
  • pdfbox:如何克隆页面

    使用 Apache PDFBox 我正在编辑一个现有文档 我想从该文档中取出一页并简单地克隆它 复制它包含的任何元素 作为额外的转折 我想获得所有的参考PDFields 用于这个新克隆的页面中的任何表单字段 这是我到目前为止尝试过的代码 P
  • 反引号对 Python 解释器意味着什么?示例:`num`

    我正在尝试列表理解 我在另一个网站上发现了这个小片段 return join num for num in xrange loop count 我花了几分钟尝试复制该功能 通过键入 然后才意识到 num 有点打破了它 在这些字符中包含一个声
  • asp.net Web Api - 默认错误消息

    有没有办法更改 Web Api 的错误消息的默认行为 例如 GET trips abc 回应 释义 HTTP 500 Bad Request Message The request is invalid MessageDetail The
  • 使用向量元素调用函数的通用模板

    我想用来自向量的参数调用一个函数 仅此一项当然非常简单 但我想编写一个通用包装器来为我完成任务 稍后它还应该从像 boost variant 这样的泛型类型进行转换 但我想在这个问题解决后我可以处理这个问题 这是我的第一次尝试 includ
  • 在同一个应用程序中使用谷歌地图和百度地图

    我想知道是否有人在同一版本中实现了谷歌地图V2和百度地图 因为通用汽车在中国没有按预期运作 或者我应该将项目分成两个分支 然而 最好跳过维护两个分支 我的解决方案是照常实现 GM 但是如果用户设置了中国 通过设置 静态地图 则使用静态地图
  • SKScene iPad 高度宽度反转

    我正在尝试在仅支持横向模式的 iPad 应用程序中用图块填充我的 SKScene 在场景中我检测到 h w 如下 int h UIScreen mainScreen bounds size height int w UIScreen mai
  • 如何为Asp.Net中的所有子文件夹注册HttpHandler?

    我想注册一个 HttpHandler 以包含根文件夹的所有子文件夹 无论它们嵌套的深度如何 我本希望下面的代码的行为能够做到这一点 但实际上它只包含直接位于根文件夹中的项目
  • 第 25 行出现错误 1030 (HY000):来自存储引擎的错误 168

    我正在尝试将 sql 导入到我的数据库中 我正在使用 Ubuntu 操作系统 这是一个错误 david david VirtualBox mysql u root p test project lt db sql Enter passwor
  • 如何验证 string.Format 方法的格式

    string Format 具有以下方法签名 string Format format params 我想每次都传递自定义格式 string custFormat Hi 0 n I only care about numbers here
  • 如何使用 Require.js 实现 TinyMCE?

    我目前正在将 TinyMCE 源作为依赖项传递 然后调用 tinyMCE init 但它没有初始化 TinyMCE 当我console log TinyMCE时 它返回一个TinyMCE对象 代码示例如下 define jQuery Und
  • 我有一个国家代码列表和一个语言代码列表。如何从国家/地区代码映射到语言代码?

    当用户访问该网站时 我可以获得他们的国家 地区代码 我想用它来设置默认语言 如果需要 他们可以稍后修改 只是根据他们所在的国家 地区对他们可能会说的语言进行一般猜测 是否存在从国家 地区代码到语言代码的明确映射 我找不到 我知道并非特定国家
  • 如何在MySQL数据库中存储.text文件?

    我可以将数据文件 例如txt文件 存储到MySql服务器吗 如果可以的话 如何保存它们 您可以使用LOAD DATA INFILE读取文件的内容并将其以结构化格式存储在数据库的表中 这比在客户端上读取和解析文件然后使用多个 INSERT 语
  • 如何使用选择器设置文本大小?

    我使用选择器 但不知道如何设置文本大小 也许我做错了什么 帮助 箭头 xml
  • Doxygen 在记录 PHP 时出现奇怪的问题 if

    当我尝试记录我的项目时 我遇到了一个奇怪的问题 我有以下代码 Set default action for called controller If no action is called default index will be set
  • REST JAX-RS javax.ws.rs.ProcessingException:

    每当我的 REST 客户端代码使用以下代码调用 REST 服务时 我都会遇到以下异常 Code public void putWatcher Watcher watcher System out println In REST Client
  • JRE系统库缺少tools.jar

    我正在使用 Ubuntu 12 04 LTS 在我的 Eclipse 项目中 我需要使用 com sun tools attach 包 但是 我的 JRE 系统库不包括包含该包的tools jar 文件 我尝试为 Java 6 和 7 安装
  • 如何将 IEnumerable 转换为 ObservableCollection?

    如何转换IEnumerable to ObservableCollection 根据MSDN var myObservableCollection new ObservableCollection
  • 使用 iText 7 获取 PDF 文件的创建日期

    我必须创建一个工具 将其创建日期添加到几个 pdf 文件名中 我想使用内部存储在 pdf 中的创建日期 为此我下载了 iText Community Edition 现在 我的代码是这样开始的 VB Module Module1 Sub M