2个不稳定版本

0.2.0 2023年10月17日
0.1.0 2023年2月21日

#781 in 编码

Download history 1650/week @ 2024-03-14 744/week @ 2024-03-21 761/week @ 2024-03-28 743/week @ 2024-04-04 741/week @ 2024-04-11 607/week @ 2024-04-18 791/week @ 2024-04-25 724/week @ 2024-05-02 581/week @ 2024-05-09 1157/week @ 2024-05-16 774/week @ 2024-05-23 754/week @ 2024-05-30 875/week @ 2024-06-06 780/week @ 2024-06-13 931/week @ 2024-06-20 695/week @ 2024-06-27

3,374 每月下载量
4 个crate中(通过 typst-pdf)使用

MIT/Apache

70KB
1.5K SLoC

xmp-writer

Crates.io Documentation

逐步写入XMP元数据。

[dependencies]
xmp-writer = "0.2"

XMP是由Adobe开发的一种元数据格式。它可以嵌入到文件中(例如PDF、JPEG、TIFF)或存储在单独的“侧车”文件中。

此crate提供了一个简单的API来写入XMP元数据。首先创建一个新的 XmpWriter,然后向其中添加条目。最后,调用 XmpWriter::finish 以获取XMP元数据作为字节数组。某些属性包含复杂的数据类型,如结构体或数组。在这种情况下,写入器返回一个新的结构体,可以用来写入数据。在再次使用写入器之前,必须释放对结构体的引用。

示例

use xmp_writer::{LangId, DateTime, XmpWriter};

let mut writer = XmpWriter::new();
writer.creator(["Martin Haug"]);
writer.title([(Some(LangId("de")), "Titel"), (None, "Title")]);
writer.num_pages(3);
writer.pdf_keywords("Keyword1, Keyword2");
writer.description([(None, "Description")]);
writer.date([DateTime::date(2021, 11, 06)]);

let mut colors = writer.colorants();
colors.add_colorant().swatch_name("Red");
colors.add_colorant().swatch_name("Green");
drop(colors);

writer.creator_tool("xmp-writer 0.2.0");

println!("{}", std::str::from_utf8(&writer.finish(None)).unwrap());

另请参阅

安全性

此crate禁止不安全代码,并且没有依赖关系。

许可证

此crate根据MIT和Apache 2.0许可证双许可。

无运行时依赖