46 lines
3.4 KiB
Python
46 lines
3.4 KiB
Python
#!/usr/local/bin/python2
|
|
##############################################################################
|
|
# Copyright (c) 2013-14: fritz-hh from Github (https://github.com/fritz-hh)
|
|
##############################################################################
|
|
|
|
import argparse
|
|
from argparse import RawTextHelpFormatter
|
|
|
|
if __name__ == '__main__':
|
|
|
|
parser = argparse.ArgumentParser(prog="ocrmypdf", description="OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched", formatter_class=RawTextHelpFormatter)
|
|
parser.add_argument('-v', '--verbove', action='count', help="Increase the verbosity (this option can be used more than once) (e.g. -vvv)")
|
|
parser.add_argument('-k', '--keep-tmp', action='store_true', help="Do not delete the temporary files")
|
|
parser.add_argument('-g', '--debug', action='store_true',
|
|
help="Activate debug mode:\n" +
|
|
"- Generates a PDF file containing each page twice (once with the image, once without the image\n" +
|
|
" but with the OCRed text as well as the detected bounding boxes)\n" +
|
|
"- Set the verbosity to the highest possible\n" +
|
|
"- Do not delete the temporary files")
|
|
parser.add_argument('-d', '--deskew', action='store_true', help="Deskew each page before performing OCR")
|
|
parser.add_argument('-c', '--clean', action='store_true', help="Clean each page before performing OCR")
|
|
parser.add_argument('-i', action='store_true', help="Incorporate the cleaned image in the final PDF file (by default the original image, or the deskewed image if the -d option is set)")
|
|
parser.add_argument('-o', '--oversample', metavar='dpi', type=int,
|
|
help="If the resolution of an image is lower than dpi value provided as argument, provide the OCR engine with\n" +
|
|
"an oversampled image having the latter dpi value. This can improve the OCR results but can lead to a larger output PDF file.\n" +
|
|
"(default: no oversampling performed)")
|
|
group_sf = parser.add_mutually_exclusive_group()
|
|
group_sf.add_argument('-f', action='store_true',
|
|
help="Force to OCR the whole document, even if some page already contain font data.\n" +
|
|
"(which should not be the case for PDF files built from scnanned images)\n" +
|
|
"Any text data will be rendered to raster format and then fed through OCR.")
|
|
group_sf.add_argument('-s', action='store_true', help="If pages contain font data, do not OCR that page, but include the page (as is) in the final output.")
|
|
parser.add_argument('-l', '--language', metavar='lan',
|
|
help="Language(s) of the PDF file. The language should be set correctly in order to get good OCR results.\n" +
|
|
"Any language supported by tesseract is supported (Tesseract uses 3-character ISO 639-2 language codes)\n" +
|
|
"Multiple languages may be specified, separated by '+' characters.\n" +
|
|
"(The default language is defined in the config file)")
|
|
parser.add_argument('-C', '--tess-config', metavar='file',
|
|
help="Pass an additional configuration file to the tesseract OCR engine.\n" +
|
|
"(this option can be used more than once)\n" +
|
|
"Note 1: The configuration file must be available in the \"tessdata/configs\" folder of your tesseract installation")
|
|
parser.add_argument('inputfile', help="PDF file to be OCRed")
|
|
parser.add_argument('outputfile', help="The PDF/A file that will be generated")
|
|
|
|
args = parser.parse_args()
|