fix(food): remplace le parseur PDF maison par smalot/pdfparser
Deploy HouseHub / deploy (push) Successful in 2s

Le parseur regex fait maison ne décodait pas les polices Type0/CID
avec table ToUnicode (courant sur les menus générés par des outils
pro), donc les mots-clés "PLAT CHAUD"/"GARNITURE" n'étaient jamais
reconnus et l'import échouait systématiquement sur ce type de PDF.

Ajoute aussi une correction de la reconnaissance de label insensible
aux accents (strtoupper ne gère pas les accents) et élargit la
tolérance verticale de la grille pour capter les plats sur plusieurs
lignes sans capter la ligne "Déclinaison" (alternative végé).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
percoandClaude Sonnet 5 committed 2026-09-25 12:47:17 +02:00
1 parent 4201adb571
commit 3a64934eb5
76 files changed
+15467 -64

No files matched your search

@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Smalot\PdfParser\Exception;
/**
* This Exception is thrown when no PDF data was given.
*/
class EmptyPdfException extends \Exception
{
}
@@ -0,0 +1,7 @@
<?php
namespace Smalot\PdfParser\Exception;
class EncodingNotFoundException extends \Exception
{
}
@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Smalot\PdfParser\Exception;
/**
* This exception is thrown when an invalid dictionary object is encountered.
*/
class InvalidDictionaryObjectException extends \Exception
{
}
@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Smalot\PdfParser\Exception;
/**
* This exception is thrown when the catalog is missing.
*/
class MissingCatalogException extends \Exception
{
}
@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Smalot\PdfParser\Exception;
/**
* This Exception is thrown when the %PDF- header is missing.
*/
class MissingPdfHeaderException extends \Exception
{
}
@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Smalot\PdfParser\Exception;
/**
* This Exception is thrown when a functionality has not yet been implemented.
*/
class NotImplementedException extends \Exception
{
}