Ajout de la possibilité de perforer ses pages
This commit is contained in:
parent
66f3fd0707
commit
25022bde92
1 changed files with 18 additions and 13 deletions
|
@ -53,11 +53,11 @@ class Option(object):
|
||||||
value = None
|
value = None
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(value)
|
return str(self.value)
|
||||||
|
|
||||||
name = "option"
|
name = "option"
|
||||||
pretty_name = u"option quelconque"
|
pretty_name = u"option quelconque"
|
||||||
|
|
||||||
def parse(self, v):
|
def parse(self, v):
|
||||||
self.value = v
|
self.value = v
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ class BooleanOption(Option):
|
||||||
class Couleur(BooleanOption):
|
class Couleur(BooleanOption):
|
||||||
name = "couleur"
|
name = "couleur"
|
||||||
pretty_name = u"impression couleur"
|
pretty_name = u"impression couleur"
|
||||||
|
|
||||||
class Livret(BooleanOption):
|
class Livret(BooleanOption):
|
||||||
name = "livret"
|
name = "livret"
|
||||||
pretty_name = u"livret piqûres à cheval"
|
pretty_name = u"livret piqûres à cheval"
|
||||||
|
@ -98,7 +98,7 @@ class SelectOption(Option):
|
||||||
}
|
}
|
||||||
|
|
||||||
value = None
|
value = None
|
||||||
|
|
||||||
def parse(self, v):
|
def parse(self, v):
|
||||||
if v == 'None':
|
if v == 'None':
|
||||||
v = None
|
v = None
|
||||||
|
@ -180,9 +180,9 @@ class impression(object):
|
||||||
_fichier = ""
|
_fichier = ""
|
||||||
# adhérent (instance)
|
# adhérent (instance)
|
||||||
_adh = None
|
_adh = None
|
||||||
# paramètres
|
# paramètres
|
||||||
_settings_list = [
|
_settings_list = [
|
||||||
Agrafage,
|
Agrafage,
|
||||||
Papier,
|
Papier,
|
||||||
Couleur,
|
Couleur,
|
||||||
Duplex,
|
Duplex,
|
||||||
|
@ -206,7 +206,7 @@ class impression(object):
|
||||||
_format = '(A4)'
|
_format = '(A4)'
|
||||||
_width = 595.28
|
_width = 595.28
|
||||||
_height = 841.89
|
_height = 841.89
|
||||||
|
|
||||||
# Jid unique, à définir avant l'impression
|
# Jid unique, à définir avant l'impression
|
||||||
_jid = 0
|
_jid = 0
|
||||||
|
|
||||||
|
@ -286,7 +286,7 @@ class impression(object):
|
||||||
newfile = '/tmp/' + self.fileName()[-4] + '-book.pdf'
|
newfile = '/tmp/' + self.fileName()[-4] + '-book.pdf'
|
||||||
newfile = '/tmp/book.pdf'
|
newfile = '/tmp/book.pdf'
|
||||||
check_output(
|
check_output(
|
||||||
['/usr/bin/pdfjam', self._fichier,
|
['/usr/bin/pdfjam', self._fichier,
|
||||||
livret.pdfjam_order(self._pages),
|
livret.pdfjam_order(self._pages),
|
||||||
'-o', newfile,
|
'-o', newfile,
|
||||||
])
|
])
|
||||||
|
@ -454,7 +454,7 @@ class impression(object):
|
||||||
# Pour spécifier un jobname de la forme jid:adh:nom_du_fichier
|
# Pour spécifier un jobname de la forme jid:adh:nom_du_fichier
|
||||||
jobname = '%d:%s:%s' % (self._jid, self._adh, self._fichier.split('/')[-1].replace("\"","\\\""))
|
jobname = '%d:%s:%s' % (self._jid, self._adh, self._fichier.split('/')[-1].replace("\"","\\\""))
|
||||||
options += ['-t', jobname]
|
options += ['-t', jobname]
|
||||||
|
|
||||||
#Pour le nombre de copies et specifie non assemblee
|
#Pour le nombre de copies et specifie non assemblee
|
||||||
options += ['-n', str(self._settings['copies'].value)]
|
options += ['-n', str(self._settings['copies'].value)]
|
||||||
#Et on ne les veux pas assemblées (sic)
|
#Et on ne les veux pas assemblées (sic)
|
||||||
|
@ -466,7 +466,7 @@ class impression(object):
|
||||||
options += ['-o', 'pdf-expand',
|
options += ['-o', 'pdf-expand',
|
||||||
'-o', 'pdf-paper=841x1190',
|
'-o', 'pdf-paper=841x1190',
|
||||||
'-o', 'PageSize=A3']
|
'-o', 'PageSize=A3']
|
||||||
|
|
||||||
# Toujours resize (pour éviter que l'imprimante ne deadlock)
|
# Toujours resize (pour éviter que l'imprimante ne deadlock)
|
||||||
options += ['-o', 'fit-to-page']
|
options += ['-o', 'fit-to-page']
|
||||||
|
|
||||||
|
@ -482,7 +482,7 @@ class impression(object):
|
||||||
options.append('InputSlot=Tray4')
|
options.append('InputSlot=Tray4')
|
||||||
else:
|
else:
|
||||||
options.append('InputSlot=Tray3')
|
options.append('InputSlot=Tray3')
|
||||||
|
|
||||||
|
|
||||||
if not self._settings['couleur'].value:
|
if not self._settings['couleur'].value:
|
||||||
options += ['-o', 'HPColorAsGray=True']
|
options += ['-o', 'HPColorAsGray=True']
|
||||||
|
@ -492,14 +492,14 @@ class impression(object):
|
||||||
self._settings['livret'].value
|
self._settings['livret'].value
|
||||||
paysage = self._width > self._height
|
paysage = self._width > self._height
|
||||||
# mode paysage: on indique que c'est landscape (ou livret)
|
# mode paysage: on indique que c'est landscape (ou livret)
|
||||||
if paysage:
|
if paysage:
|
||||||
options += ['-o', 'landscape']
|
options += ['-o', 'landscape']
|
||||||
|
|
||||||
# Livret: 2 pages par côté, et on inverse le bord duplex
|
# Livret: 2 pages par côté, et on inverse le bord duplex
|
||||||
if self._settings['livret'].value:
|
if self._settings['livret'].value:
|
||||||
options += ['-o', 'number-up=2']
|
options += ['-o', 'number-up=2']
|
||||||
paysage = not paysage
|
paysage = not paysage
|
||||||
|
|
||||||
if duplex:
|
if duplex:
|
||||||
if paysage:
|
if paysage:
|
||||||
options += ['-o', 'sides=two-sided-short-edge']
|
options += ['-o', 'sides=two-sided-short-edge']
|
||||||
|
@ -515,6 +515,11 @@ class impression(object):
|
||||||
v = self._settings['agrafage'].HP_name()
|
v = self._settings['agrafage'].HP_name()
|
||||||
options += ['-o', 'HPStaplerOptions=%s' % v]
|
options += ['-o', 'HPStaplerOptions=%s' % v]
|
||||||
|
|
||||||
|
if not self._settings['livret'].value:
|
||||||
|
if self._settings['perforation'].value:
|
||||||
|
v = self._settings['perforation']
|
||||||
|
options += ['-o', 'HPPunchingOptions=%s' % v]
|
||||||
|
|
||||||
# Que se passe-t-il si le nom de fichier commence par - ?
|
# Que se passe-t-il si le nom de fichier commence par - ?
|
||||||
# pour éviter cela, on indique la fin des options, avec "--"
|
# pour éviter cela, on indique la fin des options, avec "--"
|
||||||
options.append('--')
|
options.append('--')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue