V2.1.0 — Formats personnalises + reperes de coupe
- Formats personnalises dans tous les menus deroulants de format : - "Personnalise..." : saisie libre largeur x hauteur en mm - "Ajouter un format..." : sauvegarder un format custom (persistant) - Formats custom affiches dans le dropdown avec separateur - Reperes de coupe (Annotations > Reperes de coupe) : - Longueur, distance du bord, epaisseur configurables - Couleur : noir, gris, CMYK - Reperes de centrage optionnels - Appliquer a : toutes, paires, impaires, page courante - Enlever les reperes de coupe (menu) - Step & Repeat : ajout des marges (haut, bas, gauche, droite) - Tous les dialogues de format migres vers format_combo Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,7 @@ from app.dialogs.insert_blank_dialog import InsertBlankDialog
|
||||
from app.dialogs.page_numbers_dialog import PageNumbersDialog
|
||||
from app.dialogs.masking_dialog import MaskingDialog
|
||||
from app.dialogs.bleeds_dialog import BleedsDialog
|
||||
from app.dialogs.crop_marks_dialog import CropMarksDialog
|
||||
|
||||
from app.engine.booklet import create_booklet
|
||||
from app.engine.nup import nup_pages
|
||||
@@ -32,6 +33,7 @@ from app.engine.insert_blank import insert_blank_pages
|
||||
from app.engine.page_numbers import add_page_numbers
|
||||
from app.engine.masking import apply_masking
|
||||
from app.engine.bleeds import define_bleeds
|
||||
from app.engine.crop_marks import add_crop_marks, remove_crop_marks
|
||||
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
@@ -120,6 +122,10 @@ class MainWindow(QMainWindow):
|
||||
self._add_action(annot_menu, "Numerotation de pages", None, self._do_page_numbers)
|
||||
self._add_action(annot_menu, "Masquage (ruban blanc)", None, self._do_masking)
|
||||
annot_menu.addSeparator()
|
||||
annot_menu.addSeparator()
|
||||
self._add_action(annot_menu, "Reperes de coupe...", None, self._do_crop_marks)
|
||||
self._add_action(annot_menu, "Enlever les reperes de coupe", None, self._do_remove_crop_marks)
|
||||
annot_menu.addSeparator()
|
||||
self._add_action(annot_menu, "Definir les fonds perdus", None, self._do_bleeds)
|
||||
self._add_action(annot_menu, "Enlever les fonds perdus", None, self._do_remove_bleeds)
|
||||
|
||||
@@ -488,6 +494,34 @@ class MainWindow(QMainWindow):
|
||||
self._hide_progress()
|
||||
QMessageBox.critical(self, "Erreur", str(e))
|
||||
|
||||
def _do_crop_marks(self):
|
||||
if not self._require_file():
|
||||
return
|
||||
dlg = CropMarksDialog(self)
|
||||
if dlg.exec():
|
||||
self._show_progress()
|
||||
settings = dlg.get_settings()
|
||||
settings["current_page"] = self._viewer.current_page
|
||||
output = self._make_temp()
|
||||
try:
|
||||
add_crop_marks(self._current_file, output, **settings)
|
||||
self._show_result(output)
|
||||
except Exception as e:
|
||||
self._hide_progress()
|
||||
QMessageBox.critical(self, "Erreur", str(e))
|
||||
|
||||
def _do_remove_crop_marks(self):
|
||||
if not self._require_file():
|
||||
return
|
||||
self._show_progress()
|
||||
try:
|
||||
output = self._make_temp()
|
||||
remove_crop_marks(self._current_file, output)
|
||||
self._show_result(output)
|
||||
except Exception as e:
|
||||
self._hide_progress()
|
||||
QMessageBox.critical(self, "Erreur", str(e))
|
||||
|
||||
def _do_merge(self):
|
||||
paths, _ = QFileDialog.getOpenFileNames(self, "Selectionner les PDF a fusionner", "", "PDF (*.pdf)")
|
||||
if not paths or len(paths) < 2:
|
||||
|
||||
Reference in New Issue
Block a user