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

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.XmpNamespace SetXMPMetadata
Class Program
Private Shared Sub Main(args As String())
Dim doc As New PdfDocument()
Dim meta As XmpMetadata = doc.XmpMetaDatameta.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.mzph.cn/diannao/34139.shtml

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

相关文章

java解析Excel部分数据小数位过长问题

java解析Excel部分数据小数位过长问题 解释: 在Java中解析Excel文件时,如果遇到数据为小数类型但小数位过长(例如显示为1.2345678912345678E10),这通常是因为Excel对于数字单元格有一个默认的显示格式,当…

PSL400PC10P80、PSL410PC10P100、PSL420PC10P60比例换向阀放大器

PSL100PC10P60、PSL110PC10P80、PSL120PC10P100、PSL200PC10P80、PSL210PC10P60、PSL220PC10P100、PSL400PC10P80、PSL410PC10P100、PSL420PC10P60、PSL500PC10P100、PSL510PC10P80、PSL520PC10P100、PSL600PC10P60、PSL610PC10P100、PSL620PC10P60、PSL700PC10P80、PSL710PC10…

vue2和vue3分别如何全局引入并使用js

如下js:util/tool.js var tool {nullKeyValueConvertLine(data){if(data && data.length > 0){data.map((item,index)>{for(var key in item){if(!item[key]&&item[key]!0){item[key] -}}})}}, } export default tool 在vue2项目中全局引…

Android使用DevRing框架搭建数据库实体类以及使用

一、引用DevRing依赖 //导入DevRing依赖implementation com.ljy.ring:devring:1.1.8创建数据库表的依赖implementation org.greenrobot:greendao:3.2.2 // add libraryimplementation org.greenrobot:greendao-generator:3.0.0 二、修改工程目录下的.idea->gradle.xml文件&…

算法与数据结构面试宝典——回溯算法详解(C#,C++)

文章目录 1. 回溯算法的定义及应用场景2. 回溯算法的基本思想3. 递推关系式与回溯算法的建立4. 状态转移方法5. 边界条件与结束条件6. 算法的具体实现过程7. 回溯算法在C#,C中的实际应用案例C#示例C示例 8. 总结回溯算法的主要特点与应用价值 回溯算法是一种通过尝试…

C++:STL容器-map

C:STL容器-map 1. map构造和赋值2. map大小和交换3. map插入和删除4. map查找和统计5. map容器排序 map中所有元素都是pair(对组) pair中第一个元素为key(键),起到索引作用,第二个元素为value(实…

移远通信SC200L(展锐SL8541E)Linux系统修改分区大小

一、确定大小 由于默认的根文件分区大小仅500M,/lib目录移植个app都放不进去,这谁受得了? userdata分区却有6G,匀一点。 在 prebuilts/pac-binary/sl8541e/ 下有分区信息表 sl8541e-emmc-marlin2.xml: 找到system项&a…

通过言语和非言语检索线索描绘睡眠中的记忆再激活茗创科技茗创科技

摘要 睡眠通过重新激活新形成的记忆痕迹来巩固记忆。研究睡眠中记忆再激活的一种方法是让睡眠中的大脑再次暴露于听觉检索线索(定向记忆再激活范式)。然而,记忆线索的声学特性在多大程度上影响定向记忆再激活的有效性,目前还没有得到充分探索。本研究通…

华为仓颉语言:编程语言的新篇章

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

多物理场仿真对新能源汽车用电机优化分析 衡祖仿真

1、问题所在 为了改善空气质量,减少环境污染,减少对石油的依赖,降低能源安全风险,国家大力倡导发展新能源汽车,大量新能源车企应运而生,竞争日趋激烈。使用经济效率较高的电机对于增强企业市场竞争力非常重…

【火猫体育】欧洲杯:苏格兰VS匈牙利焦点大战

北京时间6月24日,欧洲杯A组苏格兰VS匈牙利的焦点大战将正式打响。这场比赛对于苏格兰队来说不容有失,因为球队必须战胜对手才能有希望从小组赛出线,晋级本届欧洲杯16强。苏格兰在欧洲杯首战,就被东道主德国队上了一课。德国队在比…

android | 声明式编程!(笔记)

https://www.jianshu.com/p/c133cb7cac21 讲的不错 命令式UI (how to do) 声明式UI (what to do) what to do 也许有人会说Data Binding不是可以让XML自己"动"起来吗?没有错,Data Binding其实就是Compose诞生之前的一种声明式U方案,谷歌曾…

适用于 Android 的 几种短信恢复应用程序

Android 设备上的短信丢失可能由于多种原因而丢失,例如意外删除、恢复出厂设置、系统崩溃或病毒攻击。是否有应用程序可以恢复 Android 上已删除的短信?幸运的是,有几款短信恢复应用程序可以扫描您的 Android 手机并从内存或 SIM 卡中检索已删…

CI部署流程简图

🌟🌌 欢迎来到知识与创意的殿堂 — 远见阁小民的世界!🚀 🌟🧭 在这里,我们一起探索技术的奥秘,一起在知识的海洋中遨游。 🌟🧭 在这里,每个错误都…

如何在Java中实现数据库事务?

如何在Java中实现数据库事务? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在Java应用程序中如何有效地实现和管理数据库事务。…

【Linxu】find命令查询最新修改的文件

find 命令允许我们以分钟或天为单位来查找文件。 分钟用 -mmin 定义,天可以用 -mtime 定义。 在分钟或者天后面还可以定义搜索条件,通过跟上加号()指定数值来查询什么时间之前的文件。 例如,要搜索1分钟(或者24分钟)之前修改过的文件&#xf…

通过 github 分析职业研发数量

如何了解一个开源项目背后,到底有多少职业研发呢?下面以某OLAP数据库公司为例,做一些分析: git log --since“6 months ago” | grep -E “(Enhancement|BugFix|Feature)” -B3 | grep Author | sort | uniq -c | sort -n 通过这个…

测试实习生【面试小结 6.21】

1,自我介绍 2,职业规划,为什么大三没有选择开发? 我规划是刚开始的1~3年内打基础,除了尝试不同的工具和学习新的测试知识外,还要去学习phython/shell 的自动化测试框架,去深入理解性能测试。在技…

头歌——机器、深度学习——人脸识别

第1关:人脸检测 在前面的几个实训中,我们已经学习了人脸识别的基本流程,包括人脸图像采集、人脸检测、特征点提取和人脸识别的整个流程。不仅了解了其中的原理,还学会了编写实际应用的代码。 本实训主要将介绍使用Face Recognit…

CSRF绕过

目录 1. 检查referer referer绕过 2. 检查origin 3. Cookie检查 SameSite 持久性验证 4. Token检查 检测token编码类型,尝试篡改token 绕过token检测 在页面上尝试修改密码, 观察请求的格式. 绕过思路 1. 编写一个js脚本完成以下的任务: 2. 引诱登录的用户触发这…