[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:
parent
587860cd5d
commit
c485f8635e
1 changed files with 14 additions and 4 deletions
|
@ -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 = "Unknown"
|
||||
else:
|
||||
self._format = size[6]
|
||||
if not self._format in ['(A4)','(A3)']:
|
||||
raise FichierInvalide, u"Seuls les formats A3 et A4 sont supportes"
|
||||
|
||||
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()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue