MakeMake The Dwarf Planet is a feed agregator.

Impression document PDF dans une application PySide 6

by mahmoud from AFPy discuss

Bonjour,

Je suis en train de concevoir une application avec PySide 6, cette application génère un fichier pdf que je charge dans un QPdfDocument puis dans un QPdfView afin que l’utilisateur puisse le visualiser, je veux ensuite lui permettre de l’imprimer, mais je n’arrive pas à réaliser cette partie, c’est à dire celle de l’impression, j’ai essayé plusieurs solutions trouvées sur internet mais aucune ne marche, je suis juste arrivé à imprimer mais le fichier imprimé ne correspond pas à la taille ni la résolution voulue (A5). Je souhaiterais idéalement permettre une prévisualisation de la page à imprimer dans la boite de dialogue à imprimer.

Mise à jour (Ajout du code source pour aider):

        self.pdf_document=QPdfDocument()
        self.pdf_document.load("uploads/certificates/good_health_certificate.pdf")

        w=QWidget()
        main_layout=QVBoxLayout()
        w.setLayout(main_layout)
        self.pdf_view = QPdfView()
        #self.pdf_view.setPageMode(QPdfView.PageMode.MultiPage)
        self.pdf_view.setDocument(self.pdf_document)
        main_layout.addWidget(self.pdf_view)
        
        buttons_layout=QHBoxLayout()
        
        button=QPushButton("Zoom +")
        button.clicked.connect(self.set_zoom_plus)
        buttons_layout.addWidget(button)

        button=QPushButton("Zoom -")
        button.clicked.connect(self.set_zoom_moins)
        buttons_layout.addWidget(button)

        main_layout.addLayout(buttons_layout)

        button=QPushButton("Imprimer")
        button.clicked.connect(self.print_certificate)
        main_layout.addWidget(button)

        self.setCentralWidget(w)
        
        self.zoom_value=1

    def set_zoom_plus(self):
        self.zoom_value+=0.1
        self.pdf_view.setZoomFactor(self.zoom_value)

    def set_zoom_moins(self):
        self.zoom_value-=0.1
        self.pdf_view.setZoomFactor(self.zoom_value)
    
    
    def print_certificate(self):
        if self.pdf_document.status()!=QPdfDocument.Status.Ready:
            return
        printer=QPrinter()
        dialog=QPrintDialog(printer, self)

        if dialog.exec():
            painter=QPainter(printer)

            for page in range(self.pdf_document.pageCount()):
                image=self.pdf_document.render(page)
                rect=painter.viewport()
                image_scaled=image.scaled(rect.size(), aspectMode=1)
                painter.drawImage(rect.topLeft(), image)

                if page < self.pdf_document.pageCount()-1:
                    printer.newPage()
            painter.end()

Voici le code (ci-dessus) que j’ai obtenu en cherchant sur le net, mais ça ne fonctionne pas.

Merci par avance.

2 messages - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Python et GRAFCET

by Billard from AFPy discuss

Bonjour

je suis nouveau sur ce forum, et utilisateur occasionnel de python.

Je m’interroge sur la possibilité d’utiliser Python pour programmer du GRAFCET notamment sur des cartes type Raspberry PI.

En théorie, le GRAFCET n’est autre qu’un graphe assez proche des réseaux de Pétri et des machines à états finis et j’ai vu qu’il y avait des modules pythons.

Si quelqu’un a déjà fait l’expérience sur ce sujet, je l’en remercie.

Cordialement

François-Marie

9 messages - 3 participant(e)s

Lire le sujet en entier

Lire la suite…

protéger ses passwords de comptes privés

by thomas75 from Linuxfr.org

Bonjour à tous,

Merci par avance pour vos aides!
Je m'explique, j'ai un serveur sous ubuntu. Il n'y a que un compte admin pour le moment.
J'ai fais appel à un stagiaire codeur pour créer et installer des codes python pour gérer Instagram notamment, installer des app sous ubuntu, modifier des fichiers comme Crontab,…

Comment faire pour avoir mes mots de passe de comptes privés tel que Instagram sans les dévoiler au codeur mais qu'il puisse faire fonctionner ces codes? Faàon fichier .env ou autre ? merci

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Sur Strasbourg - des intéressés ?

by vincent67 from AFPy discuss

Hello. Suite à la pyconf, je propose que tout le monde déménage à Strasbourg pour redynamiser les rencontres à Strasbourg. En attendant pour ceux qui sont déjà du côté de Strasbourg, je propose qu’on se voit un jeudi soir à 20h. Une idée de lieu qui pourrait satisfaire tout le monde ?

Meetup sur Strasbourg

2025-11-20 20:00 (Europe/Paris) → 2025-11-20 22:00 (Europe/Paris)

18 messages - 8 participant(e)s

Lire le sujet en entier

Lire la suite…

Le renouveau de txt2tags?

by zurvan from Linuxfr.org

Bonjour, voici quelques nouvelles concernant txt2tags.

Avertissement

Je ne fais plus partie de l'équipe txt2tags sur github (https://github.com/txt2tags), cette communication n'est donc pas officielle.


Txt2tags a été initialement développé par Aurelio Jargas, et d'autres personnes ont contribué au projet (moi y compris, à mon niveau), l'améliorant et le rendant de plus en plus épatant.

L'état actuel de txt2tags est le suivant :

  • La version python2 est obsolète car python2 n'est plus fourni avec la plupart des distributions Linux.

  • La version python3 a supprimé presque toutes les fonctionnalités utiles (%%toc, %%date, système de "templates", nombreuses cibles) afin de le « simplifier ». Vous pouvez consulter un tableau des différences sur https://github.com/txt2tags/txt2tags

Par ailleurs il semble que beaucoup de gens ont cessé d'utiliser txt2tags à cette époque, à la fin des années 2010. Déjà que c'était marginal, mais depuis quelques années c'est silence radio un peu partout. Je ne sais pas si cela est lié, mais il est certain que l'outil est devenu quoi qu'il en soit moins attractif avec ses fonctionnalités réduites.

Markdown n'est pas vraiment passionnant, d'autant plus qu'il manque de nombreuses fonctionnalités de base telles que la possibilité d'écrire (facilement) un commentaire ou d'utiliser des expressions régulières pour modifier des documents.

Pourtant, quelqu'un avait porté le code initial de python2 vers python3. Je l'ai maintenu, péniblement, jusqu'à présent, afin qu'il fonctionne même avec python 3.12.

Je l'ai inclus dans mon propre projet textallion :
https://github.com/farvardin/textallion/blob/master/contrib/txt2tags/txt2tags3

J'utilise txt2tags presque tous les jours, que ce soit pour travailler sur des sites web ou pour rédiger des documents (livres, lettres, documentations…). Sa polyvalence et ses possibilités ne cessent de m'émerveiller :)

Je me demande si d'autres personnes l'utilisent encore tout comme moi.

Je n'aime pas l'idée de « détourner » le nom txt2tags en publiant un produit portant le même nom mais avec des fonctionnalités différentes (même s'il s'agit des fonctionnalités de base originales de la version Python 2).

Je me demande même s'il vaut la peine de le forker avec un nom différent et une équipe différente.

Qu'en pensez-vous ?

J'ai par ailleurs créé une nouvelle communauté sur reddit (il y avait avant une page facebook à https://www.facebook.com/txt2tags/ mais c'est vraiment saturé de publicités, et d'ailleurs la plupart des publications sont cachées, n'atteignant peut-être que 10 % des abonnés actuels…)

https://www.reddit.com/r/txt2tags/

Mais sinon c'est bien (voire mieux), d'en discuter sur linuxfr !

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…