Aplikacja Abbyy FlexiCapture oraz Abby FlexiCapture for Invoices łączy się z systemem PlusWorkflow przy pomocy skrptu publikowania wyników PlusWorkflowExport.dll. Plik ten zawiera zestaw metod umożliwających połączenie się aplikacji FlexiCapture z systemem PlusWorkflow, oraz przesłanie do niego przetwarzanego dokumentu wraz z odczytanymi indeksami opisującymi go.
Struktura skryptu powinna wyglądać następująco:
try { // utworzenie obiektu eksportu PlusWorkflowExport.Export autoExport = new PlusWorkflowExport.Export(string <sciezka_do_katalogu_tmp>); // określenie typu eksportowanego dokumentu autoExport.save_type = "pdf"; // zainicjowanie obiektu eksportu wraz z podaniem sciezki do logow oraz nazwy klasy dokumentów archiwu systemu PlusWorkflow, nazwy użytkownika oraz jego hasła autoExport.InitExport(string <sciezka_do_katalogu_tmp>,string <adres_systemu_PlusWorkflow>,string <nazwa_klasy_dokumentów>,string <uzytkownik>,string <haslo>); // lista mapowan indeksów FlexiCapture na nazwy indeksów wskazanej wyżej klasy dokumentów systemu PlusWorkflow autoExport.AddFlexiCapturePlusWorkflowMapping(string <pelna_nazwa_indeksu_FC1>, string <nazwa indeksu PWFL1>); autoExport.AddFlexiCapturePlusWorkflowMapping(string <pelna_nazwa_indeksu_FC2>, string <nazwa indeksu PWFL2>); ...... // utworzenie obiektu opcji dla eksportowanego dokumentu IExportImageSavingOptions options = FCTools.NewImageSavingOptions(); // wywołanie eksportu dokumentu do systemu PlusWorkflow autoExport.ExportDocument( Document, options ); // zamknięcie pliku logu autoExport.clearLogger(); } // złapanie wyjątku który może zostać zwrócony przez powyższy kod catch (System.Exception e) { // zwrócenie komunikatu błędu dla użytkownika Processing.ReportError("Błąd eksportu dokumentów: " + e.Message); } |
Poniżej znajduje się przykład skryptu przesyłającego dokumenty do systemu PlusWorkflow:
string log = "Start skryptu"; try { PlusWorkflowExport.Export autoExport = new PlusWorkflowExport.Export("C:\\ProgramData\\ABBYY\\FlexiCapture\\11.0\\Suncode\\temp\\"); autoExport.save_type = "pdf"; log += "Inicjalizacja \n"; autoExport.InitExport("C:\\ProgramData\\ABBYY\\FlexiCapture\\11.0\\Suncode\\temp\\","http://demo.cloud.suncode.pl/PlusWorkflow/","Invoices","user","pass01"); log += "Nawiazano polaczenie \n"; autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\BU\\BUId", "Company code"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\VendorId", "Vendor number"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\VATID", "Vendor tax no"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\Name", "Vendor name"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\IBAN", "Bank account"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\PaymentCode", "Payment term/code"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceNumber", "Invoice No"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceDate", "Invoice date"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceData\\DueDate", "Due date"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Amounts\\TotalTaxAmount", "VAT"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Total", "Gross value"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Currency", "Currency"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Barcode", "Barcode"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceTypeCust", "Invoice type id"); log += "Dodano pola do eksportu \n"; IExportImageSavingOptions options = FCTools.NewImageSavingOptions(); log += "Proba eksportu \n"; autoExport.ExportDocument( Document, options ); log += "Zakonczono \n"; // zamknięcie pliku logu autoExport.clearLogger(); } catch (System.Exception e) { Processing.ReportError("Błąd eksportu dokumentów: " + e.Message + " || " + log); } |
Plik PlusWorkflowExport.dll (wersja 2.0.19) wraz z dodatkowymi niezbędnymi plikami można pobrać stąd:
UWAGA!
Jeżeli klient ma w licencji opcję przeszukiwania PDF'a - należy w skrypcie dodać parametr autoExport.save_type = "pdf-s";
Aby zainstlować biblotekę PlusWorkflowExport.dlI należy:
Na koniec należy zarejestrować w systemie Windows plik PlusWorkflowExport.dll wykonując polecenie:
c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe PlusWorkflowExport.dll |
Aby dodać skrypt eksportujący dokumenty do systemu PlusWorkflow należy: