我正在编写一个应用程序来使用 Java 和 JSOAP 从网站上抓取一些文章。该应用程序将文章的某些部分编译为 .tex ( LaTeX ) 文档,然后使用 PDFLatex 将其转换为 PDF。
一些页面包含 HTML 实体,如 & 或 ",这些在 PDF 转换过程中会导致错误。如何解决此问题?
tex-exchange 上的这个问题有一个指向简洁转换列表的链接。列是(按顺序):
&
和 the;
\
以此列表为起点编写一些转换代码应该很容易。
HTML 使用标签来构造数据,标签由字符序列定义。这些标签以某些字符开头并包含某些字符,如果要使用分隔标签部分的字符之一,则需要使用字符实体来表示它们。
这意味着这&
不是对单个字符进行某种奇怪的编码,它实际上是五个字符,它们组合起来是向 HTML 渲染器(如 Web 浏览器)发出的信号,即只&
显示该字符。
Tex 是一种不同的野兽,它没有&
与 HTML 一样使用“裸”的限制,因此在使用 Tex 处理此类数据之前,您需要使用常规字符对所有 HTML 字符实体进行字符串替换。
请注意,有两种类型的字符实体。一组包括“命名”实体,分别为 like>
和<
(>
和<
),而第二组是“编号”实体。编号实体看起来像 
,本例中的“32”指的是 ISO-8859-1 字符代码(本例中为空格)。