如何在 pdftk 中正确创建多语言元数据

How can I properly create multilingual metadata in pdftk

pdftk 让我们使用以下命令设置 PDF 的标题:

pdftk input.pdf update_info metadata.txt output output.pdf

但是,如果我在 metadata.txt 文件中使用特殊字符(例如德语字符或中文字符),那么它似乎不起作用。

下面是更改标题的示例:

InfoBegin
InfoKey: Title
InfoValue: Fingerspitzengefühl is a German term.

但是,PDF 以 ü 的奇怪字符结尾

documentation of pdftk 中,它表示 non-ASCII 个字符应编码为 XML 个数字实体。然而,我用谷歌搜索了自己,却找不到任何有用的东西。

我找到的最佳参考是 Numerical Character Reference,它适用于 XML(以及 XHTML 和 SGML)。

一般用来表示不能直接编码的字符。

在您的例子中,字符是 U+252,ü 可以替换为 ü(十进制)、&0374;(八进制)或 ü (十六进制)。

使用十进制引用,您的文件应编码为:

InfoBegin
InfoKey: Title
InfoValue: Fingerspitzengefühl is a German term.

注:

如果您使用的是 'Nix,则可以使用 recode 对文件进行编码。

% cat metadata.txt | recode ..xml