由于cups-PDF创建的PDF文档中的字符映射为奇怪的符号[在Ubuntu Linux 14.04和16.04上},我确实遇到了问题。即使Python告诉我它的字符串类型,我认为它是某种unicode。 type(object)
python返回"string"
将PDF格式的字符重新映射为可读文本
如果我通过鼠标从evince/Firefox复制粘贴或通过Python PDFminer模块从PDF中获取文本,没有区别。所以它的真实性,PDF已经破坏了在PDF文档本身上呈现正确的文本信息。我不知道这一点,但PDF文档上的文本和文本图形似乎并没有紧密结合在一起。
当我通过例如从这样创建的PDF文件复制文本的名称为“拉斐尔”变成"✡✍✑✒✍☛✓"
所以每个单个字符映射到"✡=R ✍=a ✑=p ✒=h ✍=a ☛=e ✓=l"
另一个例子是:"Devel"
变成"✭☛✮☛✓"
我怎样才能用Python编写一个函数,将这个“错误”的信息转移到正确的信息上?在PDF文档中,所有内容都完美可读。
这与cup-PDF使用postscript来创建PDF但不向文档中添加正确的字体/字符信息。
如果信件'l'
总是符号'✓'
这是本checkmark unicode character
我可怎么办字符的重映射在这个陌生的代表性纠正Python中的代表性?那么我怎样才能将符号'✓'
转换或重新映射到字母'l'
?任何想法?
为什么我需要这个? 我需要在此文档中搜索文本值。
是的,PDF似乎是使用专门的字体,以防止复制。文本是* scrambled *,但字体中的字母也是如此。因此,如果'a'曾经被映射到Unicode代码点U + 0061,那么PDF已经用U + 270D替换了所有这些a,而特殊字体用字母a代替了正常的“WRITING HAND”字形。这是一个替代密码。 –
你是对的Martijn彼得斯等于unicode“U + 270D”,我怎么解密文本?我如何将这些字母映射回原始值?现在是“U + 270D”回到“U + 0061”?是否有任何Python函数? –