public TesseractOCRConfig cloneAndUpdate(TesseractOCRConfig updates) throws TikaException {
        TesseractOCRConfig updated = new TesseractOCRConfig();
        for (Field field : this.getClass().getDeclaredFields()) {
            if (Modifier.isFinal(field.getModifiers())) {
                continue;
            } else if (Modifier.isStatic(field.getModifiers())) {
                continue;
            }
            if ("userConfigured".equals(field.getName())) {
                continue;
            }
            if ("otherTesseractConfig".equals(field.getName()) &&
                    updates.userConfigured.contains(field.getName())) {
                //deep copy
                for (Map.Entry<String, String> e : updates.getOtherTesseractConfig().entrySet()) {
                    updated.addOtherTesseractConfig(e.getKey(), e.getValue());
                }
                continue;
            }
            if (updates.userConfigured.contains(field.getName())) {
                try {
                    field.set(updated, field.get(updates));
                } catch (IllegalAccessException e) {
                    throw new TikaException("can't update " + field.getName(), e);
                }
            } else {
                try {
                    field.set(updated, field.get(this));
                } catch (IllegalAccessException e) {
                    throw new TikaException("can't update " + field.getName(), e);
                }
            }
        }
        return updated;
    }
Add a key-value pair to pass to Tesseract using its -c command line option.
To see the possible options, run tesseract --print-parameters.
<p>
You may also add these parameters in TesseractOCRConfig.properties; any
key-value pair in the properties file where the key contains an underscore
is passed directly to Tesseract.

@param key
@param value
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-ocr-module/src/main/java/org/apache/tika/parser/ocr/TesseractOCRConfig.java