我正在使用OSX,并希望能够将pdf文件转换为文本。
我想要一个免费的应用程序来执行此操作,因为我肯定必须有一些。
我正在使用OSX,并希望能够将pdf文件转换为文本。
我想要一个免费的应用程序来执行此操作,因为我肯定必须有一些。
Answers:
这是我用来通过Homebrew安装和使用xpdf的步骤。
安装Homebrew的依赖项:
xcode-select --install
从他们的网站安装Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
请执行告诉其完成Homebrew安装的操作。
验证Homebrew是否满意并且可以正常工作。
brew doctor
接下来安装xpdf及其依赖项:
brew install Caskroom/cask/xquartz
brew install xpdf
最后,使用pdftotext,这是xpdf套件随附的软件包:
pdftotext Some_Document.pdf Some_Document.txt
第一个文件名是现有的PDF。第二个是目的地。结果比使用Adobe Acrobat(公认的旧版本)要好得多。编辑:Adobe Acrobat的新(2019)版本显示出类似的不良结果。
xquartz
中的控制台工具不需要xpdf
。此外,有poppler
叉xpdf
似乎更为积极维护:github.com/scraperwiki/scraperwiki-python/issues/...
xpdf
我安装了端口:
port install xpdf
包含:
xpdf-pdftotext
对于来自文本文件(而非图像)的任何PDF文件,它都能满足您的需求:
xpdf-pdftotext PDF_file text_file
我认为您应该能够将文本复制并粘贴到另一个文档中。选择所有文本
请注意,如果您尝试执行此操作,并且没有粘贴任何文本,只有一堆空白行,请尝试先将PDF打印为新的PDF,例如
现在,使用此新PDF尝试上述过程。为我工作!
PS:如果您使用Microsoft Word,则可以用Word 打开PDF
以下python脚本会将文本从PDF文档输出到.txt文件。(注意:由于数据以PDF格式保存,因此无法保证文本必须以“逻辑”人类可读的顺序显示。)
该脚本将为在命令行上作为参数提供的任何PDF文件创建文本文件(例如pdf2txt.py myPDF.pdf
),或者您可以在Automator的“运行Shell脚本”操作中使用,将外壳类型设置为python并将输入传递为“作为参数” 。然后,您可以将其用作快速操作或DropApp。
#!/usr/bin/python
# coding: utf-8
import os, sys
from Quartz import PDFDocument
from CoreFoundation import (NSURL, NSString)
NSUTF8StringEncoding = 4
def pdf2txt():
for filename in sys.argv[1:]:
inputfile =filename.decode('utf-8')
shortName = os.path.splitext(filename)[0]
outputfile = shortName+" text.txt"
pdfURL = NSURL.fileURLWithPath_(inputfile)
pdfDoc = PDFDocument.alloc().initWithURL_(pdfURL)
if pdfDoc :
pdfString = NSString.stringWithString_(pdfDoc.string())
pdfString.writeToFile_atomically_encoding_error_(outputfile, True, NSUTF8StringEncoding, None)
if __name__ == "__main__":
pdf2txt()
if pdfDoc
语句后的两行替换为print(pdfDoc.string())
。