// This file is autogenerated: please see the codegen template "Options"
namespace pdftron{ namespace PDF{ 

inline DataExtractionOptions::DataExtractionOptions()
	: OptionsBase()
{
}

inline DataExtractionOptions::~DataExtractionOptions()
{
}


inline bool DataExtractionOptions::GetDeepLearningAssist()
{
	SDF::Obj found = m_dict.FindObj("DeepLearningAssist");
	if(found.IsValid())
	{
		return (found.GetBool());
	}
	return (false);
}

inline DataExtractionOptions& DataExtractionOptions::SetDeepLearningAssist(bool value)
{
	PDF::OptionsBase::PutBool(m_dict, "DeepLearningAssist", (value));
	return *this;
}


inline bool DataExtractionOptions::GetDetectEmptyFields()
{
	SDF::Obj found = m_dict.FindObj("DetectEmptyFields");
	if (found.IsValid())
	{
		return (found.GetBool());
	}
	return (true);
}

inline DataExtractionOptions& DataExtractionOptions::SetDetectEmptyFields(bool value)
{
	PDF::OptionsBase::PutBool(m_dict, "DetectEmptyFields", (value));
	return *this;
}


inline DataExtractionOptions& DataExtractionOptions::AddExclusionZonesForPage(RectCollection& value, int page_num)
{
	PDF::OptionsBase::InsertRectCollection(m_dict, "ExclusionZones", value, page_num - 1);
	return *this;
}

inline UString DataExtractionOptions::GetFormExtractionEngine()
{
	SDF::Obj found = m_dict.FindObj("FormExtractionEngine");
	if(found.IsValid())
	{
		return (found.GetAsPDFText());
	}
	return ("Form");
}

inline DataExtractionOptions& DataExtractionOptions::SetFormExtractionEngine(const UString& value)
{
	PDF::OptionsBase::PutText(m_dict, "FormExtractionEngine", (value));
	return *this;
}


inline DataExtractionOptions& DataExtractionOptions::AddInclusionZonesForPage(RectCollection& value, int page_num)
{
	PDF::OptionsBase::InsertRectCollection(m_dict, "InclusionZones", value, page_num - 1);
	return *this;
}

inline UString DataExtractionOptions::GetLanguage()
{
	SDF::Obj found = m_dict.FindObj("Language");
	if(found.IsValid())
	{
		return (found.GetAsPDFText());
	}
	return ("");
}

inline DataExtractionOptions& DataExtractionOptions::SetLanguage(const UString& value)
{
	PDF::OptionsBase::PutText(m_dict, "Language", (value));
	return *this;
}


inline double DataExtractionOptions::GetMinimumConfidenceThreshold()
{
	SDF::Obj found = m_dict.FindObj("MinimumConfidenceThreshold");
	if (found.IsValid())
	{
		return (found.GetNumber());
	}
	return (0.25);
}

inline DataExtractionOptions& DataExtractionOptions::SetMinimumConfidenceThreshold(double value)
{
	PDF::OptionsBase::PutNumber(m_dict, "MinimumConfidenceThreshold", (value));
	return *this;
}


inline UString DataExtractionOptions::GetOverlappingFormFieldBehavior()
{
	SDF::Obj found = m_dict.FindObj("OverlappingFormFieldBehavior");
	if(found.IsValid())
	{
		return (found.GetAsPDFText());
	}
	return ("KeepNew");
}

inline DataExtractionOptions& DataExtractionOptions::SetOverlappingFormFieldBehavior(const UString& value)
{
	PDF::OptionsBase::PutText(m_dict, "OverlappingFormFieldBehavior", (value));
	return *this;
}


inline UString DataExtractionOptions::GetPDFPassword()
{
	SDF::Obj found = m_dict.FindObj("PDFPassword");
	if(found.IsValid())
	{
		return (found.GetAsPDFText());
	}
	return ("");
}

inline DataExtractionOptions& DataExtractionOptions::SetPDFPassword(const UString& value)
{
	PDF::OptionsBase::PutText(m_dict, "PDFPassword", (value));
	return *this;
}


inline UString DataExtractionOptions::GetPages()
{
	SDF::Obj found = m_dict.FindObj("Pages");
	if(found.IsValid())
	{
		return (found.GetAsPDFText());
	}
	return ("");
}

inline DataExtractionOptions& DataExtractionOptions::SetPages(const UString& value)
{
	PDF::OptionsBase::PutText(m_dict, "Pages", (value));
	return *this;
}


inline bool DataExtractionOptions::GetTextRecoveryNSE()
{
	SDF::Obj found = m_dict.FindObj("TextRecoveryNSE");
	if(found.IsValid())
	{
		return (found.GetBool());
	}
	return (true);
}

inline DataExtractionOptions& DataExtractionOptions::SetTextRecoveryNSE(bool value)
{
	PDF::OptionsBase::PutBool(m_dict, "TextRecoveryNSE", (value));
	return *this;
}


}
}
