From b2bffe0e8a5e8bf378eaaf807b7fe5466af1e78a Mon Sep 17 00:00:00 2001 From: Quentin Brandon Date: Fri, 6 Aug 2021 10:22:13 +0900 Subject: [PATCH] Add support for DecodeMultiple and fix namespace redundancy --- Barcode/.package/icon.jpg | Bin 0 -> 20456 bytes Barcode/{Barcode => }/Decode Image.xaml | 1 + Barcode/DecodeMultiple Image.xaml | 175 +++++++++++++++++++++++ Barcode/{Barcode => }/Encode String.xaml | 1 + Barcode/project.json | 22 ++- Barcode/res/icon.jpg | Bin 0 -> 20456 bytes README.md | 9 +- testcode/Main.xaml | 81 +++++++++-- testcode/barcodeMultiple.jpg | Bin 0 -> 46193 bytes testcode/project.json | 28 +++- 10 files changed, 291 insertions(+), 26 deletions(-) create mode 100644 Barcode/.package/icon.jpg rename Barcode/{Barcode => }/Decode Image.xaml (93%) create mode 100644 Barcode/DecodeMultiple Image.xaml rename Barcode/{Barcode => }/Encode String.xaml (95%) create mode 100644 Barcode/res/icon.jpg create mode 100644 testcode/barcodeMultiple.jpg diff --git a/Barcode/.package/icon.jpg b/Barcode/.package/icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0beb87aa596694edae524a60b820985f82566de9 GIT binary patch literal 20456 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 literal 0 HcmV?d00001 diff --git a/Barcode/Barcode/Decode Image.xaml b/Barcode/Decode Image.xaml similarity index 93% rename from Barcode/Barcode/Decode Image.xaml rename to Barcode/Decode Image.xaml index 3b88177..baee41d 100644 --- a/Barcode/Barcode/Decode Image.xaml +++ b/Barcode/Decode Image.xaml @@ -11,6 +11,7 @@ + UPTF00000134eyI8SGVscExpbms+a19fQmFja2luZ0ZpZWxkIjoiaHR0cHM6XC9cL2dpdGh1Yi5jb21cL3FicmFuZG9uXC9VaVBhdGhUZWFtLkJhcmNvZGUiLCI8SW5pdGlhbFRvb2x0aXA+a19fQmFja2luZ0ZpZWxkIjoiRGVjb2RlIEJhcmNvZGUgZnJvbSBhbiBpbnB1dCBVaVBhdGguQ29yZS5JbWFnZSB1c2luZyB0aGUgWlhpbmcuQmFyY29kZVJlYWRlciBjbGFzcyIsIjxWZXJzaW9uPmtfX0JhY2tpbmdGaWVsZCI6MX0= 1874,931.333333333333 ActivityBuilder_1 diff --git a/Barcode/DecodeMultiple Image.xaml b/Barcode/DecodeMultiple Image.xaml new file mode 100644 index 0000000..f0d9666 --- /dev/null +++ b/Barcode/DecodeMultiple Image.xaml @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + UPTF00000140eyI8SGVscExpbms+a19fQmFja2luZ0ZpZWxkIjoiaHR0cHM6XC9cL2dpdGh1Yi5jb21cL3FicmFuZG9uXC9VaVBhdGhUZWFtLkJhcmNvZGUiLCI8SW5pdGlhbFRvb2x0aXA+a19fQmFja2luZ0ZpZWxkIjoiRGVjb2RlIE11bHRpcGxlIEJhcmNvZGVzIGZyb20gYW4gaW5wdXQgVWlQYXRoLkNvcmUuSW1hZ2UgdXNpbmcgdGhlIFpYaW5nLkJhcmNvZGVSZWFkZXIgY2xhc3MiLCI8VmVyc2lvbj5rX19CYWNraW5nRmllbGQiOjF9 + 1721.33333333333,1496 + ActivityBuilder_1 + + + System.Activities + System.Activities.Statements + System.Activities.Expressions + System.Activities.Validation + System.Activities.XamlIntegration + Microsoft.VisualBasic + Microsoft.VisualBasic.Activities + System + System.Collections + System.Collections.Generic + System.Data + System.Diagnostics + System.Drawing + System.IO + System.Linq + System.Net.Mail + System.Xml + System.Xml.Linq + UiPath.Core + UiPath.Core.Activities + System.Windows.Markup + ZXing + Microsoft.VisualBasic.CompilerServices + ZXing.Common + System.Reflection + System.Runtime.InteropServices + System.Collections.ObjectModel + System.Activities.DynamicUpdate + + + + + System.Activities + Microsoft.VisualBasic + mscorlib + System.Data + System + System.Drawing + System.Core + System.Xml + System.Xml.Linq + PresentationFramework + WindowsBase + PresentationCore + System.Xaml + UiPath.System.Activities + UiPath.UiAutomation.Activities + zxing + zxing.presentation + System.ServiceModel + UiPath.Excel + UiPath.Mail + System.ComponentModel.Composition + System.Runtime.WindowsRuntime + + + + + + + + + + + True + True + + + + + [bmp] + + + [new Bitmap(Image)] + + + + + [barcodeReader.Options.CharacterSet] + + + [Charset] + + + + + [result] + + + [barcodeReader.DecodeMultiple(bmp)] + + + + + + + + + + + True + + + + + [Output] + + + [new String(result.Length - 1) {}] + + + + + [Format] + + + [new BarcodeFormat(result.Length - 1) {}] + + + + + + + True + + + + + [Output(index)] + + + [result(index).Text] + + + + + [Format(index)] + + + [result(index).BarcodeFormat] + + + + + [index] + + + [index + 1] + + + + + + + + + \ No newline at end of file diff --git a/Barcode/Barcode/Encode String.xaml b/Barcode/Encode String.xaml similarity index 95% rename from Barcode/Barcode/Encode String.xaml rename to Barcode/Encode String.xaml index da6f038..c45902c 100644 --- a/Barcode/Barcode/Encode String.xaml +++ b/Barcode/Encode String.xaml @@ -12,6 +12,7 @@ + UPTF000000F8eyI8SGVscExpbms+a19fQmFja2luZ0ZpZWxkIjoiaHR0cHM6XC9cL2dpdGh1Yi5jb21cL3FicmFuZG9uXC9VaVBhdGhUZWFtLkJhcmNvZGUiLCI8SW5pdGlhbFRvb2x0aXA+a19fQmFja2luZ0ZpZWxkIjoiRW5jb2RlIGEgU3RyaW5nIGludG8gYSBCYXJjb2RlIGltYWdlIiwiPFZlcnNpb24+a19fQmFja2luZ0ZpZWxkIjoxfQ== 1874,931.333333333333 Encode String_1 diff --git a/Barcode/project.json b/Barcode/project.json index 7e355fe..97cd1cb 100644 --- a/Barcode/project.json +++ b/Barcode/project.json @@ -7,9 +7,10 @@ "ZXing.Net": "0.16.4" }, "webServices": [], + "entitiesStores": [], "schemaVersion": "4.0", "studioVersion": "19.7.0.0", - "projectVersion": "1.0.5", + "projectVersion": "1.0.8", "runtimeOptions": { "autoDispose": false, "isPausable": true, @@ -19,7 +20,10 @@ "Private:*", "*password*" ], - "executionType": "Workflow" + "executionType": "Workflow", + "readyForPiP": false, + "startsInPiP": false, + "mustRestoreAllDependencies": false }, "designOptions": { "projectProfile": "Developement", @@ -28,7 +32,17 @@ "includeOriginalXaml": false, "privateWorkflows": [] }, - "fileInfoCollection": [] + "processOptions": { + "ignoredFiles": [] + }, + "fileInfoCollection": [], + "modernBehavior": false + }, + "expressionLanguage": "VisualBasic", + "isTemplate": false, + "templateProjectData": {}, + "publishData": { + "iconUrl": ".package/icon.jpg" }, - "expressionLanguage": "VisualBasic" + "targetFramework": "Legacy" } \ No newline at end of file diff --git a/Barcode/res/icon.jpg b/Barcode/res/icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0beb87aa596694edae524a60b820985f82566de9 GIT binary patch literal 20456 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index aedc73f..05a15e6 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,13 @@ ### Links -Project on UiPath Connect! https://connect.uipath.com/community/project/uipathteam-barcode - -Component on UiPath Go! https://go.uipath.com/preview/barcode-activities +Component on UiPath Marketplace https://marketplace.uipath.com/listings/470 ### Description -This is an activity package exposing 2 activities: +This is an activity package exposing 3 activities: * Decode Image: will decode a barcode embedded inside an image (`UiPath.Core.Image` instance) into a string +* DecodeMuultiple Image: will decode multiple barcodes embedded inside an image (`UiPath.Core.Image` instance) into an array of string * Encode String: will encode an input string into the desired barcode format The underlying library used to handle the barcode processing is ZXing (https://github.com/zxing/zxing) @@ -24,6 +23,6 @@ Please note that this argument may not apply to some code types, such as `QR_COD Please make sure that your Studio or Robot have access to the nuget.org feed (where the ZXing nupkg is hosted) For the record here is the URL: https://api.nuget.org/v3/index.json -As for Go! itself, please refer to the following FAQ: https://go.uipath.com/help/frequently-asked-questions/go-public-feed +As for Marketplace itself, please refer to the following FAQ: https://docs.uipath.com/marketplace/docs/faq-integration-with-uipath-studio Once the package intalled via the Package Manager in your specific project, you should see the activties be available in the Activity panel, under the UiPathTeam category. diff --git a/testcode/Main.xaml b/testcode/Main.xaml index 96b4463..74010e8 100644 --- a/testcode/Main.xaml +++ b/testcode/Main.xaml @@ -1,4 +1,4 @@ - + System.Activities @@ -25,6 +25,13 @@ ZXing ZXing.Common ZXing.QrCode + UiPathTeam_Barcode.Barcode + System.Collections.ObjectModel + System.Activities.DynamicUpdate + UiPathTeam_Barcode + Microsoft.VisualBasic.CompilerServices + System.Reflection + System.Runtime.InteropServices @@ -47,9 +54,15 @@ System.ServiceModel zxing zxing.presentation + UiPath.System.Activities.Design + UiPathTeam.Barcode + System.ValueTuple + System.ComponentModel.Composition + UiPath.CV + System.Runtime.WindowsRuntime - + @@ -60,28 +73,70 @@ True - + - True + True - - + + + + True + + + + + + + True + + + + + + - True + True - - - + + + + True + + + + + + + + + - True + True - - + + + + True + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/testcode/barcodeMultiple.jpg b/testcode/barcodeMultiple.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30daca5af6773dad3f5ed1cf1dcd036a841086f6 GIT binary patch literal 46193 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