Verifique as informações sobre a falta de confiabilidade nas extrações do registro. Cole pdf em python

Atualmente, a possibilidade de a autoridade tributária excluir uma empresa do USRLE apenas “revelando” as chamadas informações imprecisas sobre a empresa continua sendo um tópico muito urgente. Como mostram as estatísticas, a partir de setembro de 2018, o Serviço Tributário Federal excluiu 90.000 organizações do Registro Estadual Unificado de Pessoas Jurídicas com um registro da imprecisão das informações sobre o chefe, fundador ou endereço da entidade legal. Para descobrir o fato de que há informações imprecisas sobre a empresa, só pode ser visualizado extraindo do registro.

É assim:



O problema é agravado pelo fato de que dados sobre imprecisão podem aparecer tanto a pedido da pessoa interessada quanto “por conta própria”, como resultado das ações da autoridade tributária. Para se proteger de uma saída repentina do registro, é necessário receber regularmente extratos. Como fazer isso de forma rápida e indolor, se houver um grande número de empresas na holding, examinamos em um post anterior.

Desta vez, analisaremos como procurar informações sobre a falta de confiabilidade nos extratos do registro de pessoas jurídicas.

Assumimos que temos o enésimo número de declarações que baixamos do site do STF. As instruções têm a extensão .pdf e alguns nomes.

Tudo o que é necessário para nós é procurar a palavra "falta" em cada arquivo pdf.

Abrir cada pdf com uma declaração e pesquisar não é o nosso método. Isso pode levar um tempo excessivamente longo. Você pode colar todos os arquivos no Abbyy Finereader, mas também levará tempo suficiente.

Vamos escrever um programa que cole todos os arquivos pdf em um. Python permite fazer isso em segundos!

No futuro, poderemos abrir o arquivo criado e realizar uma pesquisa pela palavra desejada imediatamente em todas as extrações do registro.

Vamos começar.

* As instruções do USRLE estão localizadas no diretório C: \ 1.
No novo arquivo python, importamos módulos para trabalhar com o pdf e o sistema como um todo:

import PyPDF2, os 

Em seguida, crie uma lista vazia e vá para o diretório C: \ 1, no qual todas as nossas instruções estarão localizadas.

Este diretório não precisa estar vazio. No programa, fornecemos o processamento apenas dos arquivos que possuem a extensão pdf:

 pdfFiles = [] os.chdir('C:\\1') for filename in os.listdir('.'): if filename.endswith('.pdf'): pdfFiles.append(filename) pdfFiles.sort() 

O próximo bloco cola instruções entre si, adicionando cada instrução subsequente ao final:

 pdfWriter = PyPDF2.PdfFileWriter() # Loop through all the PDF files. for filename in pdfFiles: pdfFileObj = open(filename, 'rb') pdfReader = PyPDF2.PdfFileReader(pdfFileObj) # Loop through all the pages and add them. for pageNum in range(0, pdfReader.numPages): pageObj = pdfReader.getPage(pageNum) pdfWriter.addPage(pageObj) 

Resta apenas salvar o resultado:

 pdfOutput = open('all.pdf', 'wb') pdfWriter.write(pdfOutput) pdfOutput.close() 

Assim, após o trabalho do programa, recebemos o arquivo all.pdf, pelo qual já é possível procurar as informações necessárias sobre a imprecisão das informações.

Faça o download do programa para colar o pdf em um - aqui .

Continuação a partir de 08/11/2019


Cortamos as declarações do registro, mantendo as 4 primeiras páginas de cada declaração.
Informações sobre a falta de confiabilidade do jur. pessoa se enquadra em diferentes partes do registro.
No final do extrato, há registros de falta de confiabilidade, que foram cancelados pelo imposto.
Portanto, não é aconselhável executar o programa para extratos inteiros do Registro Unificado de Pessoas Jurídicas do Estado: o programa também encontrará essas entradas obsoletas.
Portanto, usaremos pyhton para cortar as instruções baixadas do USRLE, salvando as 4 primeiras páginas de cada uma. Como regra, essas páginas são suficientes para encontrar sinais de imprecisão no endereço ou no único órgão executivo.
Mova todas as extrações que você baixou anteriormente (arquivos pdf) para a pasta condicional no caminho 'C: \ 1 \ 2' e execute o código python:
 #! python3 import PyPDF2, os from datetime import datetime start = datetime.now() os.chdir('C:\\1\\2') pdfFiles = [] for filename in os.listdir('.'): if filename.endswith('.pdf'): pdfFiles.append(filename) pdfFiles.sort() pdfWriter = PyPDF2.PdfFileWriter() # Loop through all the PDF files. for filename in pdfFiles: pdfFileObj = open(filename, 'rb') pdfReader = PyPDF2.PdfFileReader(pdfFileObj) # Loop through all the pages and add them. for pageNum in range(0, 4): pageObj = pdfReader.getPage(pageNum) pdfWriter.addPage(pageObj) # Save the resulting PDF to a file. pdfOutput = open('all-small.pdf', 'wb') pdfWriter.write(pdfOutput) pdfOutput.close() print(datetime.now()- start) 

Na saída, receberemos as instruções de registro coladas em um único arquivo pdf - “all-small.pdf”. Além disso, de cada declaração serão apenas as 4 primeiras páginas.

Agora vamos rodar "all-small.pdf" pesquisando a frase "falhas":
 #!/usr/bin/python import fitz,os filename = "all-small.pdf" search_term = "" pdf_document = fitz.open(filename) for current_page in range(len(pdf_document)): page = pdf_document.loadPage(current_page) if page.searchFor(search_term): print("%s    %i" % (search_term, current_page+1)) 


O programa funciona muito mais rápido do que pesquisar em um único arquivo PDF colado através do 'Acrobat reader' e ao mesmo tempo exibe as páginas nas quais a incerteza foi encontrada no terminal.

Source: https://habr.com/ru/post/pt456060/


All Articles