atbasu / document-content-extractor

Python program that uses open ai apis to parse user specified content from text files
0 stars 0 forks source link

some pdf files are getting read with non english characters. #11

Closed atbasu closed 1 year ago

atbasu commented 1 year ago

For example 28.pdf gets read with the following text: 〷⼲㔯㈰㈲‱〺〴⁐協 Order Date:Order Number: 08-02476888-CExpedited Order 呉䵉体Ⱐ䥎䌮 ㈳〱⁗⸠偌䅎传偋坙 STE 215 PLANO, TX 75075 Phone: (818) 706-6400 䱅塉乇呏丬⁓䌠ⴠ㈹〷㈭㤷㈹噥湤潲⁃桡牧攺 $350.00 噥湤潲⁎漺 〰〲〳㔶 噥湤潲⁎慭攺 䍁剏䱉乁⁁呔佒久夠久呗 ORK LLC 噥湤潲⁁ ddress: ㄱ㔠䑒䥆呗 住䐠䑒 Vendor Phone: (803)520-2048 Vendor Fax: (803)520-8041 䅳獩杮浥湴⁔祰攺 Reverse Closing 䅳獩杮敤⁄慴攺 〹⼲〯㈰㈲‱㌺ㄹ⁐協 Projected Closing Date: 〹⼲㈯㈰㈲‱㌺㌰ Home Phone: (803)646-1118 䅤摲敳猺 242 TRIPLE H FARM LANE, AIKEN, SC - 29803 HAYMANS\W ANDA A. Home Phone: (803)646-1118䡁奍䅎卜䵉䱅匠䍕剔䥓 Borrower:Borrower: 偲潰敲瑹⁁ ddress: County:㈴㈠呒䥐䱅⁈⁆䅒䴠䱎 䅉䭅丬⁓䌠ⴠ㈹㠰㌭㠲㔴 AIKEN REFINANCE Closing Location: 242 TRIPLE H FARM LANE, AIKEN, SC - 29803Purchase: MUTUAL OF OMAHA MORTGAGE INC. 4429973 $451,000.00卵扳捲楢敲⁎慭攺 䱯慮⁎畭扥爺 䱯慮⁁ 浯畮琺 奯畲⁡杲敥搠晥攠景爠瑨楳牤敲⁩猠␳㔰⸰〮⁙潵畳琠捡汬湥映潵爠牥灲敳敮瑡瑩癥猠灲楯爠瑯⁤潩湧⁡湹 additional work that will 楮捲敡獥⁹ 潵爠晥攮⁕湡畴桯物穥搠睯牫⁷楬氠湯琠扥⁰慩搠景爮 䅤ditional Fee: Reason: 䅰灲潶敤⁂示Please Email: WandaHaymans4@gmail.com or Text 803-646-1118 for communication she does not receive phone calls at her house. Reverse Loan Signing PLEASE CONTACT THE BORROWER(S) TO CONFIRM THE SIGNING TIME AND LOCATION. If you are in a state with Witness requirements please confirm with borrowers that they will have the 湥捥獳慲礠睩瑮敳獥猠灲敳敮琮 䉵獩湥獳⁨潵牳㨠‸慭⁴漠㔺〰灭⁃協 䙏删䅎夠兕䕓呉低区 Arwen Hebert 972-384-4639 / After Hours 214-907-5249 If no answer you can try 瑥硴楮朠慳⁷敬氮 䅭祥⁃潲牡摯‹㜲ⴳ㠴ⴴ㘲㤠⼠䅦瑥爠䡯畲猠㐶㤭㤹㔭㐲㘵 䑡牲敬氠坩湲潷‹㜲ⴳ㠴ⴴ㘱㠠⼠䅦瑥爠䡯畲猠㠱㠭㌰㤭㔰ㄴ Jordan Tomenga 972-384-4622 / After Hours 972- 523-9746COMMENTS: 1COMMENTS: 偬敡獥⁲敡搠慬氠楮獴牵捴楯湳⁣慲敦 ully before completing the signing appointm ent. Due to the COVID- 19 pandemic, Timios w ill REQUIRE the NSA 䡥慬瑨⁓捲敥湩湧 Form as w ell as the Borrow 敲⁈敡汴栠卣牥敮楮朠䙯牭⁴漠扥⁦楬汥搠潵琠捯浰汥瑥汹 . 䅬so, w 攠慲攠慳歩湧畲潴慲楥猠瑯⁰牯瑥捴⁴桥浳敬癥猠慮搠潵爠扯牲潷 敲猠批 睥aring gloves and masks to all Face to Face closings AS A剅䵉乄䕒Ⱐ呈䔠坏剄ₑ乏呁 剙⁐啂䱉䎒⁍啓吠䉅⁗剉呔䕎⁏啔⁁ FTER THE NA 䵅 低⁕十 偁TRIOT A CT FORM, NO EXCEPTIONS 䉯牲潷敲⡳⤠獨潵汤⁢攠捯湴慣瑥搠瑯⁣潮晩牭⁡灰潩湴浥湴⁤慴攬⁴業攠慮搠汯捡瑩潮⸠ All docum ents should be printed and returned in the order they are attached. Do not shuff le pages in the package. 䑯捵浥湴猠獨潵汤潴⁢攠捵瑯晦 ⸠⁍潳琠晩汥猠慲攠異汯慤敤⁡猠浩硥搠潲楧楮慬猬†睨敮⁩渠摯畢琠灲楮琠潮敧慬⁳楺攠灡灥爮⁙潵 will be contacted by a Timios representative when documents are ready to be printed. 䅬氠獩杮敤⁤潣畭敮瑳畳琠扥⁤牯灰敤⁷楴桩渠㐠桯畲猠潦⁴桥⁣汯獩湧⁵獩湧⁴桥⁣潵物敲慢敬⁡瑴慣桥搮†䅦瑥爠桯畲猠捬潳楮杳 浵獴⁢攠摲潰灥搠批 湯潮⁴桥數琠扵獩湥獳⁤慹⸠⁁晴敲⁤潣畭敮瑳⁨慶攠扥敮⁤牯灰敤Ⱐ⁰汥慳攠汯杩渠瑯⁷睷⹴業楯献捯洠瑯 confirm the signing has been completed. ⨪⩐汥慳攠畳攠愠䙅䐠䕘⽕偓⁓桩灰楮朠䕮癥汯灥⁷桥渠牥瑵牮楮朠摯捵浥湴猪⨪ Failure to comply 睩瑨⁴桥⁩湳瑲畣瑩潮猠慢潶攠捯畬搠牥獵汴⁩渠愠牥摵捴楯渠潲⁷慩癥爠潦⁹ 潵爠獩杮楮朠晥攮† 䍬潳楮朠噥湤潲⁌潧楮⁉湳瑲畣瑩潮猺 ⴠ䝯⁴漠睷眮瑩浩潳⹣潭⁡湤⁧漠瑯⁁捣敳猠奯畲⁁捣潵湴 ⴠ啳敲⁉䐠楳⁹潵爠癥湤潲畭扥爠⡄传乏吠䕎呅删偒䕃䕄䥎䜠婅剏匩 **Please direct all billing and pay ment inquiries to accountspay able@timios.com**** Do not change the name of the fields.

But there are no foreign characters in the pdf

atbasu commented 1 year ago

try the following steps:

  1. Check the PDF file: Open the PDF file in a PDF viewer or editor and verify if the text appears correctly. Make sure there are no special characters or encoding problems in the file itself.
  2. Update the PDF library: Ensure that you have the latest version of the PyPDF2 library installed. You can try updating it using pip install --upgrade PyPDF2 to see if it resolves any compatibility issues or bugs.
  3. Try a different PDF library: If updating the library doesn't work, consider using an alternative PDF library, such as pdfminer or PyMuPDF, to extract the text from the PDF file. Different libraries may handle PDF parsing and text extraction differently, so using an alternative library might give you better results. Here's an example code snippet that uses the pdfminer library to extract text from a PDF file:
    
    from pdfminer.high_level import extract_text

def read_document(file_path): text = extract_text(file_path) return text

Usage

file_path = "path_to_your_pdf_file.pdf" text = read_document(file_path) print(text)

Make sure you have the pdfminer.six library installed before running the code. You can install it using pip:

pip install pdfminer.six

This code snippet uses the extract_text function from pdfminer.high_level module to extract the text from the PDF file specified by file_path. The extracted text is then returned by the read_document function.

Note that pdfminer may not always provide perfect text extraction, especially if the PDF has complex formatting or embedded images. In such cases, you may need to explore additional options or libraries for more accurate extraction.
And here's some sample code using pymupdf:

import fitz

def read_document(file_path): text = "" with fitz.open(file_path) as doc: for page in doc: text += page.get_text() return text

Usage

file_path = "path_to_your_pdf_file.pdf" text = read_document(file_path) print(text)

Make sure you have the PyMuPDF library installed before running the code. You can install it using pip:

pip install PyMuPDF

This code snippet uses the fitz module from PyMuPDF to open the PDF file specified by file_path and extract the text from each page using the getText method. The extracted text from all pages is concatenated and returned by the read_document function.

PyMuPDF provides more advanced features for working with PDF files, such as extracting images, annotations, and metadata. You can explore the documentation for PyMuPDF to learn more about its capabilities and how to utilize them in your code.

4. Encoding and decoding: In some cases, the text extracted from a PDF file may have encoding issues. You can try decoding the text using different encodings to see if it produces the expected output. For example, you can try decoding with 'utf-8', 'latin-1', or 'unicode-escape' encodings:

import PyPDF2

def read_document(file_path): with open(file_path, 'rb') as file: pdf_reader = PyPDF2.PdfReader(file) text = "" for page in pdf_reader.pages: page_text = page.extract_text() try: decoded_text = page_text.encode('latin-1').decode('utf-8') text += decoded_text except UnicodeDecodeError: text += page_text return text

atbasu commented 1 year ago

Using PyMuPDF I get the following output: ������������������������������� �������������������������� ��������������� ������������ ������������������ ������� ��������������� ��������������������� �������������������������� �������������� ������� ���������� �������� ������������ ����������������������������� ��������������� ���������������� ������������� ������������� ���������������� �������������������������� ������������� �������������� �������������������� ����������������������� ���������������� ����������� ������������� ������������������������������������������������� ���������������� ����������� ������������� �������������������� ��������� ��������� ����������������� ������� �������������������� ���������������������� ����� ��������� ����������������� ����������������������������������������� ��������� ����������������������������� ������� ����������� ���������������� ������������ ������������ ������������������������������������������������������������������������������������������������������ ������������������������� ���������������������������������������������������������� ��������������� ������� ������������ ������������������������������������������������������������������������������������� ������������������������������������������������������������������� ��������������������������������������������������������������������������������������� ��������������������������������������������������������������������������������������� ���������������������������� ���������������������������������� ������������������ ��������������������������������������������������������������������������������� ���������������� ���������������������������������������������������� ������������������������������������������������������ ������������������������������������������������������� ��������� � ��������� ����������������������������������������������������������������������������������� ���������������������������������������������������������� ���������������� ������������������������������������������������������������������������������� ��������������������������������������������������������������������������� ����������������������������������������������������� ������ ��������������������������������������������������������������������� ������ ���������������������������������� �������������������������������������������������������������������������������� �������������������������������������������������������������� ���������������������������������������������������� �������������������������������������������������������������������������������������������������������������������������� ��������������������������������������������������������������������� ��������������� �������������������������������������������������������������������������������������������������������������������������� ������������������ �������������������������������������������������������������������������������������������������� ��������������������������������������� ������������������������������������������������������������������������ ����������������� ���������������������������������������������������������������������������������������� ���������������������������������� ���������������������������������������������������� �������������������������������������������������������������� �������������������������������������������������������������������������������������

atbasu commented 1 year ago

Using pdfminer I get the following output: TIMIOS, INC. 2301 W. PLANO PKWY STE 215 PLANO, TX 75075 Phone: (818) 706-6400

Expedited Order

Order Number: 08-02476888-C

Order Date:

07/25/2022 10:04 PST

Vendor Charge: $350.00

Vendor No: 00020356

Vendor Name: CAROLINA ATTORNEY NETWORK LLC

Vendor Address: 115 DRIFTWOOD DR

LEXINGTON, SC - 29072-9729 Vendor Phone: (803)520-2048 Vendor Fax:

(803)520-8041

Assignment Type: Reverse Closing

Assigned Date: 09/20/2022 13:19 PST

Projected Closing Date: 09/22/2022 13:30

Borrower:

Borrower:

HAYMANS\MILES CURTIS Home Phone: (803)646-1118 Address:242 TRIPLE H FARM LANE, AIKEN, SC - 29803 HAYMANS\WANDA A. Home Phone: (803)646-1118

Property Address:

County: Purchase:

242 TRIPLE H FARM LN AIKEN, SC - 29803-8254 AIKEN REFINANCE

Closing Location: 242 TRIPLE H FARM LANE, AIKEN, SC - 29803

Subscriber Name: Loan Number: Loan Amount:

MUTUAL OF OMAHA MORTGAGE INC. 4429973 $451,000.00

COMMENTS:

Please Email: WandaHaymans4@gmail.com or Text 803-646-1118 for communication she does not receive phone calls at her house. Reverse Loan Signing

PLEASE CONTACT THE BORROWER(S) TO CONFIRM THE SIGNING TIME AND LOCATION. If you are in a state with Witness requirements please confirm with borrowers that they will have the necessary witnesses present.

Business hours: 8am to 5:00pm CST FOR ANY QUESTIONS: Arwen Hebert 972-384-4639 / After Hours 214-907-5249 ** If no answer you can try texting as well. Amye Corrado 972-384-4629 / After Hours 469-995-4265 Darrell Winrow 972-384-4618 / After Hours 818-309-5014 Jordan Tomenga 972-384-4622 / After Hours 972- 523-9746

Your agreed fee for this order is $350.00. You must call one of our representatives prior to doing any additional work that will increase your fee. Unauthorized work will not be paid for. Additional Fee:

Approved By:

Reason:

1

COMMENTS:

Please read all instructions carefully before completing the signing appointment.

Due to the COVID- 19 pandemic, Timios will REQUIRE the NSA Health Screening Form as well as the Borrower Health Screening Form to be filled out completely. Also, we are asking our notaries to protect themselves and our borrowers by wearing gloves and masks to all Face to Face closings

AS A REMINDER, THE WORD (cid:145)NOTARY PUBLIC(cid:146) MUST BE WRITTEN OUT AFTER THE NAME ON USA PATRIOT ACT FORM, NO EXCEPTIONS

Borrower(s) should be contacted to confirm appointment date, time and location.

All documents should be printed and returned in the order they are attached. Do not shuffle pages in the package. Documents should not be cutoff. Most files are uploaded as mixed originals, when in doubt print on legal size paper. You will be contacted by a Timios representative when documents are ready to be printed.

All signed documents must be dropped within 4 hours of the closing using the courier label attached. After hours closings must be dropped by noon the next business day. After documents have been dropped, please login to www.timios.com to confirm the signing has been completed.

Please use a FED EX/UPS Shipping Envelope when returning documents

Failure to comply with the instructions above could result in a reduction or waiver of your signing fee.

Closing Vendor Login Instructions:

Please direct all billing and payment inquiries to accountspayable@timios.com

And the resulting extraction is also perfect