我正在开发一个使用 Python Flask 框架来处理 PDF 的网站。我将 PDF 文件存储在 MongoDB 中,当我需要将它们提供给访问用户时,它可以正常工作。我现在需要使用pdfminer 库进行一些文本和图像提取。当我使用pdf2txt.py并从文件系统提供文件时,这一行(这里的上下文)几乎可以立即工作:
for page in PDFPage.get_pages(file('ticket.pdf', 'rb'), pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=True): pass
但是当我编辑代码以便从我的 MongoDB 提供GridFS对象时,第二行(因此在检索完成后)需要大约 8 秒才能成功(结果与上面的代码相同):
document = UserDocument.objects.first()
for page in PDFPage.get_pages(document.file_, pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=True): pass
这让我感到惊讶,因为我假设从我的 MongoDB 中获取文件或从文件系统中获取文件会返回相同的结果(它在浏览器中呈现相同的结果),但显然它不一样。
有谁知道这两者之间的区别是什么导致这个电话需要这么长时间,更重要的是我该如何解决它?欢迎所有提示!