当我使用文本编辑器(例如 Notepad++)打开由 LaTeX 编译的 PDF 文件时,文件的内容不是人类可读的,如下所示,所以在我看来,这些信息无法被潜在的爬虫处理。
n×å 9.â^Ñäùàɨ•” HTÏ•ì#ò Ž–}q”mäŠ9ÒrbtRšá™g—û}Açú¦nƒÖ…‡”jKœˆ FàƵÀmþåá •N:º‚~éWF¶DX‹m#‚D˜Àm;Ñum?OŠÀÊ¢ßÎ[ÈuóõÄ÷;Ý6"-@pñä٠(ÖXÜÕËaœyýûdRìørêÑbβ(\n^Øþ2Öƒ;¬÷ª»¦Òv0þ®±úßY'°³½‹%…ߥºíúŸKåÒ춶\êæñÕ_–áúª –ò1üj9¶,Ö×VæY¼wæ¬Döð}]
是否有可能生成 PDF 文件,以便当 PDF 文档显示“具体细节 1”之类的信息时,我使用文本编辑器打开文件时,也可以在文件的二进制内容中找到这个字符串“具体细节 1”?
例如,当用 LaTeX 创建 PDF 简历并且必须由各种文本分析器自动解析时,这很有用。
答案1
对于 pdfTeX
\pdfcompresslevel = 0 %
\pdfobjcompresslevel = 0 %
对于 LuaTeX
\pdfvariable compresslevel = 0 %
\pdfvariable objcompresslevel = 0 %
与 (x)dvipdfmx (XeTeX、upTeX 等) 一起使用
\special{dvipdfmx:config z 0}
\special{dvipdfmx:config C 0x40}
对于ps2pdf
路线
\special{/setdistillerparams where
{pop<</CompressPages false>>setdistillerparams}
if
}
\special{/setdistillerparams where
{pop<</CompressStreams false>>setdistillerparams}
if
}
答案2
自l3kernel
2021-02-18 或 latex2e 2021-06-01 起,有一个多合一的 latex3 函数\pdf_uncompress:
。
引用其文档texdoc interface3
(2023-02-22),第 36.4 节压缩:
\pdf_uncompress:
新:2021-02-10在可能的情况下禁用 PDF 的任何压缩。> 此功能只能在 PDF 文件初始化之前使用。
在 l3kernel 2021-02-18 之前和 l3pdf 2019-07-01 之后,如果加载了软件包,\pdf_uncompress:
则可用。原为l3pdf
l3pdf
搬去l3kernel
于 2021-02-18。