It is working fine for me: # This works in python 3įrom PyPDF2 import PdfFileWriter, PdfFileReader Interpreter = PDFPageInterpreter(rsrcmgr, device) With TextConverter(rsrcmgr, retstr, codec=codec, '''Convert pdf content from a file path to text Test pdf file: #pip install pdfminer.sixįrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterįrom nverter import TextConverter In 2020 the solutions above were not working for the particular pdf I was working with. As instructions for this would blow up this answer I put them on my personal blog. There is pdftotext which does basically the same but this assumes pdftotext in /usr/local/bin whereas I am using this in AWS lambda and wanted to use it from the current directory.ītw: For using this on lambda you need to put the binary and the dependency to libstdc++.so into your lambda function. Res = n(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) SCRIPT_DIR = os.path.dirname(os.path.abspath(_file_)) pikepdf does not support text extraction ( source)Īfter trying textract (which seemed to have too many dependencies) and pypdf2 (which could not extract text from the pdfs I tested with) and tika (which was too slow) I ended up using pdftotext from xpdf (as already suggested in another answer) and just called the binary from python directly (you may need to adapt the path to pdftotext): import os, subprocess.Pymupdf import fitz # install using: pip install PyMuPDF Please note that those packages are not maintained: Give it a try :-) from PyPDF2 import PdfReader And some might have too restrictive licenses so that you may not use it.Įdit: I recently became the maintainer of PyPDF2! □ The community improved the text extraction a lot. But they are not pure-Python which can mean that you cannot execute it. The core part is that they are way faster. Pymupdf / tika / PDFium are better than PyPDF2, but the difference became rather small. Depending on the data, it is on-par or better than pdfminer.six.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |