Извлечение данных из PDF-файла с помощью Python

#python #pdf

#python #PDF

Вопрос:

Я хочу использовать Python для извлечения данных из моей налоговой декларации в формате PDF. Я использую PyPDF2 библиотеку для чтения файла, и это работает нормально.

 import PyPDF2 as p2

pdf_file = open("my2017TaxReturn.pdf", "rb")
pdf_read = p2.PdfFileReader(pdf_file)

page = pdf_read.getPage(18)
data = page.extractText()
print(data)
  

Тем не менее, это результат, который я получаю:

Cost of goods sold (attach Form 1125-A) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Gross profit. Subtract line 2 from line 1c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Net gain (loss) from Form 4797, line 17 ~~~~~~~~~~~~~~~~~~~~~~~~Other income (loss) Add lines 3 through 5Compensation of officers (see instrs. - attach Form 1125-E) ~~~~~~~~~~~~~~~~~~~~~~~~~Salaries and wages (less employment credits) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Repairs and maintenance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Bad debts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Rents ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Taxes and licenses ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Depreciation not claimed on Form 1125-A or elsewhere on return ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DepletionAdvertising ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Pension, profit-sharing, etc., plans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Employee benefit programs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Other deductions Add lines 7 through 19 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Subtract line 20 from line 6Excess net passive income or LIFO recapture tax~~~~~~Tax from Schedule D (Form 1120S) ~~~~~~~~~~~~~~~~~~~Add lines 22a and 22b2017 estimated tax payments and 2016 overpayment credited to 2017 ~~~~Tax deposited with Form 7004 ~~~~~~~~~~~~~~~~~~~~~~Credit for federal tax paid on fuels ~~~~~~~~~~~Add lines 23a through 23cEstimated tax penalty (see instructions). Check if Form 2220 is attached ~~~~~~~~~~~~~ If line 23d is smaller than the total of lines 22c and 24, enter amount owed ~~~~~~~~~~~~ If line 23d is larger than the total of lines 22c and 24, enter amount overpaidEnter amount from line 26 Signature of officerDateTitlePTINDateJWAForm (2017)~~|||SignHere1120SU.S.

Числа, которые я хочу прочитать, кажутся зашифрованными с помощью ~~~~~~ .

Есть ли какой-либо способ обойти это, чтобы прочитать фактическое число в моей форме налоговой декларации?

Спасибо!

Комментарии:

1. Распознавание текста может быть единственным способом

2. Есть ли в PDF-файле слои? В качестве альтернативы, это форма, в которой вы можете вводить цифры вручную, или она была автоматически сгенерирована программой подготовки налоговых документов, такой как Turbo Tax?

3. Вы могли бы попробовать pdfminer , иногда это дает разные результаты