extractPackaging static method

Future<OcrPackagingResult> extractPackaging(
  1. User user,
  2. String barcode,
  3. OpenFoodFactsLanguage language, {
  4. OcrField ocrField = OcrField.GOOGLE_CLOUD_VISION,
  5. UriProductHelper uriHelper = uriHelperFoodProd,
})

Extracts the text from packaging image with OCR.

Uses already uploaded images language should be the language of the text on the product

  User user = User(userId: '', password: '');

  OcrPackagingResult result = await OpenFoodAPIClient.extractPackaging(
    user,
    '3274080005003',
    OpenFoodFactsLanguage.ENGLISH,
  );

  print(result.textFromImage); // SPRING WATER LE AUSE MGL Bicarbonates...

Implementation

static Future<OcrPackagingResult> extractPackaging(
  final User user,
  final String barcode,
  final OpenFoodFactsLanguage language, {
  final OcrField ocrField = OcrField.GOOGLE_CLOUD_VISION,
  final UriProductHelper uriHelper = uriHelperFoodProd,
}) async {
  final Uri uri = uriHelper.getPostUri(
    path: '/cgi/packaging.pl',
  );
  final Map<String, String> queryParameters = <String, String>{
    'code': barcode,
    'process_image': '1',
    'id': 'packaging_${language.offTag}',
    'ocr_engine': ocrField.offTag
  };
  final Response response = await HttpHelper().doPostRequest(
    uri,
    queryParameters,
    user,
    uriHelper: uriHelper,
    addCredentialsToBody: false,
  );
  return OcrPackagingResult.fromJson(
    HttpHelper().jsonDecode(utf8.decode(response.bodyBytes))
        as Map<String, dynamic>,
  );
}