【问题标题】:How to convert pdf document to ocr pdf document如何将pdf文档转换为ocr pdf文档
【发布时间】:2019-02-12 04:48:23
【问题描述】:

我有一个问题,我需要将 pdf 文档转换为 OCR pdf 文档,就像 Adob​​e Acrobat 的工作方式一样。我尝试过使用 ocrmypdf 模块,但不知何故它不起作用。我正在使用python 2.7。任何其他模块也值得赞赏。

import logging
import os
import subprocess
import sys
import time
import shutil

path="D:\Nikhil Scraping\Pdf all processing"

for filenames in os.listdir(path):
     print (filenames)
     filename=filenames.split('.')[0]
     print (filename)
     input_path=os.path.join(path,filenames)
     outputfile=filename+"_OCR.pdf"

     cmd=["ocrmypdf","--output-type", "pdf", input_path, outputfile]
     logging.info(cmd)
     proc=subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
     result = proc.stdout.read()

错误显示:

1-9-US 118137380VP1.pdf
1-9-US 118137380VP1

Traceback (most recent call last):
     File "D:\Nikhil Scraping\Pdf all processing\pdf_ocr_working.py", line 19, in <module>
     proc=subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
     File "C:\Python27\Lib\subprocess.py", line 710, in __init__
errread, errwrite)
     File "C:\Python27\Lib\subprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

虽然我在 python 3.7 中使用相同的代码,但它工作正常,但没有生成输出文件。

它在 mac OS 中也能成功运行,我不知道为什么 windows 会显示这个错误。

My Code ApproachError shown

【问题讨论】:

  • 也许您正面临这个问题,因为您的文件夹名称中有空格。尝试另一个没有空间的文件夹。
  • 不,我已经尝试将它推送到另一个没有空格的文件夹,即使它显示相同的错误
  • 尝试将路径从 path="D:\Nikhil Scraping\Pdf all processing" 更改为 path="D:\\NikhilScraping\\Pdfallprocessing" 格式(转义空格和双 \\ 用于路径)或 path=r"D:\Nikhil Scraping\Pdf all processing"(原始字符串),
  • @dkb 不,即使这样也行不通。据我所知,路径变量没有问题,问题出在 ocrmypdf 模块中,如果路径有问题,那么它甚至不会进入 for 循环,它可能会显示类似这样的错误for filenames in os.listdir(path): WindowsError: [Error 3] The system cannot find the path specified:

标签: python ocr


【解决方案1】:

你在这里加入所有文件名而不是一个文件名

input_path=os.path.join(path,filenames)

改用此代码

input_path=os.path.join(path,filename)

【讨论】:

  • 感谢您的回复。但这行不通。我使用文件名只是为了更改下载文件的名称,如果我打印输入路径(如果保留文件名):D:\Nikhil Scraping\Pdf all processing\1-9-US 118137380VP1.pdf 但如果我打印input_path(如果保留文件名):D:\Nikhil Scraping\Pdf all processing\1-9-US 118137380VP1,它不是文件,所以不会
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
  • 2018-01-07
  • 2017-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多