У меня есть проект в datacap, который читает изображения, pdfs и csv, распознает таблицы и экспортирует эти таблицы в формате JSON.
Для этого у меня есть пользовательское действие, которое я написал с использованием шаблона Datacap для C #.
Первый метод в этом настраиваемом действии используется для загрузки CSV-файлов, и он работал нормально, поскольку он запускается на уровне пакета, поэтому я не осознал свою проблему до более позднего периода.
Это прототип
public bool XLSToJPG(string filePath);
Все было хорошо, пока я не написал второй метод для записи некоторых журналов для каждого поля, распознанного в моей базе данных, как достоверность символов.Понял, что я не могу вызывать другие уровни, а не Пакет, например, Уровень документа, Страницы, Поля или Символы.
Прототип второго метода
public bool getFieldInfo();
Я печатаю журналытекущий уровень, когда метод вызывается для проверки.Если он печатает 0, то это уровень пакета, 1, 2, 3, 4 - это документ, страница, поле и символ соответственно
Я писал журналы, пытаясь определить, вызывается ли метод для какого-либо уровня.В рулсете я установил «Запуск в начале ...» и выбрал «Любой объект» вместо поля.Это означает, что это должно быть вызвано для всех уровней.Не сработало.
Неважно, какой уровень я пробую, он всегда печатает 0 как текущий уровень.
Сначала метод (действие) вызывался внутри функции сразу после получения полейв предыдущей функции, затем я попытался в своем собственном правиле, затем в своем собственном наборе правил, 0 удачи; ´ (.
Это метод, который я хочу запустить
public bool getFieldInfo() {
bool response = false;
WriteLog("Getting field confidence...");
WriteLog("Current Level: " + DCO.ObjectType());
string confidence = DCO.AltConfidenceString[0];
WriteLog("The current field confidence is: " + confidence);
response = true;
//switch (DCO.ObjectType()) {
// case Level.Field:
// break;
// default:
// WriteLog("getFieldInfo should run on the field level.");
// break;
//}
return response;
}
Вы можетеПосмотрите, как у меня закончились опции, и я удалил переключатель для печати журнала при каждом вызове, он всегда печатал «getFieldInfo должен выполняться на уровне поля».
Действие должно вызываться только на уровне поля, когда яустановите это в свойствах Правила.
В данный момент он работает на «Любом объекте»