| |
Membre enregistré 23 messages |
|
Posté le 01 août 2018 - 13:29 |
Bonjour,
Je développe actuellement une application dans laquelle des commerciaux vont devoir joindre des documents à leurs commandes (divers justificatifs). Je prévois l’utilisation de la caméra pour joindre de simples photos des documents mais cela risque fort d’etre mal cadré ou illisible si l’utilisateur ne fait pas attention.
Je cherche donc une solution qui permettrait d’utiliser une application tierce pour « scanner » les documents avec laquelle je veux communiquer (demander l’ouverture pour effectuer un scan, récupérer le fichier)
Pour le moment je n’ai rien trouvé à part des solutions de SDK payantes et assez chères (l’application sera utilisée par un seul client avec une dizaine de commerciaux)
Merci de vos pistes et bons devs
-- Cordialement,
Franck MATIGNON |
| |
| |
| | | |
|
| | |
| |
Posté le 01 août 2018 - 17:07 |
Je vous déconseille l'utilisation de la caméra , les documents sont souvent illisibles. Il existe des scanners portables avec liaison sans fil qui donne de bien meilleurs résultats. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 12 messages |
|
Posté le 01 août 2018 - 17:55 |
En effet la qualité peut être moindre cependant c'est la méthode que veut utiliser mon client.
Avec un bon appareil photo et une application de traitement la qualité n'est pas trop mal.
Je suis tombé sur l'application CamScanner qui possede des API mais je bute maintenant sur l'appel de l'application par une procédure JAVA :
https://dev.camscanner.com/developers/wiki…
Je n'arrive pas a créer une procédure globale JAVA avec le code qu'ils donnent :
Intent intent = new Intent("com.intsig.camscanner.ACTION_SCAN"); // Or content uri picked from gallery Uri uri = Uri.fromFile(new File("/sdcard/source.jpg")); intent.putExtra(Intent.EXTRA_STREAM, uri); intent.putExtra("scanned_image", "/sdcard/scanned.jpg"); intent.putExtra("pdf_path", "/sdcard/processed.jpg"); intent.putExtra("org_image", "/sdcard/org.jpg"); startActivityForResult(intent, REQUEST_CODE);
- Je n'arrive pas a passer les chemin par parametres - Je n'arrive pas non plus a compiler l'application avec juste ce code (erreur java lors de la compilation) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 23 messages |
|
Posté le 01 août 2018 - 18:07 |
Oups j’ai deux comptes pcsoft
-- Cordialement,
Franck MATIGNON |
| |
| |
| | | |
|
| | |
| |
Posté le 01 août 2018 - 18:50 |
Phoenix a écrit :
En effet la qualité peut être moindre cependant c'est la méthode que veut utiliser mon client. Avec un bon appareil photo et une application de traitement la qualité n'est pas trop mal. Je suis tombé sur l'application CamScanner qui possede des API mais je bute maintenant sur l'appel de l'application par une procédure JAVA : https://dev.camscanner.com/developers/wiki…Je n'arrive pas a créer une procédure globale JAVA avec le code qu'ils donnent : Intent intent = new Intent("com.intsig.camscanner.ACTION_SCAN"); // Or content uri picked from gallery Uri uri = Uri.fromFile(new File("/sdcard/source.jpg")); intent.putExtra(Intent.EXTRA_STREAM, uri); intent.putExtra("scanned_image", "/sdcard/scanned.jpg"); intent.putExtra("pdf_path", "/sdcard/processed.jpg"); intent.putExtra("org_image", "/sdcard/org.jpg"); startActivityForResult(intent, REQUEST_CODE); - Je n'arrive pas a passer les chemin par parametres - Je n'arrive pas non plus a compiler l'application avec juste ce code (erreur java lors de la compilation)
ici tu n'appelle pas d'Api mais l'application elle même. qu'a tu prévu pour la récupération du résultat ? |
| |
| |
| | | |
|
| | |
| |
Posté le 02 août 2018 - 13:05 |
Bonjour J'ai intégré des fonctions dans une application pour scanner des documents et les enregistrer en PDF Il s'agit de notes de frais. les fonctions permettent à l'utilisateur de scanner via les fonctions VidéoLanceAppli(viCaptureImage) ensuite de modifier la taille du fichier photo de vérifier la netteté d'imprimer en PDF et d'envoyer le document PDF
Tout ça sans application tierce. Cordialement Dominique |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 23 messages |
|
Posté le 02 août 2018 - 13:31 |
Un code est fourni pour récupérer le résultat :
void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE) { int responseCode = data.getIntExtra("RESULT_OK", -1); if (requestCode == Activity.RESULT_OK) { // Success } else if (resultCode == Activity.RESULT_FIRST_USER) { // Fail } else if (resultCode == Activity.RESULT_CANCELED) { // User canceled } } }
Je crois que ce qu'il me manque dans mon code java c'est les import avant la procédure. Je ne m'y connais absolument pas en java
-- Cordialement,
Franck MATIGNON |
| |
| |
| | | |
|
| | |
| |
Posté le 03 août 2018 - 00:28 |
Dominique a écrit :
Bonjour J'ai intégré des fonctions dans une application pour scanner des documents et les enregistrer en PDF Il s'agit de notes de frais. les fonctions permettent à l'utilisateur de scanner via les fonctions VidéoLanceAppli(viCaptureImage) ensuite de modifier la taille du fichier photo de vérifier la netteté d'imprimer en PDF et d'envoyer le document PDF
Tout ça sans application tierce. Cordialement Dominique
Dis moi juste comment tu vérifie la netteté ? Pour le reste je sais faire. |
| |
| |
| | | |
|
| | |
| |
Posté le 03 août 2018 - 00:34 |
Franck MATIGNON a écrit :
Un code est fourni pour récupérer le résultat :
void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE) { int responseCode = data.getIntExtra("RESULT_OK", -1); if (requestCode == Activity.RESULT_OK) { // Success } else if (resultCode == Activity.RESULT_FIRST_USER) { // Fail } else if (resultCode == Activity.RESULT_CANCELED) { // User canceled } } }
Je crois que ce qu'il me manque dans mon code java c'est les import avant la procédure. Je ne m'y connais absolument pas en java
-- Cordialement,
Franck MATIGNON
pour les import il faut tatonė pas a pas en éliminant les erreurs 1 a 1 par exemple tu doit avoir des erreur sur l'intent car il faut l'import Android content intent comme indiqué sur la page https://developer.android.com/reference/android/content/Intent |
| |
| |
| | | |
|
| | |
| |
Posté le 03 août 2018 - 11:11 |
pour la création du java petite vidéo :
|
| |
| |
| | | |
|
| | |
| |
Posté le 03 août 2018 - 12:19 |
Tu gardes en mémoire ta photo et tu zoom sur ton document PDF ou l'image J'ai mis les 2 possibilités En fonction du document scanné ( A4 ou ticket) Toute les fonctions dessin sont disponibles Tu peux recadrer, jouer sur les contrastes, la luminosité. Ce que fait camscanner. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 23 messages |
|
Posté le 03 août 2018 - 21:50 |
Bonjour Dominique,
Merci pour tes pistes. As tu un exemple de code pour le redimensionnement de l’image et la suppression de la zone hors sélection ?
Je serais preneur
-- Cordialement,
Franck MATIGNON |
| |
| |
| | | |
|
| | |
| |
Posté le 05 octobre 2019 - 10:29 |
Bonjour Franck, je dois améliorer l'acquisition de mes documents pris en photo exactement comme toi et j'aurai aimé savoir quelle solution finale as-tu choisis ? En effet, mon application aujourd'hui prend des photos qu'elle transforme en un seul document PDF mode portrait mais j'ai ce problème de bord qui ne sont pas blanc (rognage) et je n'ai pas la possibilité d'éditer la photo après coup. Merci de ton retour. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 23 messages |
|
Posté le 05 octobre 2019 - 21:05 |
Bonjour,
N’ayant pas trouvé de solutions fonctionelle je me suis contenté de stocker l’image.
-- Cordialement,
Franck MATIGNON |
| |
| |
| | | |
|
| | |
| |
Posté le 15 mars 2021 - 12:22 |
En fait, la solution aurait pu être de prendre une photo avec VidéoLanceAppli en stockant cette photo dans la mémoire cache du téléphone, de l'afficher dans un champ image avec Zoom aux doigts. Et cette image zommée qui doit être utilisée et stockée dans l'application |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 16 mars 2021 - 09:12 |
Il existe des applications de scanner mobiles qui donneront de bien meilleurs résultats, je recommande d'utiliser CamScanner |
| |
| |
| | | |
|
| | |