[impression_canon] -o landscape pour le recto-verso
darcs-hash:20111006161440-28565-21d8c3dd06f359bc1ddff854fed62fb71b2bfb5d.gz
This commit is contained in:
parent
6c85740dd2
commit
60c4f0935f
1 changed files with 9 additions and 10 deletions
|
@ -35,6 +35,7 @@ sys.path.append('/usr/scripts/gestion')
|
|||
from config import impression as config_impression
|
||||
from commands import getstatusoutput
|
||||
import crans.utils.logs
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
# ######################################################## #
|
||||
# CONSTANTES #
|
||||
|
@ -181,26 +182,24 @@ class impression:
|
|||
raise FichierInvalide, ("Le fichier ne semble pas etre un PDF", path_to_pdf)
|
||||
|
||||
# on compte les pages et on regarde le format
|
||||
try:
|
||||
self._pdfinfo = os.popen("pdfinfo %s" % (self._fichier))
|
||||
except Exception, e:
|
||||
raise FichierInvalide, u"pdfinfo n'arrive pas a lire le fichier (fichier protege par mot de passe?)"
|
||||
pdfinfo = Popen(["pdfinfo",self._fichier],stdout=PIPE,stderr=PIPE).communicate()
|
||||
if pdfinfo[1] <> '':
|
||||
raise FichierInvalide(u"pdfinfo n'arrive pas a lire le fichier (il est peut-etre corrompu ou protege par un mot de passe)",path_to_pdf)
|
||||
self._pages = -1
|
||||
for line in self._pdfinfo:
|
||||
for line in pdfinfo[0].split('\n'):
|
||||
if line.startswith('Pages'):
|
||||
self._pages = int(line.split()[1])
|
||||
elif line.startswith('Page size'):
|
||||
size = line.split()
|
||||
if len(size) <= 6:
|
||||
raise FichierInvalide, u"Format de page inconnu"
|
||||
raise FichierInvalide(u"Format de page inconnu",path_to_pdf)
|
||||
self._format = size[6]
|
||||
if not self._format in ['(A4)','(A3)']:
|
||||
raise FichierInvalide, u"Seuls les formats A3 et A4 sont supportés"
|
||||
raise FichierInvalide, u"Seuls les formats A3 et A4 sont supportes"
|
||||
self._width = float(size[2])
|
||||
self._height = float(size[4])
|
||||
self._format = size[6]
|
||||
if self._pages <= 0:
|
||||
raise FichierInvalide, u"Impossible de lire le nombre de pages"
|
||||
raise FichierInvalide(u"Impossible de lire le nombre de pages",path_to_pdf)
|
||||
|
||||
# calcule le prix de l'encre tout de suite
|
||||
self._calcule_prix()
|
||||
|
@ -460,7 +459,7 @@ class impression:
|
|||
options += ' -o sides=one-sided'
|
||||
else:
|
||||
if self._settings['recto_verso']:
|
||||
options += ' -o sides=two-sided-short-edge'
|
||||
options += ' -o sides=two-sided-short-edge -o landscape'
|
||||
else:
|
||||
options += ' -o sides=one-sided -o landscape'
|
||||
if self._settings['couleur']:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue