在Python中从pdf中提取印地语编写的文本[重复]

2024-03-23

我想从 pdf 文档中提取印地文输入的文本。我已附上示例页面的图像 https://i.stack.imgur.com/UkT86.jpg我正在处理。

我尝试使用 pdfminer 从中获取文本,但文本是乱码(可能是由于印地语字体)

现在我正在考虑将页面分成三部分,然后将每个部分分成两部分(分开英语和印地语文本),然后在每一半上运行 ocr 来获取文本,但唯一的问题是我不知道印地语使用的字体,所以我可能会再次收到乱码文本。

My 问题是,有没有更好的方法来处理印地文字体?如何找到字体名称?


我已经在您的 PDF 上尝试了以下操作,它似乎提取了很多文本,我猜它可能不是最佳布局,但我无法判断。

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)

    with open(path, 'rb') as fp:
        interpreter = PDFPageInterpreter(rsrcmgr, device)
        password = ""
        caching = True
        pagenos = set()

        for page in PDFPage.get_pages(fp, pagenos, password=password,caching=caching, check_extractable=True):
            interpreter.process_page(page)

        text = retstr.getvalue()

    device.close()
    retstr.close()
    return text

print convert_pdf_to_txt("Electoral roll - Faizabad.pdf")

它显示为utf-8所以你必须确保你的输出控制台能够使用它来显示。

例如:

भभग ससखखभककल मतदभतभ 11 1.रजजरभ आसशशकपपथममक ववददपलद रजजरप - सपमपनद779 420 359 0 779ननरभरचक नभमभरलल 2014 0S24उततर पददशवरधभन सभभ कदत कक ससखखभ ,नभम र आरकण सससनत:ललक सभभ कदत कक ससखखभ ,नभम र आरकण सससनत: 1 . पकनरलकण कभ वरररणपकनरलकण कभ ररर : 2014अहतभर कक नतथस: 01.01.2014पकनरलकण कभ सररप: ससककपत पकनरलकणपकभशन कक नतथस: 01.10.2013पकनरमकदण कक नतथस : 15.03.2014

要确定它正在使用的字体列表,您只需将 PDF 加载到 PDF 阅读器中,例如Adobe Reader or Foxit Reader并选择Properties从文件菜单。从这里您应该能够选择Fonts。当我尝试这个时Foxit Reader它显示以下字体:

Mangal-Bold
Arial
Mangal
Arial Bold
Times-New-Roman-Bold
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中从pdf中提取印地语编写的文本[重复] 的相关文章

随机推荐

  • UnsafeNativeMethods.IWebBrowser2.Navigate2 中的 HRESULT E_FAIL

    我们在 Office 2007 中使用 NET 3 5 开发了一个复杂的应用程序 在某些表单中 我们使用 WebBrowser 控件导航到 HTML 页面 问题在于 在某些机器上 当控件调用 Navigate 方法时 它会引发异常 错误 H
  • 如何在子窗体打开时冻结父窗体

    我遇到的情况是 在某些情况下 我需要打开另一个表单并保持该表单的焦点 modal true 当它们不聚焦并且关闭时 父表单上的控件将使用可能已更改的可能数据进行刷新 最初我有一个方法可以DoEvents虽然子表单已打开 但它导致多个子表单无
  • 单击“确定”后如何停止 sweetalert 滚动到顶部?

    我在用着甜蜜警报2 https sweetalert2 github io当用户在我的网站上发表评论时的脚本 它会向下滚动到他们的评论并弹出甜蜜警报 但是当他们在甜蜜警报框中单击 确定 时 它会滚动回顶部 从我读到的内容来看 我需要某种预防
  • 禁用 Alamofire iOS 缓存

    我试图在使用 Alamofire 发出 iOS 请求时禁用缓存 当我尝试向服务器发出请求 然后以其他用户身份进行身份验证时发出请求时 我会收到 304 状态代码 我已经尝试过一切这个链接 https stackoverflow com qu
  • 具有 HTML 支持的 Angular Material 工具提示

    我只是想知道有没有好的第三方angular material tool tip plugin在 的支持下HTML 我在用Material design with Angular 7仅 无引导程序 虽然我正在使用ng2 工具提示指令 http
  • 函数超时(Windows)?

    我正在尝试为特定功能实现超时 我检查了SE中的许多问题 但找不到任何适合我的问题的解决方案 因为 我在 Windows 中运行 python 超时应用于我无法控制的Python函数 即它是在已经设计的模块中定义的 python函数不是子进程
  • 如何通过 ID 检查 Scratch 项目是否被共享?

    我不希望很多人知道这一点 但是有没有办法检查 Scratch 项目 ID 是否属于共享项目 例如 项目 ID3是一个实际项目 但不共享 而 ID399293697是共享的 那么我如何使用 JavaScript 来查看这些是否共享呢 我搜索了
  • “RVM 不是函数”错误

    RVM 已正确安装在我的计算机上 运行 Mac OSX 10 6 8 并且运行良好 奇怪的是 要运行它 我必须使用source rvm scripts rvm对于每个新会话 我尝试从它创建一个符号链接 opt local bin rvm 但
  • 如何删除 poi 3.8 中的超链接?

    我在读取包含 poi 中超链接文本的 Excel 文件时遇到一些问题 数据是这样的 excel文件 1 type category job type position name email 2 测试 开发商 兼职 经理 洪 asdf dsa
  • 广播接收器中的 Android AlarmManager

    我有广播接收器 该广播接收器应安排警报 通常我会这样做 AlarmManager am AlarmManager getSystemService ALARM SERVICE am set AlarmManager RTC time myP
  • 如何保持 Mercurial 存储库较小?

    我的中央存储库存储在 8GB USB 记忆棒上 我不小心提交了一些大文件 因此存储库不再适合放在内存条上 有办法纠正这种情况吗 我投票赞成了吸引人的答案 因为他有你可能会使用的步骤 但这里有一个方便的列表 不过 首先要提醒一下 如果您已经将
  • 使用 Boost::spirit 编写的解析器存在性能问题

    我想解析一个如下所示的文件 类似 FASTA 的文本格式 gt InfoHeader Some text sequence that has a line break after every 80 characters gt InfoHea
  • Facebook og:图像未以全尺寸显示

    从 ElfYourself com 共享视频时 发送到 Facebook 的 OG 图像为 130x130 像素 Facebook 表示 这是它将在新闻提要 时间轴中显示的最大尺寸 然而 Facebook 在图像提要中实际显示的是 90x9
  • 我们可以在 sails 中的 Create() 回调之后/之前更改属性值吗?

    我有一个场景 我必须用模型的 id 填充模型的属性 对于例如 在用户模型中 module exports attributes activation link string afterCreate function value cb val
  • java.lang.ClassNotFoundException:org.apache.commons.fileupload.FileItemFactory [重复]

    这个问题在这里已经有答案了 我已关注本教程 http www tutorialspoint com servlets servlets file uploading htm用于使用 servlet 进行文件上传 这是文件夹结构 使用 Ecl
  • 无法获取默认调试密钥库位置

    我在 Android Studio 设置中更改了项目默认位置 Documents Android Studio projects to Documents AndroidProjects 然后我在文件资源管理器中将现有项目从前者移动到后者
  • Play框架:继承按类型排序

    在我的应用程序中 我有两个课程 Group Model 和一个基类Element 我使用单表策略来持久化这些模型 strategy InheritanceType SINGLE TABLE 因此一列dtype在我的表中创建 我现在尝试根据此
  • 修复了使用 FlatList 进行原生反应的页脚

    下列的这个问题 https stackoverflow com questions 29447715 react native fixed footer在带有 ScrollView 的固定页脚上 我试图在屏幕上实现固定页脚FlatList
  • jquery防止窗口滚动

    我正在 jquery 中开发一个选择菜单替换 首先 我必须通过添加来使新的选择菜单可聚焦tabindex 0 到容器 然后 我禁用原始选择菜单的焦点并将焦点放在新菜单上 当新的焦点被聚焦并按下向上和向下箭头时 选项会相应改变 但有一个大问题
  • 在Python中从pdf中提取印地语编写的文本[重复]

    这个问题在这里已经有答案了 我想从 pdf 文档中提取印地文输入的文本 我已附上示例页面的图像 https i stack imgur com UkT86 jpg我正在处理 我尝试使用 pdfminer 从中获取文本 但文本是乱码 可能是由