Skip to content

feat(modifier): pose par clic + taille dynamique pour images, signatures, tampons ; bouton Lien - #28

Merged
Paullux merged 11 commits into
mainfrom
claude/clever-mccarthy-2mgo2u
Nov 2, 2026
Merged

Paullux merged 11 commits into
mainfrom
claude/clever-mccarthy-2mgo2u

Conversation

@Paullux

@Paullux Paullux commented Nov 2, 2026

Copy link
Copy Markdown
Member

Résumé

Suite de #27 : la pose par clic et la taille dynamique s'étendent à tous les éléments flottants, et le bouton « Lien » devient fonctionnel.

  • Images : ratio conservé au redimensionnement ; taille initiale sans déformation (avant, largeur et hauteur étaient plafonnées séparément).
  • Signature PNG et tampons : posés par clic sur le PDF (le dialogue n'a plus de Page/X/Y, devenus inutiles).
  • Tampons : le texte s'ajuste à la boîte (largeur ou hauteur, la contrainte la plus forte) ; cadre et texte pivotent ensemble à un angle quelconque (add_stamp_fitted).
  • Lien (ex-« À venir », sans action) : adresse web / e-mail ou page du document ; la zone cliquable se pose par clic, se redimensionne, puis se valide (add_link, schémas limités à http, https, mailto).
  • Correctif lié : la gravure passe par _engrave() pour libérer l'objet page avant document.changed, sinon le cache de PyMuPDF empêche le viewer de voir un lien tout juste ajouté.
  • Docs FR/EN, CLAUDE.md et traductions EN mis à jour.

Vérifications

  • flake8 OK ; 194 tests passent. Le seul échec, test_no_fitz_warning, vient de pdf2docx absent de l'environnement de développement (déjà le cas sans ces changements).
  • Flux complet simulé hors écran : lien et tampon gravés via l'onglet, le viewer voit bien le lien.

Limite connue : une image tournée à l'écran est gravée sans rotation (comportement inchangé).


Generated by Claude Code

claude added 11 commits November 2, 2026 09:06
…ce, taille, gras/italique, couleur)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…COPR, checklist)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…sur le texte flottant

- la taille suit la boîte (largeur ou hauteur, la contrainte la plus forte) quand on la redimensionne
- police, taille, gras, italique et couleur restent modifiables jusqu'à la validation
- gravure à la taille ajustée, centrée verticalement, rotation à angle libre (operations.edit.add_text_fitted)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…r clic sur le PDF

- Ajouter du texte / image : bandeau d'aide, curseur en croix, clic = pose centrée sur la page cliquée, Échap ou Annuler pour abandonner
- plus de collage automatique au milieu de la page courante
- traductions EN (PdfViewer, FloatingItem, dialogs)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…COPR, checklist)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…ures, tampons ; bouton Lien

- images/signatures PNG : ratio conservé au redimensionnement, taille initiale sans déformation
- tampons : texte ajusté à la boîte, cadre et texte pivotent ensemble (add_stamp_fitted)
- signature/tampon : clic sur le PDF pour poser (plus de page/X/Y dans le dialogue)
- Lien : zone cliquable posée par clic, cible URL http/https/mailto ou page (add_link)
- gravure faite dans une fonction dédiée pour libérer l'objet page avant le rafraîchissement (cache PyMuPDF)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
@Paullux
Paullux merged commit d6e0943 into main Nov 2, 2026
6 checks passed
Paullux pushed a commit that referenced this pull request Nov 2, 2026
Paullux pushed a commit that referenced this pull request Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants