我如何知道 PDF 文件是通过 LaTeX 还是 XeLaTeX 创建的?

我如何知道 PDF 文件是通过 LaTeX 还是 XeLaTeX 创建的?

当我打开 PDF 文件时,我想知道它是通过 LaTeX 还是 XeLaTeX 还是 LuaLaTeX 等创建的,因为有些 PDF 文件是从 Word 转换而来的。我该怎么做?

答案1

例如,pdfinfo(poppler 的一部分) 可以向您显示创建者和制作者。对于由 XeTeX 创建的 PDF 文件,我得到了以下内容(使用命令xelatex):

Creator:         XeTeX output 2019.06.27:0505
Producer:       xdvipdfmx (20180217)

由 LuaTeX 创建(带有lualatex):

Creator:        TeX
Producer:       LuaTeX-1.07.0

由 pdfTeX 创建,latex后面跟着dvipdfm

Creator:         TeX output 2019.06.27:0505
Producer:       dvipdfmx (20180217)

对于在 macOS 上使用 TextEdit 创建且带有“导出为 PDF”功能的文件:

Creator:        TextEdit
Producer:       macOS Version 10.14.5 (Build 18F132) Quartz PDFContext

对于使用我的浏览器的“打印为 PDF”功能创建的文件:

Creator:        Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Producer:       Skia/PDF m75

ETC。

您不必使用pdfinfo;显示 PDF 属性的其他工具应该显示相同的数据。

还要注意,这些只是默认值;如果有人愿意并且知道如何设置,他们可以将属性设置为任何值。

答案2

在 Mac 上,您可以在 Finder 中单击您的 pdf 文件,然后从 Finder 菜单中执行“获取信息”(也是 Command +“i”键)。

你可以在“获取信息”中看到它是否由 pdfTeX 创建。例如,我刚刚检查了这样一个文件,它显示:

内容创建者:TeX 编码软件:pdfTeX-1.40.20

答案3

MiKTeX 默认所有输出均为 PDF 版本:1.5

由 PdfLaTeX 创建:

Application: TeX  
PDF Producer: MiKTeX pdfTeX-1.40.20

由 LuaLaTeX 创建:

Application: TeX
PDF Producer: LuaTeX-1.10.0

由 XeLaTeX 创建

Application:  XeTeX output 2019...  
PDF Producer: MiKTeX-xdvipdfmx (20190503)

答案4

如果有人更改或删除了 PDF 信息(你会发现这种情况在 arXiv 上很常见,为了绕过自动检测并允许提交没有来源的文件),最大的明显漏洞通常是字体系列。你可以使用 检查这些内容pdffonts,尽管也可以将它们重命名为随机的乱码。

PDFTeX 编译的文档将嵌入 LaTeX 用于创建它的 8 位字体及其独特的系列名称,例如cmr1919 点 Computer Modern Roman、lmrLatin Modern Roman、qplTeX Gyre Pagella 等。8 位数学字体也将嵌入其 LaTeX 系列名称。

用 创建的文档unicode-math将嵌入 OpenType 字体,例如 LatinModernMath。使用fontspecplus 8 位数学包创建的文档将混合使用 OpenType 文本字体和 8 位符号字体,这将告诉您它使用了哪些数学包。

还有其他软件使用 OpenType 字体,但例如 Microsoft Office 默认在 Cambria Math 中排版方程式,而 LaTeX 文档很少使用它。

相关内容