This document was generated with the Tesseract Optical Character Recognition engine. Because of the poor quality of the original pdf and the numerous redacted sections, the text contains many errors and should not be regarded as the definitive text. This document should be used by those who wish to process the text at scale. The difficulties associated with the OCR process also signals the failure of the Justice Department to accommodate citizens using screen readers to access this document.
from wand.image import Image from PIL import Image as PI import pyocr import pyocr.builders import io import os from PyPDF2 import PdfFileWriter, PdfFileReader#splits full report into pages inputpdf = PdfFileReader(open("report.pdf", "rb")) for i in range(inputpdf.numPages): output = PdfFileWriter() output.addPage(inputpdf.getPage(i)) with open(f"pages/report-page{i:03}.pdf", "wb") as outputStream: output.write(outputStream)#reports list of images file_list = [] for path, subdirs, files in os.walk("pages"): # change depending on system for file in files: a = os.path.join(file) file_list.append(a) file_list = sorted(file_list)tool = pyocr.get_available_tools()[0] lang = tool.get_available_languages()[0]image = [] text = []for file in file_list: pdf = Image(filename="pages/"+file, resolution=300) jpg = pdf.convert('jpeg') img_page = Image(image=jpg) image.append(img_page.make_blob('jpeg'))for img in image: txt = tool.image_to_string( PI.open(io.BytesIO(img)), lang=lang, builder=pyocr.builders.TextBuilder()) text.append(txt)with open("report.txt", "w") as file: for page in text: file.write(page)