PDF を処理する Python Flask フレームワークを使用して Web サイトを開発しています。私は PDF ファイルを MongoDB に保存します。MongoDB は、訪問ユーザーに提供する必要がある場合に問題なく動作します。pdfminer ライブラリを使用するテキストと画像の抽出を行う必要があります。pdf2txt.pyを使用してファイル システムからファイルを提供すると、この行 ( context here ) はすぐに機能します。
for page in PDFPage.get_pages(file('ticket.pdf', 'rb'), pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=True): pass
しかし、MongoDB からGridFSオブジェクトを提供するようにコードを編集すると、2 行目 (取得が完了した後) が成功するまでに約 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 からファイルを取得することも、ファイル システムからファイルを取得することも同じ結果を返す (ブラウザーで同じようにレンダリングされる)と想定していたので、これには驚きましたが、明らかに同じではありません。
この 2 つの違いが原因でこの呼び出しに時間がかかり、さらに重要なことに、それをどのように解決できるかを知っている人はいますか? すべてのヒントは大歓迎です!