patacrep/patanet

Papersize selection

oliverpool opened this issue · 7 comments

Evoqué dans #129, voici un sujet pour gérer la taille du papier pour l'impression

Pour la sélection du papier (A4, A5, A6, 16:9, 4:3 ...) je propose de créer une table dédiée du genre:

  • id
  • name
  • width
  • height
  • margin-top
  • margin-left
  • margin-bottom
  • margin-right
  • bindingoffset (pour la reliure en centre de carnet)
  • user (du même style que pour les mises-en-page : 0 = dispo pour tous les utilisateurs)

Il faut faire attention à enregistrer au format portrait à chaque fois (l'orientation reste sélectionnée dans la mise en page).

Qu'en pensez-vous ?

Je propose d'attendre le merge de #129 avant de commencer à coder cela.

Je ne suis pas forcément pour. On a pas besoin de gérer autant de tailles différentes, dans le pire des cas un simple tuple en dur dans le code suffit et est beaucoup plus simple à gérer. D'autant plus que l'on est pas certain que toutes les tailles rendent bien après compilation.

Je ne suis pas fan de le coder en dur...
Typiquement, les marges dépendent fortement de l'imprimante (ou de l'imprimeur).
On peut faire une table, avec accès en lecture seule pour les utilisateurs (pas de possibilités d'ajout), mais qui simplifiera grandement l'ajout du côté admin.

J'ai donné "seulement" 6 exemples de taille, mais on pourrait rajouter des tailles pour les tablettes ou téléphones à grand écran (soit au moins 2 de plus).
J'ai fait un carnet de chant l'an dernier, et j'apprécie beaucoup le fait de l'avoir sur mon téléphone et j'envisage de l'exporter en 4:3 pour pouvoir le vidéo-projeter facilement

Voila par exemple des paramètres que j'ai utilisé il y a pas longtemps pour imprimer un carnet:

\geometry{
  total={148mm,210mm}
  ,left=10mm
  ,right=10mm
  ,top=10mm
  ,bottom=10mm
  ,asymmetric
  ,bindingoffset=20mm % space reserved to bound pages together
}

Tous les nombres (7) sont ceux que j'indique dans le premier messages.

Ca suppose aussi une mise-à-jour de patadata pour include cela dans le template.

Je continue à trouver que c'est un peu complexe pour l'utilisateur lambda, qui devrait plutôt n'avoir à choisir que parmi quelques valeurs par défaut. Mais on peut avoir un réglage supplémentaire (paramètres avancés) qui serve à ça.

Ca suppose aussi une mise-à-jour de patadata pour include cela dans le template.

Ça prendra environ 5 min à faire, vive le système de templates ^^

Dans un premier temps on peut juste les rendre modifiables par les admins.
Les utilisateurs lambdas ont alors à choisir dans une liste déroulante (A4, A5, A6, 4:3).

Ensuite si beaucoup d'utilisateurs nous demandent des réglages bien précis, ont pourra en rediscuter.

Si on part là dessus, je rajoute juste un modèle Papersize, une FK dans layout et une classe dans le fichier admin.py.

WorkInProgress sur la branche papersize
Avec la branche custom_papersize de patadata

J'ai renouvelé la page de création de mise-en-page:
new
J'en ai profité pour mettre des boutons "radio" pour les options à 2 choix car je les trouve plus rapide à utiliser.
Dès que la question de patadata sera résolue, on pourra envisager un merge.

prochaine étape: ajouter une page pour supprimer les mises en pages...j'en ai une vingtaine actuellement ^^