1
 5

Vérifiez une facture

reportfile

POST https://facturalex.com/api/v1/reportfile?login=&password=

loginVotre code d'identification.
passwordVotre mot de passe.
ocrExtraction du texte avec l'OCR.
resolutionRésolution en dpi de l'image générée pour chaque page du PDF.
imagesExtraction directe des seules images du PDF.
multipart/form-data
fileContenu 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, 250 ou 300 - IMPORTANT : Si une page ne contient qu'une image et aucun texte, l'image est systématiquement directement extraite du document,
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.

OpenAI

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 :

  1. require_once 'sendhttp.php';
  2. require_once 'filemimetype.php';

Charge le code des fonctions sendpost et file_mime_type.

  1. 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é.

  1.     $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.

  1.     $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.

  1.     $response=sendpost($curl, false, $files);

Envoie la requête HTTP avec sendpost. Les arguments login et password sont déjà dans $curl.

  1.     if (!$response or $response[0] != 200) {
  2.         return false;
  3.     }

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.

  1.     return file_put_contents($output, $response[2]);
  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.