我基本上是尝试使用 pdfinfo 添加元数据,尤其是标题到 pdf,如下所示:
\documentclass{article}
\usepackage[utf8]{inputenc}
\title{Türkçe Karakter İçeren Başlık}
\author{Abdullah UYU}
\date{4 Mart 2018}
\pdfinfo{
/Author (Abdullah UYU)
/Title (Türkçe Karakter İçeren Başlık)
}
\begin{document}
\maketitle
Yazı
\end{document}
在 python 中我试图获取如下标题:
\documentclass{article}
\usepackage[utf8]{inputenc}
\title{Türkçe Karakter İçeren Başlık}
\author{Abdullah UYU}
\date{4 Mart 2018}
\pdfinfo{
/Author (Abdullah UYU)
/Title (Turkce Karakter Icermeyen Baslik)
}
\begin{document}
\maketitle
Yazı
\end{document}
我得到了预期的结果:
答案1
PDF 书签仅将编码 PdfDocEncoding(8 位)和 Unicode 理解为 UTF16BE-BOM。但输入的输入编码是 UTF-8。
软件包hyperref
执行从 UTF-8 到 UTF16BE 的必要转换并添加 BOM:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[pdfencoding=auto, pdfusetitle]{hyperref}
\title{Türkçe Karakter İçeren Başlık}
\author{Abdullah UYU}
\date{4 Mart 2018}
\begin{document}
\maketitle
Yazı
\end{document}
选项pdfencoding=auto
将书签切换为 Unicode,并尝试转换为 PdfDocEncoding。如果符合编码(支持的字符相当有限),则结果为 PdfDocEncoding;如果不符合,则结果为 Unicode。
选项pdfusetitle
侵入\title
并\author
获取 PDF 的元数据。或者,可以手动设置这些条目:
\hypersetup{
pdftitle={Türkçe Karakter İçeren Başlık},
pdfauthor={Abdullah UYU},
}
PDF 文件包含:
/Author (Abdullah\040UYU)
/Title (\376\377\000T\000\374\000r\000k\000\347\000e\000\040\000K\000a\000r\000a\000k\000t\000e\000r\000\040\001\060\000\347\000e\000r\000e\000n\000\040\000B\000a\001\137\000l\001\061\000k)
作者以 PdfDocEncoding 编码,空格以八进制表示法 ( \040
)。也可以将其表示为(Abdullah UYU)
。标题以 Unicode 格式表示为 UTF16BE 和 BOM,然后字节(八位字节)被编码为 PDF 字符串,并对非 ASCII 字符和有问题的 ASCII 字符进行八进制转义。