Aug 14, 2023
Come convertire un'immagine in un PDF utilizzando Python
Organizza le tue immagini in PDF e scopri come utilizzare Tkinter per creare questa pratica utility. Dai report aziendali ai portfolio fotografici, ti imbatterai spesso nella necessità di utilizzare immagini nei PDF. UN
Organizza le tue immagini in PDF e scopri come utilizzare Tkinter per creare questa pratica utility.
Dai report aziendali ai portfolio fotografici, ti imbatterai spesso nella necessità di utilizzare immagini nei PDF. Un convertitore da immagine a PDF può aiutare a semplificare il processo. Sebbene siano disponibili molti strumenti gratuiti online, la loro necessità di caricare immagini potrebbe costituire un problema di privacy o sicurezza.
Invece, puoi creare un convertitore da immagine a PDF offline utilizzando Python. Seleziona più immagini in formato JPG o PNG, ottieni un'anteprima e convertile in un PDF mantenendo le dimensioni dell'immagine originale.
Tkinter è la libreria GUI standard per Python. Offre una varietà di widget come pulsanti, etichette e caselle di testo che semplificano lo sviluppo di app come un lettore musicale o uno strumento di conversione del peso. Per installare Tkinter nel tuo sistema, apri un terminale e digita:
Il modulo Pillow è una potente libreria di immagini Python che semplifica l'esecuzione di operazioni sulle immagini come ridimensionamento, ritaglio e filtraggio. Integrandolo con OpenAI API e DALL·E 2, puoi generare immagini utilizzando un messaggio di testo.
Per installare Pillow, esegui questo comando:
ReportLab è una libreria Python open source per la generazione di PDF e grafica. Dispone di vari strumenti che puoi utilizzare per generare documenti con immagini, testo e tabelle che lo rendono utile per generare report tramite la programmazione. Con questo, puoi creare report aziendali, fatture e certificati aggiungendo anche una filigrana di testo. Per installare ReportLab:
Puoi trovare l'intero codice sorgente per creare il convertitore da immagine a PDF utilizzando Python in questo repository GitHub.
Importa i moduli necessari e crea una classe denominataImageToPDFConverter . Definire un metodo di costruzione che inizializza la classe e accetta l'oggetto finestra root di Tkinter come argomento. Inizializza un elenco vuoto per memorizzare i percorsi delle immagini selezionate dall'utente. Imposta il titolo e le dimensioni dell'applicazione. Crea due pulsanti denominatiSeleziona ImmaginiEConverti in PDF.
Passa la finestra in cui desideri posizionare il pulsante, il testo che dovrebbero visualizzare, il comando che dovrebbero eseguire quando vengono cliccati e il formato del carattere che dovrebbero applicare. Organizzare i pulsanti utilizzando ilpacchetto()metodo e dare loro un riempimento di 10 nella direzione verticale.
Definisci un'etichetta passandole la finestra principale in cui posizionarla, il testo che dovrebbe visualizzare, il formato del carattere che dovrebbe utilizzare e un riempimento verticale di 10 (pixel).
Allo stesso modo, definisci una cornice per visualizzare l'anteprima dell'immagine selezionata e impostane la finestra principale, la larghezza e l'altezza. Organizzalo con un'imbottitura di 10.
Definire un metodo,seleziona_immagini() . Usa quello di Tkinterfinestra di dialogo del fileclasse per aprire una finestra di dialogo per selezionare più immagini e memorizzarle nel filepercorso_immagini elenco. Passa la directory iniziale che la finestra di dialogo dovrebbe aprire, il titolo che dovrebbe visualizzare e i tipi di file che consente la selezione.
Definire un ciclo che ripete su tutti i percorsi delle immagini selezionate dall'utente. Usa quello del cuscinoaprire() per aprire il file immagine e passare la dimensione massima che dovrebbe possedere al metodo di ridimensionamento. Converti questa immagine PIL inFotoImmagine che è compatibile con Tkinter. Crea un'etichetta che risiede nel fotogramma di anteprima creato in precedenza e visualizza l'immagine. Usa ilgrigliamanager per organizzare le immagini in un layout a griglia con tre colonne.
Definire un metodo,ridimensiona_immagine() che ridimensiona l'immagine tenendo conto della dimensione dell'immagine e della dimensione massima definita in precedenza. Calcola le proporzioni e usalo per impostare la nuova larghezza e altezza. Utilizza il metodo di ridimensionamento di PIL per ridimensionare l'immagine mantenendo intatte le proporzioni. Utilizza l'interpolazione bilineare come ricampionamento per un risultato più uniforme.
Definire una funzione,converti_in_pdf() . Utilizzare la finestra di dialogo file per richiedere il percorso di destinazione del PDF. Imposta l'estensione e il tipo di file predefiniti come