Vérifiez une facture
reportfile
POST https://facturalex.com/api/v1/reportfile?login=&password=
| login | Votre code d'identification. |
|---|---|
| password | Votre mot de passe. |
| ocr | Extraction du texte avec l'OCR. |
| resolution | Résolution en dpi de l'image générée pour chaque page du PDF. |
| images | Extraction directe des seules images du PDF. |
| multipart/form-data | |
| file | Contenu du PDF en binaire. |
ocr : 1 - force la lecture du texte en clair dans un PDF avec l'OCR.
Indiquez le mode d'extraction de chaque page du PDF :
resolution : résolution de l'image générée en dpi - 50, 75, 100, 125, 150, 200, - IMPORTANT : Si une page ne contient qu'une image et aucun texte, l'image est systématiquement directement extraite du document,250 ou 300
images : 1 - extraire uniquement directement toutes les images.
IMPORTANT : 1 appel à reportfile coûte 1 crédit.
$ curl -D - -X POST "https://facturalex.com/api/v1/reportfile?login=abcdef&password=ABCDEF" -F "file=@file.pdf" >report.pdf
Pour extraire le texte d'une photocopie :
$ curl -D - -X POST "https://facturalex.com/api/v1/reportfile?login=abcdef&password=ABCDEF" -F "ocr=1" -F "images=1" -F "file=@copyfile.pdf" >report.pdf
reportfile retourne le PDF d'un rapport d'analyse de conformité d'une facture.
NOTE : reportfile appelle OpenAI qui peut prendre un certain temps à répondre, entre 30 secondes et un peu plus de 1 minute.
En cas d'erreur, reportfile retourne le code HTTP/1.1 400 Bad Request, HTTP/1.1 401 Unauthorized, HTTP/1.1 402 Payment Required, HTTP/1.1 403 Forbidden ou HTTP/1.1 500 Internal Error.
USAGE
Téléchargez le code des fonctions sendpost et file_mime_type de la librairie iZend.
Copiez les fichiers dans l'espace de votre application.
NOTE : Reportez-vous à la page Appelez l'API du service pour une description des fonctions sendpost et file_mime_type.
Ajoutez le fichier reportfile.php avec le contenu suivant :
- require_once 'sendhttp.php';
- require_once 'filemimetype.php';
Charge le code des fonctions sendpost et file_mime_type.
- function scanfile($login, $password, $file, $output) {
Définit la fonction reportfile.
$login est votre code d'identification. $password est votre mot de passe.
$file est le chemin d'accès du fichier PDF à vérifier.
$output est le chemin d'accès du fichier dans lequel PDF du rapport sera enregistré.
- $curl = 'https://facturalex.com/api/v1/reportfile' . '?' . 'login=' . urlencode($login) . '&' . 'password=' . urlencode($password);
Met $curl à l'URL de l'action reportfile avec le code d'identification et le mot de passe du compte de l'utilisateur.
$login et $password doivent être échappés.
- $files=array('file' => array('name' => basename($file), 'tmp_name' => $file, 'type' => file_mime_type($file)));
Prépare la liste des fichiers attachés au POST : file - le PDF à vérifier avec le nom du fichier, le chemin d'accès au fichier et son type MIME.
- $response=sendpost($curl, false, $files);
Envoie la requête HTTP avec sendpost.
Les arguments login et password sont déjà dans $curl.
- if (!$response or $response[0] != 200) {
- return false;
- }
Si $response vaut false, le serveur est inaccessible.
Si $response[0] ne contient pas le code de retour HTTP 200 Ok, une erreur d'exécution s'est produite.
En cas d'erreur, reportfile retourne false.
- return file_put_contents($output, $response[2]);
- }
Sauve le PDF du rapport dans le fichier $output.
Retourne true si le fichier a bien été créé, sinon false.
EXEMPLE
En supposant que vous avez sauvé les fichiers sendhttp.php, filemimetype.php et reportfile.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction reportfile et appelez-la avec en arguments votre code d'identification et votre mot de passe, le chemin d'accès à un fichier PDF, le chemin d'accès au fichier du rapport en sortie :
$ php -a
php > require_once 'reportfile.php';
php > $r=reportfile('abcdef', 'ABCDEF', 'file.pdf', 'report.pdf');
php > echo $r ? 'Ok' : 'Ko';
Ok
php > quit
Lisez le rapport :
$ evince report.pdf
VOIR AUSSI
Appelez l'API du service, Vérifiez votre crédit, Analysez un fichier


Commentaires
Pour ajouter un commentaire, cliquez ici.