Spire.PDF for .NET【文档操作】演示:设置 PDF 文档的 XMP 元数据

news2024/11/19 9:33:11

XMP 是一种文件标签技术,可让您在内容创建过程中将元数据嵌入文件本身。借助支持 XMP 的应用程序,您的工作组可以以团队以及软件应用程序、硬件设备甚至文件格式易于理解的格式捕获有关项目的有意义的信息(例如标题和说明、可搜索的关键字以及最新的作者和版权信息)。

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载   Spire.PDF for java下载

在 Spire.PDF 3.6.135 及以上版本中,我们添加了一个新功能,可以从 XML 文档中读取、设置和加载现有的 XMP 数据。本文介绍如何在创建 PDF 文档时设置 XMP 元数据。

代码片段:

步骤 1:初始化 PdfDocument 类的新实例。

PdfDocument doc = new PdfDocument();

第 2 步:从 PDF 文档获取 XMP 元数据。

XmpMetadata meta = doc.XmpMetaData;

步骤3:将作者、创作数据、创建者、关键词等设置为元数据。

meta.SetAuthor("E-iceblue");
meta.SetCreateDate(DateTime.Now);
meta.SetCreator("Spire.PDF");
meta.SetCustomProperty("Field", "NewValue");
meta.SetKeywords("XMP");
meta.SetProducer("E-icenlue Co,.Ltd");
meta.SetSubject("XMP Metadata");
meta.SetTitle("Set XMP Metadata in PDF");

步骤 4:保存文件。

doc.SaveToFile("XMP.pdf", FileFormat.PDF);

输出

要查看 PDF 文档中的元数据,请使用 Acrobat 或 Acrobat Reader 打开它,然后在文件菜单中选择“文档属性”。

在 C#、VB.NET 中设置 PDF 文档的 XMP Matedata

完整代码

[C#]

using Spire.Pdf;
using Spire.Pdf.Xmp;
using System;

namespace SetXMPMetadata
{
class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();
XmpMetadata meta = doc.XmpMetaData;

meta.SetAuthor("E-iceblue");
meta.SetCreateDate(DateTime.Now);
meta.SetCreator("Spire.PDF");
meta.SetCustomProperty("Field", "NewValue");
meta.SetKeywords("XMP");
meta.SetProducer("E-icenlue Co,.Ltd");
meta.SetSubject("XMP Metadata");
meta.SetTitle("Set XMP Metadata in PDF");

doc.SaveToFile("XMP.pdf", FileFormat.PDF);
}
}
}

[VB.NET]

Imports Spire.Pdf
Imports Spire.Pdf.Xmp

Namespace SetXMPMetadata
Class Program
Private Shared Sub Main(args As String())
Dim doc As New PdfDocument()
Dim meta As XmpMetadata = doc.XmpMetaData

meta.SetAuthor("E-iceblue")
meta.SetCreateDate(DateTime.Now)
meta.SetCreator("Spire.PDF")
meta.SetCustomProperty("Field", "NewValue")
meta.SetKeywords("XMP")
meta.SetProducer("E-icenlue Co,.Ltd")
meta.SetSubject("XMP Metadata")
meta.SetTitle("Set XMP Metadata in PDF")
doc.SaveToFile("XMP.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1856694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“开源AI”到底是什么意思

开源与专有软件之间的斗争早已为人所熟知。然而,长期以来弥漫在软件圈的紧张关系已经渗透到了人工智能领域,部分原因在于没有人能在AI背景下就“开源”的真正含义达成一致。 相关阅读:GPT-4o通过整合文本、音频和视觉实现人性化的AI交互&…

上海舆情分析软件的功能和对企业的意义

随着互联网的飞速发展,人们参与讨论、发声的途径与评率也越来越多,在为自己发声的同时,公众舆论也成为企业获取民意,改进发展的重要参考。 上海 舆情分析软件的开发,为企业获取舆论,调查研究提供了便捷化的…

Spring+SpringMVC+MyBatis整合

目录 1.SSM介绍1.1 什么是SSM?1.2 SSM框架1.2.1 Spring1.2.2 SpringMVC1.2.3 MyBatis 2.SSM框架整合2.1 建库建表2.2 创建工程2.3 pom.xml2.4 log4j.properties2.5 db.properties2.6 applicationContext-dao.xml2.7.applicationContext-tx.xml2.8 applicationContex…

浅析缓存技术

缓存技术的原理 缓存技术通过在内存中存储数据副本来加速数据访问。当应用程序需要数据时,首先检查缓存是否存在数据副本,如果有则直接返回,否则再从原始数据源获取。这种机制大大减少了访问时间,提升了系统的响应速度和整体性能。…

Maven深度解析:Java项目构建

Maven是一个由Apache软件基金会维护的软件项目管理和理解工具,它主要服务于基于Java的软件项目。。 Maven深度解析:Java项目构建 引言 在Java开发领域,项目构建和管理是一个复杂而关键的任务。Maven作为这一领域的佼佼者,以其声…

vscode下无法识别node、npm的问题

node : 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 因为node是在cmd安装的,是全局安装的,并不是在这个项目里安装的。 解决方案: 1.在vscode的控制台,针对一个项目安装特定版本的node; 2.已经…

基于Dify的智能分类方案:大模型结合KNN算法(附代码)

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模…

Spring中事务的传播机制

一、前言 首先事务传播机制解决了什么问题 Spring 事务传播机制是包含多个事务的方法在相互调用时,事务是如何在这些方法间传播的。 事务的传播级别有 7 个,支持当前事务的:REQUIRED、SUPPORTS、MANDATORY; 不支持当前事务的&…

华为某员工爆料:偷偷跑出去面试,被面试官鄙视了。第一句话就问:华为淘汰的吧,35岁了,这个年龄在华为能混得下去吗?身体没啥毛病吧

“你都35岁了,难不成是被华为淘汰的?在华为混不下去了吧?身体没啥毛病吧,我们这体检可是很严的。” 近日,一位华为员工在朋友圈爆料,自己在面试时遭到了面试官的无理取闹和人身攻击,原因仅仅是因…

中东文明史

转自:想要了解完整的中东文明史?这篇文章成全你 - 知乎 (zhihu.com) 写在前面 中东文明是人类历史上最古老的文明。人类祖先从东非大裂谷走出之后,首先选择定居在中东地区的新月沃土上,并建立了人类历史上有文字记载的第一个文明…

利用Frp实现内网穿透(docker实现)

文章目录 1、WSL子系统配置2、腾讯云服务器安装frps2.1、创建配置文件2.2 、创建frps容器 3、WSL2子系统Centos服务器安装frpc服务3.1、安装docker3.2、创建配置文件3.3 、创建frpc容器 4、WSL2子系统Centos服务器安装nginx服务 环境配置:一台公网服务器&#xff08…

【zabbix】zabbix客户端配置

1、部署zabbix客户端 #zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。 #zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。 systemctl disable --now firewalld setenforce 0 hostnamectl set-hostname…

C语言 | Leetcode C语言题解之第171题Excel表列序号

题目: 题解: int titleToNumber(char* columnTitle) {int number 0;long multiple 1;for (int i strlen(columnTitle) - 1; i > 0; i--) {int k columnTitle[i] - A 1;number k * multiple;multiple * 26;}return number; }

【Linux 基础】文件与目录管理

1. 文件和目录的基本概念 文件:是数据的集合,可以是文本、图像、视频等。 目录(也称为文件夹):是文件和子目录的集合,用于组织文件。 2. 目录和路径 绝对路径:从根目录(/&#x…

已经被驳回的商标名称还可以申请不!

看到有网友在问,已经驳回的商标名称还可以申请不,普推商标知产老杨觉得要分析看情况,可以适当分析下看可不可以能申请,当然最终还是为了下证 ,下证概率低的不建议申请。 先看驳回理由,如果商标驳回是绝对理…

Spring Boot 学习第七天:动态代理机制与Spring AOP

1 概述 在Java的世界中,实现AOP的主流方式是采用动态代理机制,这点对于Spring AOP也一样。代理机制的主要目的就是为其他对象提供一种dialing以控制对当前对象的访问,用于消除或缓解直接访问对象带来的问题。通过这种手段,一个对象…

Java | Leetcode Java题解之第169题多数元素

题目: 题解: class Solution {public int majorityElement(int[] nums) {int count 0;Integer candidate null;for (int num : nums) {if (count 0) {candidate num;}count (num candidate) ? 1 : -1;}return candidate;} }

(2011-2022年) 全国各省快递业务量与快递业务收入面板数据

中国快递业近年来随着电子商务的蓬勃发展而迅速壮大,成为现代生活中不可或缺的一部分。快递业务量与收入的面板数据为我们提供了一个观察中国快递市场繁荣与多元化的窗口。 数据来源 中国统计年鉴 参考文献 胡润哲, 魏君英, 陈银娥. 数字经济发展对农村居民服务…

如何把文件扫描成电子版pdf?这4个方法包教包会~

大多数时候,我们为了更加方便存档与文件共享,都会借助专用的扫描仪来把文件扫描成PDF文档~但其实现在想要扫描文件并不是只有扫描仪能够搞定,还有很多的方法和工具都能够代替它来一一实现。 就好比下面罗列出来的四大文件扫描方法&#xff0…

【STM32学习】基于I2C协议的OLED显示(利用U8G2库)

目录 一、I2C协议、时序协议 1.1 I2C协议: 1.2时序协议: 二、OLED原理 2.1主流显示面板技术 2.2OLED发光原理: 2.3汉字点阵显示原理 三、U8G2 四、代码移植 4.1创建工程(HAL库): 4.1.1CubexMX配置…