{"id":19146551,"url":"https://github.com/gini/gini-vision-lib-android","last_synced_at":"2025-04-19T13:34:14.158Z","repository":{"id":12218915,"uuid":"60536546","full_name":"gini/gini-vision-lib-android","owner":"gini","description":"Android library providing components for capturing, reviewing and analyzing photos of invoices and remittance slips.","archived":false,"fork":false,"pushed_at":"2022-06-07T15:07:27.000Z","size":42497,"stargazers_count":11,"open_issues_count":0,"forks_count":4,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-06-13T00:17:26.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gini.net/en/developer/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gini.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-06T14:55:38.000Z","updated_at":"2023-11-22T06:24:14.000Z","dependencies_parsed_at":"2022-07-24T20:16:34.223Z","dependency_job_id":null,"html_url":"https://github.com/gini/gini-vision-lib-android","commit_stats":null,"previous_names":[],"tags_count":85,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gini%2Fgini-vision-lib-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gini%2Fgini-vision-lib-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gini%2Fgini-vision-lib-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gini%2Fgini-vision-lib-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gini","download_url":"https://codeload.github.com/gini/gini-vision-lib-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223801107,"owners_count":17205008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T07:44:38.712Z","updated_at":"2024-11-09T07:44:40.114Z","avatar_url":"https://github.com/gini.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Gini Vision Library for Android](GiniVision_Logo.png)\n\nGini Vision Library for Android\n===============================\n\nThe Gini Vision Library provides Activities and Fragments for capturing, reviewing and analyzing\nphotos of invoices and remittance slips.\n\nBy integrating this library into your application you can allow your users to easily take pictures\nof documents, review them and - by implementing the necessary networking interfaces - upload the\ndocument to the Gini API for analysis.\n\nCommunication with the Gini API is not part of the Gini Vision Library in order to allow clients the\nfreedom to use a networking implementation of their own choosing. The quickest way to add networking\nis to use the [Gini Vision Network\nLibrary](https://github.com/gini/gini-vision-lib-android/tree/master/ginivision-network). You may\nalso use the [Gini API SDK](https://github.com/gini/gini-sdk-android) for Android or implement\ncommunication with the Gini API yourself.\n\nThe Gini Vision Library can be integrated in two ways, either by using the *Screen API* or the\n*Component API*. The Screen API provides Activities for easy integration that can be customized in a\nlimited way. The screen and configuration design is based on our long-lasting experience with\nintegration in customer apps. In the Component API we provide Fragments for advanced integration\nwith more freedom for customization. We strongly recommend keeping in mind our UI/UX guidelines,\nhowever.\n\nCustomization of the Views is provided mostly via overriding of app resources: dimensions, strings,\ncolors, texts, etc. Onboarding can also be customized to show your own pages, each consisting of an\nimage and a short text.\n\nThe Gini Vision Library can be used on smartphones and tablets, too. On smartphones it has been\ndesigned for portrait orientation only and will always switch to portrait orientation in both Screen\nAPI and Component API usage. On tablets both portrait and landscape orientations are supported.\n\nIt is not required to limit your Activities extending the Screen API's abstract Activities or your\nActivities hosting the Component API's Fragments to portrait orientation. The Gini Vision Library\ntakes care of limiting to portrait on smartphones.\n\nDue to in-memory image handling applications using the Gini Vision Library must enable large heap.\n\nTablet Support\n--------------\n\nWe enabled landscape orientation and adapted some UI elements to offer a better experience to tablet\nusers. We also removed the camera flash requirement for tablets since many tablets with at least 8MP\ncameras don't have an LED flash (like the popular Samsung Galaxy Tab S2). \n\nFor more information please consult our guide for [supporting\ntablets](http://developer.gini.net/gini-vision-lib-android/html/updating-to-2-4-0.html#tablet-support).\n\n\u003e **Note:** Please see our minimum hardware recommendations for tablets below. We recommend\n\u003e implementing corresponding hardware checks for the Gini Vision Library to deliver optimal results\n\u003e to users. As mentioned many tablets with at least 8MP cameras don't have an LED flash (like the\n\u003e popular Samsung Galaxy Tab S2) and we don't require flash for tablets. For this reason the\n\u003e extraction quality on those tablets might be lower compared to smartphones.\n\nDocumentation\n-------------\n\nFurhter documentation can be found in our \n\n* [Integration Guide](http://developer.gini.net/gini-vision-lib-android/html/) and\n* [Gini Vision Javadoc](http://developer.gini.net/gini-vision-lib-android/javadoc/index.html)\n* [Network Library Javadoc](http://developer.gini.net/gini-vision-lib-android/javadoc/index.html)\n\nArchitecture\n------------\n\nThe Gini Vision Library consists of four main screens:\n\n* Onboarding: Provides useful hints to the user on how to take a perfect photo of a document.\n* Camera: The actual camera screen to capture the image of the document.\n* Review: Offers the opportunity to the user to check the sharpness of the image and to rotate it\n  into reading direction, if necessary.\n* Analysis: Provides a UI for the analysis process of the document by showing the user a loading\n  indicator and the image of the document.\n\n### Screen API\n\nThe Screen API provides a main Activity with which to start the Gini Vision Library. In previous\nversions two abstract Activities which had to be overriden to react to events coming from the Gini\nVision Library. This has been changed and now only the implementations of the\n`GiniVisionNetworkService` and `GiniVisionNetworkApi` have to be provided with the help of the\n`GiniVision` class.\n\nIn order to support the widest variety of Android versions while keeping the look and feel\nconsistent, we use the Android Support Library and provide only Activities subclassing the\nAppCompatActivity.\n\n### Component API\n\nThe Component API provides Fragments which you can include into your own layouts. This allows you\nmore freedom to customize the Gini Vision Library, without being restricted to AppCompatActivities\nand the Gini Vision Library Theme.\n\nTo allow usage even if you aren't using the Android Support Library, we have been providing a\nStandard and a Compat version of Fragments in previous versions. We still provide them for backwards\ncompatibility, but for new Fragments we will only provide versions using the Android Support\nLibrary. \n\nExample\n-------\n\nWe are providing example apps for the Screen API and the Component API. These apps demonstrate how\nto integrate the Gini Vision Library and how to use it with the Gini Vision Network Library to\nanalyze photos of documents.\n\nWe also provide a separate standalone [example\napp](https://github.com/gini/gini-vision-lib-android-example). This is more like a real world app\nand serves as an additional help for you to discover how the Gini Vision Library (and the Gini\nVision Network Library) should be used.\n\nRequirements\n------------\n\nScreen API: Android 4.4+ (API Level 19+)\nComponent API: Android 4.4+ (API Level 19+)\n\n### Phone Hardware\n\n* Back-facing camera with auto-focus and flash.\n* Minimum 8MP camera resolution.\n* Minimum 512MB RAM.\n\n### Tablet Hardware\n\n* Back-facing camera with auto-focus.\n* Minimum 8MP camera resolution.\n* Minimum 512MB RAM.\n\nInstallation\n------------\n\nTo install add our Maven repo to the root build.gradle file and add it as a dependency to your app\nmodule's build.gradle.\n\nbuild.gradle:\n\n```\nrepositories {\n    maven {\n        url 'https://repo.gini.net/nexus/content/repositories/open\n    }\n}\n```\n\napp/build.gradle:\n\n```\ndependencies {\n    implementation 'net.gini:gini-vision-lib:4.3.1'\n}\n```\n\n## License\n\nGini Vision Library and the Gini Vision Network Library are available under a commercial license.\nSee the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgini%2Fgini-vision-lib-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgini%2Fgini-vision-lib-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgini%2Fgini-vision-lib-android/lists"}