- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我写了一个小的 python 脚本来解析/提取 PDF 中的信息。我在我的本地机器上测试了它,我有 python 2.6.2 和 pdftotext 版本 0.12.4。
我正在尝试在我的虚拟主机服务器 (dreamhost) 上运行它。它有 python 版本 2.5.2 和 pdftotext 版本 3.02。
但是当我尝试运行脚本时,我在 pdftotext 行收到以下错误(我也使用简单的丢弃脚本对其进行了检查)“错误:无法打开文件 '-'”
def ConvertPDFToText(currentPDF):
pdfData = currentPDF.read()
tf = os.tmpfile()
tf.write(pdfData)
tf.seek(0)
if (len(pdfData) > 0) :
out, err = subprocess.Popen(["pdftotext", "-layout", "-", "-"], stdin = tf, stdout=subprocess.PIPE ).communicate()
return out
else :
return None
请注意,我向此函数传递了同一个 PDF 文件,它确实可以访问它。在另一个功能中,我可以通过在网络主机上运行的相同脚本将 PDF 文档通过电子邮件发送给自己。
我做错了什么?我的本地版本和 webhost 版本在 subprocess/python/pdftext 的使用上可能有什么不同?我猜我将不得不修改命令,因此我们将不胜感激任何帮助。
提前致谢。
最佳答案
答案的提示在 Noufal 的评论中,使用文件名。但是 os.tmpfile() 没有文件名。我不得不使用另一个模块。修改后的代码如下。
#import tempfile
def ConvertPDFToText(currentPDF):
pdfData = currentPDF.read()
tf = tempfile.NamedTemporaryFile()
tf.write(pdfData)
tf.seek(0)
outputTf = tempfile.NamedTemporaryFile()
if (len(pdfData) > 0) :
out, err = subprocess.Popen(["pdftotext", "-layout", tf.name, outputTf.name ]).communicate()
return outputTf.read()
else :
return None
不过,我不确定如何为 Noufal 的评论提供此答案的要点。也许他可以剪切并粘贴这个答案?
关于python - 当我从本地计算机更改为我的虚拟主机时,从 python 脚本调用 pdftotext 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837114/
我使用了一个 linux 函数将 PDF 文件列表转换为文本。 命令: pdftotext -htmlmeta 这适用于我的大部分文件。 但对于其中的一小部分,这会返回一个空白文本文件。 我不成功的完
我的 Azure 函数遇到运行时错误: Result: Failure Exception: Exception: pdftotext is not installed. It is part of
我正在尝试将 pdf 文件转换为文本文件。当我通过终端运行命令时它工作正常但是当尝试通过 PHP 执行它时它不工作。 过去四个小时以来,我一直处于这种情况,我花了很多时间在谷歌上,但没有可用的解决方案
我想解析一个pdf文件,因为我正在使用pdftotext实用程序将pdf文件转换为文本文件,现在我想从文本文件中删除页码、页眉和页脚。 我正在使用以下语法转换 pdf 文件: pdftotext -l
我正在尝试通过 PHP 和 XPDF (pdftotext.exe) 将 pdf 解析为 text。在我的本地主机上,一切正常,但当我尝试移动服务器上的一切时,我遇到了麻烦。 首先我检查了服务器上的一
我正在尝试使用 pdftotext 软件将 pdf 文档转换为文本文档。 我需要从 python 脚本调用此应用程序 inc 命令提示符来转换文件。 我有以下代码: import os import
当我在包含 PDF 文件的目录上运行以下 Python 脚本时,我不断收到此错误: ShellError: The command pdftotext "path/to/pdf/title.pdf"
我正在尝试安装 pdftotext,但即使在安装可视化工具后我仍然收到相同的错误。 pip install 都会发生这种情况,我只是想在我的目录中找到它... 终端输出如下: C:\Users\gar
我正在运行 PdfToText通过 Java 进程: File pdf = new File( "/path/to/test.pdf" ); File output = new File( "/pat
pdftotext 库是 requirements.txt 中的一个要求。在尝试推送到 heroku 时,出现以下错误: remote: Running setup.py insta
我有一个 python 脚本,它一直崩溃: subprocess.call(["pdftotext", pdf_filename]) 错误是: OSError: [Errno 2] No such f
我正在尝试在 Windows 上安装 pdftotext: pip install pdftotext 它最初失败是因为缺少 MS visual studio(现已安装),现在由于 poppler 问
我想使用基于XPDF的PDFTOTEXT命令行工具查看PDF文件,希望得到UTF-8输出。我在 StackOverflow 上看到其他人得到了它——问题 4039930、3809761 和 13618
我正在寻找实现 java 解决方案的最简单方法,该解决方案与 的输出非常安静 pdftotext -layout FILE 在 Linux 机器上。 (当然它也应该便宜) 我刚刚尝试了 IText、P
我正在我的 Ruby 项目中转换 pdf 文件。为此,我正在使用 pdf 工具包 gem。 文档显示了如何使用 pdftotext pdftotext(文件,outfile = nil,&block)
我正在使用一个名为 pdftotext 的简单实用程序从 pdf 文件中提取文本。我发现在使用 -table 选项时它的输出最干净、最清晰,但是 此命令行选项仅适用于该实用程序的 Windows 版本
pdftotext 获取 PDF 文件并将文本转换为 .txt 文件。 我如何让 pdftotext 将结果发送到 PHP 变量而不是文本文件? 我假设我必须运行 exec('pdftotext/pa
是否可以调用 CLI 工具,如 pdftotext、antiword、catdoc(文本提取器脚本)传递字符串而不是文件? 目前,我阅读了使用 child_process.spawn 调用 pdfto
我写了一个小的 python 脚本来解析/提取 PDF 中的信息。我在我的本地机器上测试了它,我有 python 2.6.2 和 pdftotext 版本 0.12.4。 我正在尝试在我的虚拟主机服务
我正在使用 Python 库 pdftotext抓取 PDF 文件的文本。效果很好,但我需要命令行工具随 pdftotext -layout pdf_file.pdf 一起提供的“-layout”选项
我是一名优秀的程序员,十分优秀!