#!/usr/bin/env python3 import sys import img2pdf from PIL import Image """Tesseract no-op spoof To quickly run tests where getting OCR output is not necessary. In 'hocr' mode, create a .hocr file that specifies no text found. In 'pdf' mode, convert the image to PDF using another program. In orientation check mode, report the orientation is upright. """ VERSION_STRING = '''tesseract 3.04.00 leptonica-1.72 libjpeg 8d : libpng 1.6.19 : libtiff 4.0.6 : zlib 1.2.5 SPOOFED ''' HOCR_TEMPLATE = '''

''' def main(): if sys.argv[1] == '--version': print(VERSION_STRING, file=sys.stderr) sys.exit(0) elif sys.argv[1] == '--list-langs': print('List of available languages (1):\neng', file=sys.stderr) sys.exit(0) elif sys.argv[-1] == 'hocr': inputf = sys.argv[-3] output = sys.argv[-2] with Image.open(inputf) as im, \ open(output + '.hocr', 'w', encoding='utf-8') as f: w, h = im.size f.write(HOCR_TEMPLATE.format(str(w), str(h))) elif sys.argv[-1] == 'pdf': inputf = sys.argv[-3] output = sys.argv[-2] pdf_bytes = img2pdf.convert([inputf], dpi=300) with open(output + '.pdf', 'wb') as f: f.write(pdf_bytes) elif sys.argv[-1] == 'stdout': inputf = sys.argv[-2] print("""Orientation: 0 Orientation in degrees: 0 Orientation confidence: 100.00 Script: 1 Script confidence: 100.00""", file=sys.stderr) else: print("Spoof doesn't understand arguments", file=sys.stderr) print(sys.argv, file=sys.stderr) sys.exit(1) sys.exit(0) if __name__ == '__main__': main()