├── .gitattributes
├── .gitignore
├── Droid
├── Assets
│ └── AboutAssets.txt
├── MainActivity.cs
├── OCRDemo.Android.csproj
├── Properties
│ ├── AndroidManifest.xml
│ └── AssemblyInfo.cs
├── Resources
│ ├── AboutResources.txt
│ ├── Resource.designer.cs
│ ├── drawable-hdpi
│ │ └── icon.png
│ ├── drawable-xhdpi
│ │ └── icon.png
│ ├── drawable-xxhdpi
│ │ └── icon.png
│ ├── drawable
│ │ └── icon.png
│ ├── layout
│ │ ├── tabs.axml
│ │ └── toolbar.axml
│ ├── values-v21
│ │ └── style.xml
│ └── values
│ │ ├── colors.xml
│ │ └── style.xml
├── app.config
└── packages.config
├── LICENSE
├── OCRDemo.sln
├── OCRDemo
├── App.xaml
├── App.xaml.cs
├── OCRDemo.csproj
├── OCRItemsDataPage.xaml
├── OCRItemsDataPage.xaml.cs
├── Properties
│ └── AssemblyInfo.cs
├── app.config
└── packages.config
├── README.md
├── Screenshots
└── demo.png
└── iOS
├── AppDelegate.cs
├── Entitlements.plist
├── Info.plist
├── Main.cs
├── OCRDemo.iOS.csproj
├── Resources
├── Images.xcassets
│ └── AppIcons.appiconset
│ │ └── Contents.json
└── LaunchScreen.xib
├── app.config
└── packages.config
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #################
2 | ## Eclipse
3 | #################
4 |
5 | *.pydevproject
6 | .project
7 | .metadata
8 | bin/
9 | tmp/
10 | *.tmp
11 | *.bak
12 | *.swp
13 | *~.nib
14 | local.properties
15 | .classpath
16 | .settings/
17 | .loadpath
18 | *.userprefs
19 |
20 | # External tool builders
21 | .externalToolBuilders/
22 |
23 | # Locally stored "Eclipse launch configurations"
24 | *.launch
25 |
26 | # CDT-specific
27 | .cproject
28 |
29 | # PDT-specific
30 | .buildpath
31 |
32 |
33 | #################
34 | ## Visual Studio
35 | #################
36 |
37 | ## Ignore Visual Studio temporary files, build results, and
38 | ## files generated by popular Visual Studio add-ons.
39 |
40 | # User-specific files
41 | *.suo
42 | *.user
43 | *.sln.docstates
44 | .vs/
45 |
46 | # Build results
47 |
48 | [Dd]ebug/
49 | [Rr]elease/
50 | x64/
51 | build/
52 | [Bb]in/
53 | [Oo]bj/
54 | [Cc]omponents/
55 | [Pp]ackages/
56 |
57 | # MSTest test Results
58 | [Tt]est[Rr]esult*/
59 | [Bb]uild[Ll]og.*
60 |
61 | *_i.c
62 | *_p.c
63 | *.ilk
64 | *.meta
65 | *.obj
66 | *.pch
67 | *.pdb
68 | *.pgc
69 | *.pgd
70 | *.rsp
71 | *.sbr
72 | *.tlb
73 | *.tli
74 | *.tlh
75 | *.tmp
76 | *.tmp_proj
77 | *.log
78 | *.vspscc
79 | *.vssscc
80 | .builds
81 | *.pidb
82 | *.log
83 | *.scc
84 |
85 | # Visual C++ cache files
86 | ipch/
87 | *.aps
88 | *.ncb
89 | *.opensdf
90 | *.sdf
91 | *.cachefile
92 |
93 | # Visual Studio profiler
94 | *.psess
95 | *.vsp
96 | *.vspx
97 |
98 | # Guidance Automation Toolkit
99 | *.gpState
100 |
101 | # ReSharper is a .NET coding add-in
102 | _ReSharper*/
103 | *.[Rr]e[Ss]harper
104 |
105 | # TeamCity is a build add-in
106 | _TeamCity*
107 |
108 | # DotCover is a Code Coverage Tool
109 | *.dotCover
110 |
111 | # NCrunch
112 | *.ncrunch*
113 | .*crunch*.local.xml
114 |
115 | # Installshield output folder
116 | [Ee]xpress/
117 |
118 | # DocProject is a documentation generator add-in
119 | DocProject/buildhelp/
120 | DocProject/Help/*.HxT
121 | DocProject/Help/*.HxC
122 | DocProject/Help/*.hhc
123 | DocProject/Help/*.hhk
124 | DocProject/Help/*.hhp
125 | DocProject/Help/Html2
126 | DocProject/Help/html
127 |
128 | # Click-Once directory
129 | publish/
130 |
131 | # Publish Web Output
132 | *.Publish.xml
133 | *.pubxml
134 |
135 | # NuGet Packages Directory
136 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line
137 | #packages/
138 |
139 | # Windows Azure Build Output
140 | csx
141 | *.build.csdef
142 |
143 | # Windows Store app package directory
144 | AppPackages/
145 |
146 | # Others
147 | sql/
148 | *.Cache
149 | ClientBin/
150 | [Ss]tyle[Cc]op.*
151 | ~$*
152 | *~
153 | *.dbmdl
154 | *.[Pp]ublish.xml
155 | *.pfx
156 | *.publishsettings
157 |
158 | # RIA/Silverlight projects
159 | Generated_Code/
160 |
161 | # Backup & report files from converting an old project file to a newer
162 | # Visual Studio version. Backup files are not needed, because we have git ;-)
163 | _UpgradeReport_Files/
164 | Backup*/
165 | UpgradeLog*.XML
166 | UpgradeLog*.htm
167 |
168 | # SQL Server files
169 | App_Data/*.mdf
170 | App_Data/*.ldf
171 |
172 | #############
173 | ## Windows detritus
174 | #############
175 |
176 | # Windows image file caches
177 | Thumbs.db
178 | ehthumbs.db
179 |
180 | # Folder config file
181 | Desktop.ini
182 |
183 | # Recycle Bin used on file shares
184 | $RECYCLE.BIN/
185 |
186 | # Mac crap
187 | .DS_Store
188 |
189 | #############
190 | Git
191 | #############
192 |
193 | *.orig
194 |
195 | #############
196 | ## Python
197 | #############
198 |
199 | *.py[co]
200 |
201 | # Packages
202 | *.egg
203 | *.egg-info
204 | dist/
205 | build/
206 | eggs/
207 | parts/
208 | var/
209 | sdist/
210 | develop-eggs/
211 | .installed.cfg
212 |
213 | # Installer logs
214 | pip-log.txt
215 |
216 | # Unit test / coverage reports
217 | .coverage
218 | .tox
219 |
220 | #Translations
221 | *.mo
222 |
223 | #Mr Developer
224 | .mr.developer.cfg
225 |
226 | XamarinEvolve.userprefs
227 | XamarinEvolve/XamarinEvolve.Backend/App_Data/aspnet-XamarinEvolve.Backend-20151029080950.mdf
228 | *.ldf
229 |
--------------------------------------------------------------------------------
/Droid/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with your package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Droid/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Android.App;
4 | using Android.Content;
5 | using Android.Content.PM;
6 | using Android.Runtime;
7 | using Android.Views;
8 | using Android.Widget;
9 | using Android.OS;
10 | using Xamarin.Forms.Platform.Android;
11 | using Acr.UserDialogs;
12 |
13 | namespace DataPagesDemo.Droid
14 | {
15 | [Activity (Label = "OCR Items", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
16 | public class MainActivity : FormsAppCompatActivity
17 | {
18 | protected override void OnCreate (Bundle bundle)
19 | {
20 |
21 | FormsAppCompatActivity.ToolbarResource = Resource.Layout.toolbar;
22 | FormsAppCompatActivity.TabLayoutResource = Resource.Layout.tabs;
23 |
24 | base.OnCreate (bundle);
25 |
26 | global::Xamarin.Forms.Forms.Init (this, bundle);
27 |
28 | UserDialogs.Init(this);
29 |
30 | Microsoft.WindowsAzure.MobileServices.CurrentPlatform.Init();
31 | LoadApplication (new App ());
32 |
33 | var x = typeof(Xamarin.Forms.Themes.DarkThemeResources);
34 | x = typeof(Xamarin.Forms.Themes.LightThemeResources);
35 | x = typeof(Xamarin.Forms.Themes.Android.UnderlineEffect);
36 | }
37 | }
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/Droid/OCRDemo.Android.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
7 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}
8 | Library
9 | DataPagesDemo.Droid
10 | Assets
11 | Resources
12 | Properties\AndroidManifest.xml
13 | Resource
14 | Resources\Resource.designer.cs
15 | True
16 | True
17 | DataPagesDemo.Droid
18 | v6.0
19 |
20 |
21 |
22 |
23 | true
24 | full
25 | false
26 | bin\Debug
27 | DEBUG;
28 | prompt
29 | 4
30 | None
31 | false
32 |
33 |
34 | full
35 | true
36 | bin\Release
37 | prompt
38 | 4
39 | false
40 | false
41 |
42 |
43 |
44 | ..\packages\Acr.Support.2.1.0\lib\MonoAndroid10\Acr.Support.Android.dll
45 | True
46 |
47 |
48 | ..\packages\Acr.UserDialogs.6.0.1\lib\MonoAndroid10\Acr.UserDialogs.dll
49 | True
50 |
51 |
52 | ..\packages\Acr.UserDialogs.6.0.1\lib\MonoAndroid10\Acr.UserDialogs.Interface.dll
53 | True
54 |
55 |
56 | ..\packages\AndHUD.1.2.0\lib\MonoAndroid\AndHUD.dll
57 | True
58 |
59 |
60 | ..\packages\Xamarin.Forms.2.3.1.114\lib\MonoAndroid10\FormsViewGroup.dll
61 | True
62 |
63 |
64 | ..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll
65 |
66 |
67 | ..\packages\Splat.1.6.2\lib\monoandroid\Splat.dll
68 | True
69 |
70 |
71 |
72 |
73 |
74 |
75 | ..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
76 |
77 |
78 | ..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll
79 |
80 |
81 | ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll
82 |
83 |
84 | ..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll
85 |
86 |
87 | ..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll
88 |
89 |
90 | ..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll
91 |
92 |
93 | ..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll
94 |
95 |
96 | ..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll
97 |
98 |
99 | ..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\ModernHttpClient.dll
100 |
101 |
102 | ..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\OkHttp.dll
103 |
104 |
105 | ..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Primitives.dll
106 |
107 |
108 | ..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Extensions.dll
109 |
110 |
111 |
112 | ..\packages\Microsoft.Azure.Mobile.Client.2.0.1\lib\monoandroid\Microsoft.WindowsAzure.Mobile.dll
113 |
114 |
115 | ..\packages\Microsoft.Azure.Mobile.Client.2.0.1\lib\monoandroid\Microsoft.WindowsAzure.Mobile.Ext.dll
116 |
117 |
118 | ..\packages\Xamarin.Forms.2.3.1.114\lib\MonoAndroid10\Xamarin.Forms.Core.dll
119 | True
120 |
121 |
122 | ..\packages\Xamarin.Forms.Pages.2.3.0.107\lib\MonoAndroid10\Xamarin.Forms.Pages.dll
123 |
124 |
125 | ..\packages\Xamarin.Forms.Pages.Azure.2.3.0.107\lib\MonoAndroid10\Xamarin.Forms.Pages.Azure.dll
126 |
127 |
128 | ..\packages\Xamarin.Forms.2.3.1.114\lib\MonoAndroid10\Xamarin.Forms.Platform.dll
129 | True
130 |
131 |
132 | ..\packages\Xamarin.Forms.2.3.1.114\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll
133 | True
134 |
135 |
136 | ..\packages\Xamarin.Forms.Theme.Base.1.0.0.43-pre1\lib\MonoAndroid10\Xamarin.Forms.Theme.Base.dll
137 |
138 |
139 | ..\packages\Xamarin.Forms.Theme.Base.1.0.0.43-pre1\lib\MonoAndroid10\Xamarin.Forms.Theme.Android.dll
140 |
141 |
142 | ..\packages\Xamarin.Forms.Theme.Light.1.0.0.43-pre1\lib\MonoAndroid10\Xamarin.Forms.Theme.Light.dll
143 |
144 |
145 | ..\packages\Xamarin.Forms.Theme.Dark.1.0.0.43-pre1\lib\MonoAndroid10\Xamarin.Forms.Theme.Dark.dll
146 |
147 |
148 | ..\packages\Xamarin.Forms.2.3.1.114\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll
149 | True
150 |
151 |
152 |
153 |
154 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}
155 | OCRDemo
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 | Designer
171 |
172 |
173 | Designer
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
199 |
200 |
201 |
202 |
--------------------------------------------------------------------------------
/Droid/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Droid/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using Android.App;
4 |
5 | // Information about this assembly is defined by the following attributes.
6 | // Change them to the values specific to your project.
7 |
8 | [assembly: AssemblyTitle ("DataPagesDemo.Droid")]
9 | [assembly: AssemblyDescription ("")]
10 | [assembly: AssemblyConfiguration ("")]
11 | [assembly: AssemblyCompany ("")]
12 | [assembly: AssemblyProduct ("")]
13 | [assembly: AssemblyCopyright ("craigdunn")]
14 | [assembly: AssemblyTrademark ("")]
15 | [assembly: AssemblyCulture ("")]
16 |
17 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
18 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
19 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
20 |
21 | [assembly: AssemblyVersion ("1.0.0")]
22 |
23 | // The following attributes are used to specify the signing key for the assembly,
24 | // if desired. See the Mono documentation for more information about signing.
25 |
26 | //[assembly: AssemblyDelaySign(false)]
27 | //[assembly: AssemblyKeyFile("")]
28 |
29 |
--------------------------------------------------------------------------------
/Droid/Resources/AboutResources.txt:
--------------------------------------------------------------------------------
1 | Images, layout descriptions, binary blobs and string dictionaries can be included
2 | in your application as resource files. Various Android APIs are designed to
3 | operate on the resource IDs instead of dealing with images, strings or binary blobs
4 | directly.
5 |
6 | For example, a sample Android app that contains a user interface layout (main.axml),
7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
8 | would keep its resources in the "Resources" directory of the application:
9 |
10 | Resources/
11 | drawable/
12 | icon.png
13 |
14 | layout/
15 | main.axml
16 |
17 | values/
18 | strings.xml
19 |
20 | In order to get the build system to recognize Android resources, set the build action to
21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but
22 | instead operate on resource IDs. When you compile an Android application that uses resources,
23 | the build system will package the resources for distribution and generate a class called "R"
24 | (this is an Android convention) that contains the tokens for each one of the resources
25 | included. For example, for the above Resources layout, this is what the R class would expose:
26 |
27 | public class R {
28 | public class drawable {
29 | public const int icon = 0x123;
30 | }
31 |
32 | public class layout {
33 | public const int main = 0x456;
34 | }
35 |
36 | public class strings {
37 | public const int first_string = 0xabc;
38 | public const int second_string = 0xbcd;
39 | }
40 | }
41 |
42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first
44 | string in the dictionary file values/strings.xml.
45 |
--------------------------------------------------------------------------------
/Droid/Resources/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jamesmontemagno/app-ocr-functions/1d16c958cdc408f1012efb542e7865354fd170d4/Droid/Resources/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/Droid/Resources/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jamesmontemagno/app-ocr-functions/1d16c958cdc408f1012efb542e7865354fd170d4/Droid/Resources/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/Droid/Resources/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jamesmontemagno/app-ocr-functions/1d16c958cdc408f1012efb542e7865354fd170d4/Droid/Resources/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/Droid/Resources/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jamesmontemagno/app-ocr-functions/1d16c958cdc408f1012efb542e7865354fd170d4/Droid/Resources/drawable/icon.png
--------------------------------------------------------------------------------
/Droid/Resources/layout/tabs.axml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Droid/Resources/layout/toolbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Droid/Resources/values-v21/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/Droid/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #2196F3
4 | #1976D2
5 | #FFC107
6 | #F5F5F5
7 |
--------------------------------------------------------------------------------
/Droid/Resources/values/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
12 |
--------------------------------------------------------------------------------
/Droid/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Droid/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 James Montemagno
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/OCRDemo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OCRDemo", "OCRDemo\OCRDemo.csproj", "{C8DB796F-D98F-42E0-897B-3FDEE15C83F3}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OCRDemo.iOS", "iOS\OCRDemo.iOS.csproj", "{F3482F1C-C1CF-495F-91B2-CB1015BF305B}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OCRDemo.Android", "Droid\OCRDemo.Android.csproj", "{2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}"
11 | EndProject
12 | Global
13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 | Debug|Any CPU = Debug|Any CPU
15 | Debug|iPhone = Debug|iPhone
16 | Debug|iPhoneSimulator = Debug|iPhoneSimulator
17 | Release|Any CPU = Release|Any CPU
18 | Release|iPhone = Release|iPhone
19 | Release|iPhoneSimulator = Release|iPhoneSimulator
20 | EndGlobalSection
21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
23 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
24 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Debug|iPhone.ActiveCfg = Debug|Any CPU
25 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Debug|iPhone.Build.0 = Debug|Any CPU
26 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
27 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
28 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
29 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Release|Any CPU.Build.0 = Release|Any CPU
30 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Release|iPhone.ActiveCfg = Release|Any CPU
31 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Release|iPhone.Build.0 = Release|Any CPU
32 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
33 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
34 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
35 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
36 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Debug|iPhone.ActiveCfg = Debug|iPhone
37 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Debug|iPhone.Build.0 = Debug|iPhone
38 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
39 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
40 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Release|Any CPU.ActiveCfg = Release|iPhone
41 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Release|Any CPU.Build.0 = Release|iPhone
42 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Release|iPhone.ActiveCfg = Release|iPhone
43 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Release|iPhone.Build.0 = Release|iPhone
44 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
45 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
46 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
49 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Debug|iPhone.ActiveCfg = Debug|Any CPU
50 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Debug|iPhone.Build.0 = Debug|Any CPU
51 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
52 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
53 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Release|Any CPU.ActiveCfg = Release|Any CPU
54 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Release|Any CPU.Build.0 = Release|Any CPU
55 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Release|iPhone.ActiveCfg = Release|Any CPU
56 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Release|iPhone.Build.0 = Release|Any CPU
57 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
58 | {2D59380F-BB3E-4B8E-8BD7-AC0FF8FC2C10}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
59 | EndGlobalSection
60 | GlobalSection(SolutionProperties) = preSolution
61 | HideSolutionNode = FALSE
62 | EndGlobalSection
63 | EndGlobal
64 |
--------------------------------------------------------------------------------
/OCRDemo/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/OCRDemo/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | using Xamarin.Forms;
5 |
6 | namespace DataPagesDemo
7 | {
8 | public partial class App : Application
9 | {
10 | public App ()
11 | {
12 | InitializeComponent ();
13 |
14 | MainPage = new NavigationPage(new OCRItemsDataPage())
15 | {
16 | BarBackgroundColor = Color.FromHex("2196F3"),
17 | BarTextColor = Color.White
18 | };
19 | }
20 | }
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/OCRDemo/OCRDemo.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
7 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}
8 | Library
9 | DataPagesDemo
10 | DataPagesDemo
11 | v4.5
12 | Profile78
13 |
14 |
15 |
16 |
17 | true
18 | full
19 | false
20 | bin\Debug
21 | DEBUG;
22 | prompt
23 | 4
24 | false
25 |
26 |
27 | full
28 | true
29 | bin\Release
30 | prompt
31 | 4
32 | false
33 |
34 |
35 |
36 |
37 | App.xaml
38 |
39 |
40 | OCRItemsDataPage.xaml
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | ..\packages\Acr.UserDialogs.6.0.1\lib\portable-win+net45+wp8+win8+wpa81\Acr.UserDialogs.dll
49 | True
50 |
51 |
52 | ..\packages\Acr.UserDialogs.6.0.1\lib\portable-win+net45+wp8+win8+wpa81\Acr.UserDialogs.Interface.dll
53 | True
54 |
55 |
56 | ..\packages\modernhttpclient.2.4.2\lib\Portable-Net45+WinRT45+WP8+WPA81\ModernHttpClient.dll
57 |
58 |
59 | ..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll
60 |
61 |
62 | ..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
63 | True
64 |
65 |
66 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net40+sl4+win8+wp71+wpa81\System.Net.Http.dll
67 |
68 |
69 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net40+sl4+win8+wp71+wpa81\System.Net.Http.Primitives.dll
70 |
71 |
72 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net40+sl4+win8+wp71+wpa81\System.Net.Http.Extensions.dll
73 |
74 |
75 | ..\packages\Microsoft.Azure.Mobile.Client.2.0.1\lib\portable-win+net45+wp8+wpa81+monotouch+monoandroid\Microsoft.WindowsAzure.Mobile.dll
76 |
77 |
78 | ..\packages\Xamarin.Forms.2.3.1.114\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll
79 | True
80 |
81 |
82 | ..\packages\Xamarin.Forms.Pages.2.3.0.107\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Pages.dll
83 |
84 |
85 | ..\packages\Xamarin.Forms.Pages.Azure.2.3.0.107\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Pages.Azure.dll
86 |
87 |
88 | ..\packages\Xamarin.Forms.2.3.1.114\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll
89 | True
90 |
91 |
92 | ..\packages\Xamarin.Forms.2.3.1.114\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll
93 | True
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 | MSBuild:UpdateDesignTimeXaml
103 |
104 |
105 | MSBuild:UpdateDesignTimeXaml
106 | Designer
107 |
108 |
109 |
110 |
111 |
112 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/OCRDemo/OCRItemsDataPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
42 |
43 |
44 |
45 |
46 |
47 |
51 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/OCRDemo/OCRItemsDataPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Runtime.CompilerServices;
4 | using Xamarin.Forms;
5 | using Acr.UserDialogs;
6 | using Xamarin.Forms.Pages.Azure;
7 | using Xamarin.Forms.Pages;
8 | using System.ComponentModel;
9 |
10 | namespace DataPagesDemo
11 | {
12 | public partial class OCRItemsDataPage : Xamarin.Forms.Pages.ListDataPage
13 | {
14 | public OCRItemsDataPage()
15 | {
16 | InitializeComponent ();
17 |
18 |
19 | ToolbarItems.Add(new ToolbarItem
20 | {
21 | Text = "Refresh",
22 | Command = new Command(() =>
23 | {
24 | if (DataSource.IsLoading)
25 | return;
26 |
27 | ((INotifyPropertyChanged)((BaseDataSource)DataSource)).PropertyChanged -= OCRItemsDataPage_PropertyChanged;
28 |
29 | var current = (AzureEasyTableSource)((AzureDataSource)DataSource).Source;
30 | this.DataSource = new AzureDataSource
31 | {
32 | Source = new AzureEasyTableSource
33 | {
34 | TableName = current.TableName,
35 | Uri = current.Uri
36 | }
37 | };
38 | })
39 | });
40 |
41 |
42 | }
43 |
44 |
45 | protected override void OnPropertyChanged([CallerMemberName] string propertyName = null)
46 | {
47 | if(propertyName == nameof(DataSource))
48 | {
49 | ((INotifyPropertyChanged)((BaseDataSource)DataSource)).PropertyChanged += OCRItemsDataPage_PropertyChanged;
50 |
51 | }
52 |
53 | base.OnPropertyChanged(propertyName);
54 |
55 | }
56 |
57 | private void OCRItemsDataPage_PropertyChanged(object sender, PropertyChangedEventArgs e)
58 | {
59 | if(e.PropertyName == nameof(DataSource.IsLoading))
60 | {
61 | Device.BeginInvokeOnMainThread(() =>
62 | {
63 | if (DataSource.IsLoading)
64 | UserDialogs.Instance.ShowLoading("Loading...");
65 | else
66 | UserDialogs.Instance.HideLoading();
67 | });
68 | }
69 | }
70 | }
71 | }
72 |
73 |
--------------------------------------------------------------------------------
/OCRDemo/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 |
4 | // Information about this assembly is defined by the following attributes.
5 | // Change them to the values specific to your project.
6 |
7 | [assembly: AssemblyTitle ("DataPagesDemo")]
8 | [assembly: AssemblyDescription ("")]
9 | [assembly: AssemblyConfiguration ("")]
10 | [assembly: AssemblyCompany ("")]
11 | [assembly: AssemblyProduct ("")]
12 | [assembly: AssemblyCopyright ("craigdunn")]
13 | [assembly: AssemblyTrademark ("")]
14 | [assembly: AssemblyCulture ("")]
15 |
16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
19 |
20 | [assembly: AssemblyVersion ("1.0.*")]
21 |
22 | // The following attributes are used to specify the signing key for the assembly,
23 | // if desired. See the Mono documentation for more information about signing.
24 |
25 | //[assembly: AssemblyDelaySign(false)]
26 | //[assembly: AssemblyKeyFile("")]
27 |
28 |
--------------------------------------------------------------------------------
/OCRDemo/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/OCRDemo/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | OCRDemo = Nano-Services with Azure Functions
2 | =========
3 | Simply open up the OCRItemsDataPage.xaml and enter your Azure Mobile App backend URL
4 |
5 | 
6 |
7 |
8 | ## Azure Functions Setup
9 | Read the full blog at:
10 |
11 |
12 | See the video:
13 |
14 |
15 | ## Core for Azure Functions
16 | ```csharp
17 | #r "Microsoft.WindowsAzure.Storage"
18 | #r "System.Runtime"
19 | #r "System.Threading.Tasks"
20 | #r "System.IO"
21 |
22 | using System;
23 | using System.Linq;
24 | using System.Runtime;
25 | using System.Threading.Tasks;
26 | using Microsoft.WindowsAzure.Storage.Blob;
27 | using Microsoft.ProjectOxford.Vision;
28 |
29 | public static void Run(ICloudBlob myBlob, TraceWriter log, out object outputRecord)
30 | {
31 | var client = new VisionServiceClient("YOUR_API_KEY");
32 |
33 | log.Info($"C# Blob trigger function processed: {myBlob.Uri.ToString()}");
34 |
35 | var url = myBlob.Uri.ToString();
36 | var result = client.RecognizeTextAsync(url).Result;
37 |
38 | var words = from r in result.Regions
39 | from l in r.Lines
40 | from w in l.Words
41 | select w.Text;
42 |
43 | var output = string.Join(" ", words.ToArray());
44 |
45 | log.Info($"Complete output from OCR: {output}");
46 |
47 |
48 | var numbers = from word in words
49 | where word.Contains("$")
50 | select word.Replace("$", "");
51 |
52 | double temp = 0.0;
53 | var total = numbers.Count() == 0 ? 0.0 : numbers.Select(x => double.TryParse(x, out temp) ? temp : 0).Max();
54 |
55 | log.Info($"We found the total of: {total}");
56 |
57 | // 3. Add to data-bound collection.
58 | outputRecord = new
59 | {
60 | Total = total,
61 | TimeStamp = DateTime.UtcNow,
62 | Url = url,
63 | Text = output
64 | };
65 |
66 | }
67 | ```
--------------------------------------------------------------------------------
/Screenshots/demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jamesmontemagno/app-ocr-functions/1d16c958cdc408f1012efb542e7865354fd170d4/Screenshots/demo.png
--------------------------------------------------------------------------------
/iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace DataPagesDemo.iOS
9 | {
10 | [Register ("AppDelegate")]
11 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
12 | {
13 | public override bool FinishedLaunching (UIApplication app, NSDictionary options)
14 | {
15 | global::Xamarin.Forms.Forms.Init ();
16 |
17 | LoadApplication (new App ());
18 |
19 | var x = typeof(Xamarin.Forms.Themes.DarkThemeResources);
20 | x = typeof(Xamarin.Forms.Themes.LightThemeResources);
21 | x = typeof(Xamarin.Forms.Themes.iOS.UnderlineEffect);
22 |
23 | Microsoft.WindowsAzure.MobileServices.CurrentPlatform.Init();
24 |
25 | return base.FinishedLaunching (app, options);
26 | }
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | DataPagesDemo
7 | CFBundleIdentifier
8 | com.companyname.datapagesdemo
9 | CFBundleShortVersionString
10 | 1.0
11 | CFBundleVersion
12 | 1.0
13 | LSRequiresIPhoneOS
14 |
15 | MinimumOSVersion
16 | 7.0
17 | UIDeviceFamily
18 |
19 | 1
20 | 2
21 |
22 | UILaunchStoryboardName
23 | LaunchScreen
24 | UIRequiredDeviceCapabilities
25 |
26 | armv7
27 |
28 | UISupportedInterfaceOrientations
29 |
30 | UIInterfaceOrientationPortrait
31 | UIInterfaceOrientationLandscapeLeft
32 | UIInterfaceOrientationLandscapeRight
33 |
34 | UISupportedInterfaceOrientations~ipad
35 |
36 | UIInterfaceOrientationPortrait
37 | UIInterfaceOrientationPortraitUpsideDown
38 | UIInterfaceOrientationLandscapeLeft
39 | UIInterfaceOrientationLandscapeRight
40 |
41 | XSAppIconAssets
42 | Resources/Images.xcassets/AppIcons.appiconset
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace DataPagesDemo.iOS
9 | {
10 | public class Application
11 | {
12 | // This is the main entry point of the application.
13 | static void Main (string[] args)
14 | {
15 | // if you want to use a different Application Delegate class from "AppDelegate"
16 | // you can specify it here.
17 | UIApplication.Main (args, null, "AppDelegate");
18 | }
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/iOS/OCRDemo.iOS.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | iPhoneSimulator
6 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
7 | {F3482F1C-C1CF-495F-91B2-CB1015BF305B}
8 | Exe
9 | DataPagesDemo.iOS
10 | Resources
11 | DataPagesDemoiOS
12 |
13 |
14 |
15 |
16 | true
17 | full
18 | false
19 | bin\iPhoneSimulator\Debug
20 | DEBUG;ENABLE_TEST_CLOUD;
21 | prompt
22 | 4
23 | false
24 | i386
25 | None
26 | true
27 | true
28 | true
29 | true
30 | iPhone Developer
31 | true
32 |
33 |
34 | full
35 | true
36 | bin\iPhone\Release
37 | prompt
38 | 4
39 | false
40 | ARMv7, ARM64
41 | Entitlements.plist
42 | true
43 | true
44 | iPhone Developer
45 | true
46 |
47 |
48 | full
49 | true
50 | bin\iPhoneSimulator\Release
51 | prompt
52 | 4
53 | false
54 | i386
55 | None
56 | true
57 | iPhone Developer
58 | true
59 |
60 |
61 | true
62 | full
63 | false
64 | bin\iPhone\Debug
65 | DEBUG;ENABLE_TEST_CLOUD;
66 | prompt
67 | 4
68 | false
69 | ARMv7, ARM64
70 | Entitlements.plist
71 | true
72 | iPhone Developer
73 | true
74 | true
75 | true
76 | true
77 | true
78 |
79 |
80 |
81 | ..\packages\Acr.Support.2.1.0\lib\Xamarin.iOS10\Acr.Support.iOS.dll
82 | True
83 |
84 |
85 | ..\packages\Acr.UserDialogs.6.0.1\lib\Xamarin.iOS10\Acr.UserDialogs.dll
86 | True
87 |
88 |
89 | ..\packages\Acr.UserDialogs.6.0.1\lib\Xamarin.iOS10\Acr.UserDialogs.Interface.dll
90 | True
91 |
92 |
93 | ..\packages\BTProgressHUD.1.2.0.3\lib\Xamarin.iOS10\BTProgressHUD.dll
94 | True
95 |
96 |
97 | ..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll
98 |
99 |
100 | ..\packages\Splat.1.6.2\lib\Xamarin.iOS10\Splat.dll
101 | True
102 |
103 |
104 |
105 |
106 |
107 | ..\packages\Xamarin.Forms.2.3.1.114\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll
108 | True
109 |
110 |
111 | ..\packages\Xamarin.Forms.Pages.2.3.0.107\lib\Xamarin.iOS10\Xamarin.Forms.Pages.dll
112 |
113 |
114 | ..\packages\Xamarin.Forms.Pages.Azure.2.3.0.107\lib\Xamarin.iOS10\Xamarin.Forms.Pages.Azure.dll
115 |
116 |
117 | ..\packages\Xamarin.Forms.2.3.1.114\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll
118 | True
119 |
120 |
121 | ..\packages\Xamarin.Forms.2.3.1.114\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll
122 | True
123 |
124 |
125 | ..\packages\Xamarin.Forms.2.3.1.114\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll
126 | True
127 |
128 |
129 |
130 | ..\packages\modernhttpclient.2.4.2\lib\Xamarin.iOS10\ModernHttpClient.dll
131 |
132 |
133 | ..\packages\Microsoft.Net.Http.2.2.29\lib\Xamarin.iOS10\System.Net.Http.Primitives.dll
134 |
135 |
136 | ..\packages\Microsoft.Net.Http.2.2.29\lib\Xamarin.iOS10\System.Net.Http.Extensions.dll
137 |
138 |
139 | ..\packages\Microsoft.Azure.Mobile.Client.2.0.1\lib\Xamarin.iOS10\Microsoft.WindowsAzure.Mobile.dll
140 |
141 |
142 | ..\packages\Microsoft.Azure.Mobile.Client.2.0.1\lib\Xamarin.iOS10\Microsoft.WindowsAzure.Mobile.Ext.dll
143 |
144 |
145 | ..\packages\Xamarin.Forms.Theme.Base.1.0.0.43-pre1\lib\Xamarin.iOS10\Xamarin.Forms.Theme.Base.dll
146 |
147 |
148 | ..\packages\Xamarin.Forms.Theme.Base.1.0.0.43-pre1\lib\Xamarin.iOS10\Xamarin.Forms.Theme.iOS.dll
149 |
150 |
151 | ..\packages\Xamarin.Forms.Theme.Dark.1.0.0.43-pre1\lib\Xamarin.iOS10\Xamarin.Forms.Theme.Dark.dll
152 |
153 |
154 | ..\packages\Xamarin.Forms.Theme.Light.1.0.0.43-pre1\lib\Xamarin.iOS10\Xamarin.Forms.Theme.Light.dll
155 |
156 |
157 |
158 |
159 | {C8DB796F-D98F-42E0-897B-3FDEE15C83F3}
160 | OCRDemo
161 |
162 |
163 |
164 |
165 | false
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
187 |
188 |
189 |
190 |
--------------------------------------------------------------------------------
/iOS/Resources/Images.xcassets/AppIcons.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "size": "29x29",
5 | "scale": "1x",
6 | "idiom": "iphone"
7 | },
8 | {
9 | "size": "29x29",
10 | "scale": "2x",
11 | "idiom": "iphone"
12 | },
13 | {
14 | "size": "29x29",
15 | "scale": "3x",
16 | "idiom": "iphone"
17 | },
18 | {
19 | "size": "40x40",
20 | "scale": "2x",
21 | "idiom": "iphone"
22 | },
23 | {
24 | "size": "40x40",
25 | "scale": "3x",
26 | "idiom": "iphone"
27 | },
28 | {
29 | "size": "57x57",
30 | "scale": "1x",
31 | "idiom": "iphone"
32 | },
33 | {
34 | "size": "57x57",
35 | "scale": "2x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "size": "60x60",
40 | "scale": "2x",
41 | "idiom": "iphone"
42 | },
43 | {
44 | "size": "60x60",
45 | "scale": "3x",
46 | "idiom": "iphone"
47 | },
48 | {
49 | "size": "29x29",
50 | "scale": "1x",
51 | "idiom": "ipad"
52 | },
53 | {
54 | "size": "29x29",
55 | "scale": "2x",
56 | "idiom": "ipad"
57 | },
58 | {
59 | "size": "40x40",
60 | "scale": "1x",
61 | "idiom": "ipad"
62 | },
63 | {
64 | "size": "40x40",
65 | "scale": "2x",
66 | "idiom": "ipad"
67 | },
68 | {
69 | "size": "50x50",
70 | "scale": "1x",
71 | "idiom": "ipad"
72 | },
73 | {
74 | "size": "50x50",
75 | "scale": "2x",
76 | "idiom": "ipad"
77 | },
78 | {
79 | "size": "72x72",
80 | "scale": "1x",
81 | "idiom": "ipad"
82 | },
83 | {
84 | "size": "72x72",
85 | "scale": "2x",
86 | "idiom": "ipad"
87 | },
88 | {
89 | "size": "76x76",
90 | "scale": "1x",
91 | "idiom": "ipad"
92 | },
93 | {
94 | "size": "76x76",
95 | "scale": "2x",
96 | "idiom": "ipad"
97 | },
98 | {
99 | "size": "120x120",
100 | "scale": "1x",
101 | "idiom": "car"
102 | }
103 | ],
104 | "info": {
105 | "version": 1,
106 | "author": "xcode"
107 | }
108 | }
--------------------------------------------------------------------------------
/iOS/Resources/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/iOS/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/iOS/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------