[impression_canon] plus de souplesse dans les formats

Ignore-this: 1be68eaca162ca6f2ae2e3b9c10843c6
Bon d'accord, pdfinfo est vraiment intransigent sur le format des pages ...

darcs-hash:20111121141735-28565-b2975fab2e460e2465e0e7ec6b3b1f3ef58ff154.gz
This commit is contained in:
Daniel STAN 2011-11-21 15:17:35 +01:00
parent 587860cd5d
commit c485f8635e

View file

@ -192,15 +192,25 @@ class impression:
elif line.startswith('Page size'):
size = line.split()
if len(size) <= 6:
raise FichierInvalide(u"Format de page inconnu: seuls les formats A3 et A4 sont supportes",path_to_pdf)
self._format = size[6]
if not self._format in ['(A4)','(A3)']:
raise FichierInvalide, u"Seuls les formats A3 et A4 sont supportes"
self._format = "Unknown"
else:
self._format = size[6]
self._width = float(size[2])
self._height = float(size[4])
# Hack pour mieux reconnaître les formats
w = min(self._width,self._height)
h = max(self._width,self._height)
err = 20
if abs(w - 595) < err and abs(h - 842) < err:
self._format = "(A4)"
elif abs(w - 842) < err and abs(h - 1180) < err:
self._format = "(A3)"
if self._pages <= 0:
raise FichierInvalide(u"Impossible de lire le nombre de pages",path_to_pdf)
if not self._format in ['(A4)','(A3)']:
raise FichierInvalide, u"Seuls les formats A3 et A4 sont supportes"
# calcule le prix de l'encre tout de suite
self._calcule_prix()