问题标签 [xmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
297 浏览

asp.net - 更改 PNG 图像文件的元标记

我正在使用 PngCs dll 在 asp.net 中获取 Png 图像文件的块数据,我能够做到这一点,但现在我想更新该 PNG 的块数据。

我使用了 PngWriter,但它正在创建全新的文件而不继承块数据。

下面的代码用于通过 PngWriter 编写新的 Png 图像,我想在创建新文件时嵌入新的 itxt 块。

如需进一步参考,请单击此链接

0 投票
2 回答
3751 浏览

pdf - 将 XMP 元数据嵌入 PDF

我需要将 XMP 元数据添加到 PDF 文件中,而我所做的谷歌搜索并没有太大帮助。我正在寻找一种类似于 PDFTK 的工具,我可以通过命令行或脚本运行它以将 XMP 元数据添加到 PDF 中。

如果有办法做到这一点,请帮助我。

0 投票
1 回答
2239 浏览

javascript - 使用 javascript 读取 jpeg xmp 元数据

有没有办法用 javascript 读取 jpg 元数据?我的主要兴趣是 xmp 评级值(在 Windows 资源管理器中显示的 5 星评级)。拍照的时间也很有趣。

我知道我可以使用服务器端代码获取此数据,但我想避免额外的往返来获取此信息。

我的用例是一个简单的画廊网站,我想在其中显示 Windows 资源管理器中给出的评分,可能还有照片拍摄时间等信息。

0 投票
1 回答
505 浏览

metadata - 在 CRX 中存储多个复杂的元数据值,即 xmpDM:markers

我正在尝试在 CQ CRX (Adobe DAM) 中存储多个复杂的元数据值。多个简单元数据值只是资产元数据节点中的多值属性。复杂元数据值是资产元数据节点的子节点。但是像下面的例子中的多个复杂的元数据值呢?我在 CRX (JCR) 中找不到任何示例。(也许我应该用 rdf 标签包装标记元数据?)

0 投票
2 回答
138 浏览

html - 如何模拟 xmp 行为

我读到 xmp 标签已被弃用,但我需要将代码输出为纯文本。那么有什么方法可以模拟 xmp 标签的行为吗?感谢帮助。

0 投票
1 回答
696 浏览

ios - IOS:将 XMP 元数据添加到 AAC 编码的 m4a 文件的好方法?

我正在从原始 PCM 样本创建一个 AAC 编码的 m4a 文件,用于流式传输。我正在使用此示例中提供的 AAC 硬件编码。 iPhoneExtAudioFileConvertTest

现在我真的很想添加元数据,例如专辑插图和标题。据我了解,m4a 或 mp4 容器是 MPEG-4 Part 14。所以指定的元数据格式是 XMP。但是我不知道使用 XMP 元数据的好工具。有任何想法吗?

我知道 Adob​​e XMP SDK,但它似乎相当重量级,也许 iOS 有更好的解决方案。我的意思是,我怀疑在 AVFoundation 中是否有可能,因为 XMP 是 Adob​​e 技术,但也许有人专门为此目的编写了一个不错的库。

0 投票
2 回答
3557 浏览

c++ - Symbol not found when using template defined in a library

I'm trying to use the adobe xmp library in an iOS application but I'm getting link errors. I have the appropriate headers and libraries in my path, but I'm getting link errors. I double-checked to make sure the headers and library are on my path. I checked the mangled names of the methods, but they aren't in the library (I checked using the nm command). What am I doing wrong?

Library Header:

.mm file:

Link Errors:

0 投票
1 回答
3036 浏览

php - 在 jpeg 中编写 XMP 元数据(使用 PHP) - 使用单个或多个 rdf:Description 块

我正在尝试修改PHP_JPEG_Metadata_Toolkit中的代码,以便我可以使用 PHP 为 jpeg 文件正确读取和写入 XMP 数据。目前,jpeg 文件(由 Toolkit 保存时)由于 XMP 块而在 Adob​​e Photoshop 和 Bridge 中出现错误。

我看到 Photoshop 使用的 XMP RDF 架构有两种方式。第一个是 Photoshop 实际保存在 jpg 中并且我正在导入的内容。Photoshop 对所有内容都使用单个 rdf:Description 块。它在块本身内抛出许多模式标识符(url),并为许多元数据字段添加值。接下来是 Dublin Core、Photoshop、Iptc4xmpCore 等的标签块,但都集中在一个描述标签中。

第二个是在 Photoshop“文件信息”中显示的格式整齐的元数据,该元数据遵循 RDF 的XMP 文档(其中指出“按照约定,来自给定模式的所有属性,并且只有该模式,都列在单个 rdf:Description 元素中.")

通过遵循 Photoshop 实际发送的示例(一个 rdf:Description 下的所有内容),我已经能够解决 Photoshop 在工具包编辑时出现错误的问题

两个问题:知道为什么 Photoshop 保存的 XMP 元数据与它在程序中显示的不同吗?而且……为什么我要花时间将我的输出格式化为 RDF 规范,因为它在一个 rdf:Description 中运行良好,所有这些都混杂在一起?我是处理这一切的新手,所以任何指导都将不胜感激。

这些示例经过编辑,因此您可以更轻松地仅查看格式差异 - 请原谅仅来自编辑的两者之间的内容差异。

这是我实际从 Photoshop 收到的内容(已编辑):

这是 Photoshop 格式精美的视图(已编辑)

编辑 我很欣赏约书亚的解释。我觉得有趣/奇怪的是,似乎有两种不同的方式来列出一个值。第一个是与 tag="value" 中的等号并包含在 rdf:Description 括号内(注意关闭 rdf:Description 括号):

第二个是Value

0 投票
2 回答
4026 浏览

macos - Exiftool 在 PNG 图像中创建 OSX 可见 XMP 元数据

在我的图像处理软件周围,我使用 exiftool 成功地洗牌来自 Cr2、TIFF、JPG 文件的 exif 信息。添加的标签,例如“关键字”,在 OSX(山狮)Finder、预览中都可见,并被 Spotlight 很好地索引。

对于 PNG,我需要回退到 XMP,因为这是 PNG 的元数据容器。但是,Preview 和 SpotLight 似乎都没有选择 exiftool 添加的标签。相反,如果我先在预览中添加一个标签,然后使用 exiftool 添加一个新标签,这就是索引。我在 XMP 原始数据中看到的不同之处在于 exiftool 新创建了一个标头,而 Preview 没有。

例如,在没有元数据的 PNG 的维基百科页面上查看以下 PNG https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png

没有元数据的示例 PNG

使用 exiftool 添加关键字,然后转储 XMP 数据块:

给出以下 XMP 数据:

但是,在预览或 Finder 信息面板中,找不到“ViaExifSubject”。

或者,使用 OSX 预览添加评论(在预览中打开,显示检查器,转到关键字选项卡,单击“+”添加关键字)。XMP 通过 exiftool 再次转储:

预览生成的xpacket关键字中不存在标题,并且 XMP 工具包不同。“viaPreview”标签现在可见,例如mdls在 CLI 上使用。

将原始 XMP 信息推送到一个干净的文件中也不会产生预期的结果:

令人惊讶的是,如果我首先使用预览创建一个标签,然后执行上面的命令,新标签就会反映我怀疑我正在监督一个需要“激活”的外部数据解析器,拿起标签并将它们放在不同的存储(例如 .DS_store)。我没有看到任何 xattr 被添加。

这些是我的问题:

  • exiftool 是 XMP/PNG 组合的正确工具吗,我是否缺少特定功能
  • OSX 是否违反了 XMP 标准?编辑:显然 XMP在默认情况下不受 OSX 的尊重
  • 我应该使用替代工具来剥离容器吗?

我在磁盘上挖掘了我的 xmp_sdk 并尝试了提供的示例:

ModifyXMP 可以将“纯”XMP 信息写入 OSX Finder 中显示的 PNG——这是一个很好的目标。

ReadingXMP 可以将 ExifTool 插入的 XMP 信息读取到 PNG 中,尽管此信息不会显示在 OSX Finder 中。

查看 ModifyXMP 的输出和 exiftool 插入完全相同的 XMP blob 时,文件大小相似。差异显示 exiftool 附加在 XMP sdk 将其放入 PNG 标头的文件末尾。XMP 规范声明“鼓励编码器将块放置在文件的开头,但这不是必需的。”

结论:exiftool 编写 XMP 的方式存在(轻微)差异,这特别会干扰 OSX 的元数据检索。

目前:

  • 尝试使用 XMP SDK 在开头插入一个干净的 XMP 数据包,并让 exiftool 重用这个第一个块。
  • 在 exiftools 的论坛上转发,作者 Phil Harvey 回复:

    我玩了一些Apple Preview,它不仅无法识别文件末尾的XMP,而且在向图像添加关键字时会删除此XMP。我的猜测是,如果 XMP 出现在 IDAT 块之后,Apple 软件会忽略它。如果 XMP 规范要求 XMP 块位于 IDAT 之前,那就太好了,但事实并非如此,因此这必须被视为 Apple 软件中的错误。我已将此添加到已知问题列表中

    最后,Phil Harvey 决定在 Exiftool 本身中解决这个问题:

    我在这方面做了很多工作,Exiftool 9.40将有一个新选项允许您在 PNG IDAT 块之前编写 XMP。相应的命令将如下所示: exiftool -api PNGEarlyXMP...

  • 在 Apple 提交了一个错误——2014 年 12 月更新:Apple 关闭了我的错误,声明他们不会对此主题采取任何行动

0 投票
1 回答
1746 浏览

c# - 如何避免在 C# 中使用 iTextSharp 在 PDF 文件中的元数据关键字中添加双引号?

使用 iTextSharp 库,我可以使用各种模式在 PDF 文件中插入元数据。

出于我的目的,关键字元数据中的关键字由逗号分隔并用双引号括起来。一旦我编写的脚本运行,关键字就会用三引号括起来。

关于如何避免这种情况的任何想法或关于使用 XMP 的任何建议?

所需元数据示例:"keyword1","keyword2","keyword3"

当前元数据示例:"""keyword1"",""keyword2"",""keyword3"""

编码:

下面的方法没有添加任何元数据 - 不知道为什么(评论中的第 3 点):