以下是一些期刊文章的链接:
- https://doi.org/10.1149/1.2183927
- https://doi.org/10.1149/1.2988135
- https://doi.org/10.1149/1.3021012
- https://doi.org/10.1149/1.2159298
它们都错误地编码了括号(以及其他字符,例如方括号)。但是,只有在尝试将它们转换为文本或复制粘贴时,这一点才会显现出来。例如,第一篇文章正文的第一行应该是:
Proton exchange membrane fuel cells (PEMFCs) have received
相反,从 Acrobat Reader 复制粘贴时,它
Proton exchange membrane fuel cells PEMFCs have received
当使用“另存为文本”时,它会给出
Proton exchange membrane fuel cells ^CPEMFCs�
have received
其中,左括号为^C
,即 03 ASCII 控制序列,右括号为 Unicode 65533 ,即替换字符,后跟换行符。同样,pdf2txt
将其编码为
Proton exchange membrane fuel cells 共PEMFCs兲 have received
(Unicode 20849 和 20850)并将pdftotext
其编码为
Proton exchange membrane fuel cells ͑PEMFCs͒ have received
(Unicode 849 和 850)。
输出中还有 Unicode 851 ( ͓)、852 ( ͔)、1003 (ϫ)、1011 (ϳ)、1015 (Ϸ)、8217 (')、8211(–)、8722(−)、64257 (fi)、64258 (fl) 和控制字符 Ctrl-L (ASCII 12) pdftotext
。我认为其中一些可以很容易地标准化为 ASCII,但其中一些需要手动映射。
我的问题是:
解决这个问题的最佳方法是什么?我见过一些类似的问题,包括使用脚本来替换处理错误的字符,但设置映射并不简单,而且它不能修复 PDF。
为什么不同的 PDF 阅读器和 PDF 转文本实用程序会给出如此不同的结果?
pdfinfo
以下是和的输出pdffonts
:
Title:
Subject:
Keywords:
Author:
Creator: XPP
Producer: Acrobat Distiller 6.0.1 (Windows)
CreationDate: Thu Mar 23 12:07:23 2006
ModDate: Sun Nov 4 12:48:02 2012
Tagged: no
Pages: 6
Encrypted: no
Page size: 657 x 855 pts
File size: 266467 bytes
Optimized: no
PDF version: 1.4
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Helvetica Type 1 no no no 89 0
Helvetica-Oblique Type 1 no no no 109 0
Helvetica-Bold Type 1 no no no 88 0
LFNLKJ+Times-Bold Type 1C yes yes no 63 0
LFNLLK+Times-Italic Type 1C yes yes no 64 0
LFNLMK+Times-Roman Type 1C yes yes no 65 0
LFNLML+MathematicalPi-Three Type 1C yes yes no 66 0
LFNLMM+MathematicalPi-One Type 1C yes yes no 67 0
LFNLMN+Universal-GreekwithMathPi Type 1C yes yes no 72 0
答案1
答案就在“uni”列中:这些字体(特别是括号中使用的字体)缺乏与 Unicode 的明确映射。识别某个任意符号的最正确代码点是一个难题。