使用Word中的CP1251打印文件引起的麻烦

时间:2012-03-25 03:59:29

标签: pdf encoding poppler cp1251

我有一堆用Adobe Distiller 6从Word打印的PDF(1.4)文件。嵌入了字体(Tahoma和Times New Roman,我在我的Linux机器上),编码说“ANSI”和“Identity-H” ”。现在通过ANSI,我假设区域代码页用于Windows机器,即CP-1251(西里尔语),关于“Identity-H”,我认为这是只有Adobe知道的东西。

我想只提取文本并索引这些文件。问题是我从pdftotext获得垃圾输出。 我试图从Acrobat导出示例PDF文件,然后我再次得到了垃圾,但是另外使用iconv进行处理得到了正确的数据:

iconv -f windows-1251 -t utf-8 Adobe-exported.txt

但同样的技巧不适用于pdftotext

pdftotext -raw -nopgbrk sample.pdf - | iconv -f windows-1251 -t utf-8

默认情况下采用UTF-8编码,然后输出一些垃圾:Сiconv: illegal input sequence at position 77

pdftotext -raw -nopgbrk -enc Latin1 sample.pdf - | iconv -f windows-1251 -t utf-8

再次扔垃圾。

/usr/share/poppler/unicodeMap我没有CP1251,也找不到谷歌,所以试图制作一个。我从维基百科CP1251数据创建了该文件,并在文件末尾附加了其他地图:

...
fb00 6666
fb01 6669
fb02 666c
fb03 666669
fb04 66666c

这样pdftotext就不会抱怨,而是来自:

pdftotext -enc CP1251 sample.pdf -

又是垃圾了。 hexdump第一眼看不到任何内容,我想在这里问一下我的问题,然后拼命地从这个问题中得出结论hexdumps

0 个答案:

没有答案