我最近通过Adobe将20个pdf合并为1个pdf。我已使用此代码在python中导入了pdf。
from PyPDF2 import PdfFileReader, PdfFileWriter
pdf_file = open ('/Users/cj/Desktop/PEI.pdf','rb')
newfile=open('rjtjj.txt','w')
pdf_reader= PdfFileReader (pdf_file)
pdf_writer= PdfFileWriter()
print(pdf_reader.numPages)
n=pdf_reader.getNumPages()
for i in range(0, n-1):
# pdf_writer.addPage(pdf_reader.getPage(i))
gft=pdf_reader.getPage(i)
newfile.write(gft.extractText())
pdf_file.close()
newfile.close()
我正在尝试使用Vadersentiment分析pdf。我要做的是单独分析合并为1的20个pdf。
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
analyzer = SentimentIntensityAnalyzer()
with open('rjtjj.txt', 'r') as f:
for line in f.read().split("\n"):
vs=analyzer.polarity_scores(line)
我知道我的代码是错误的,因为它只给我整个pdf的第一行。我对此并不陌生,非常感谢您的帮助。 谢谢
答案 0 :(得分:0)
您的问题实际上与Vader情绪分析无关,而是与从PDF中正确提取文本有关。
Postscript的第四种解释器是Turing-complete,因此某些PDF文档“很难”解析。您没有发布PDF,因此我们只能猜测问题所在。您可以尝试使用poppler的pdftotext
命令行实用程序。 Ubuntu将软件包称为“ poppler-utils”。在Mac上,您将使用brew install poppler
。通过pdf2ps和ps2ascii运行有时会提供不同且有用的结果。
如果您仍然难以从PDF中检索适当的文本,则可能要与产生PDF的任何人联系,并决定以修改后的格式提供相同的信息。