Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 03/03/2018, à 12:47

kholo

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Hors ligne

#52 Le 05/03/2018, à 18:24

gatzy

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Bonsoir

pingouinux a écrit :

Pour les accents, je pense qu'il suffira de modifier cette ligne :

        pdf.cell(0, 10, str(get_filename(page)), 0, 1)

J'ai pas mal cherché sur les forums mais je tourne en rond... j'ai testé en utilisant utf8_decode pour le nom à écrire mais manifestement python ne connaît pas sad
Des idées ?

Hors ligne

#53 Le 05/03/2018, à 18:53

kholo

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

bon, je dis ça pour ceux que ça intéresse mais mon choix de ffmpeg n'était pas innocent... cool

Hors ligne

#54 Le 05/03/2018, à 19:01

pingouinux

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Si personne ne trouve directement la solution, tu peux essayer de placer ces 3 lignes devant celle que tu montres en #52 :

print("page=%s="%page)
print("get_filename(page)=%s="%get_filename(page))
print("str(get_filename(page))=%s="%str(get_filename(page)))

Tu obtiendras 3 lignes par photo. Il suffit que tu ne montres que les 3 correspondant à une photo dont le nom contient un accent.

PS : As-tu testé la solution de kholo ? Si elle te donne satisfaction, inutile de se casser la tête…

Hors ligne

#55 Le 05/03/2018, à 19:05

gatzy

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

@kholo : j'ai conservé ta proposition dans un coin mais comme j'ai déjà passé pas mal de temps pour faire tourner le script en python et que j'ai l'impression que je suis presque arrivée au but, j'hésite à partir sur une autre voie qui sera très certainement semée d’embûches compte tenu de mes connaissances et de ma vieille version d'ubuntu... mais à force de tourner en rond, je vais peut être me décider à prendre une bretelle de sortie si la solution n'est pas trouvée wink
A suivre...

Hors ligne

#56 Le 05/03/2018, à 19:17

gatzy

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

pingouinux a écrit :

Si personne ne trouve directement la solution, tu peux essayer de placer ces 3 lignes devant celle que tu montres en #52 :

print("page=%s="%page)
print("get_filename(page)=%s="%get_filename(page))
print("str(get_filename(page))=%s="%str(get_filename(page)))

Tu obtiendras 3 lignes par photo. Il suffit que tu ne montres que les 3 correspondant à une photo dont le nom contient un accent.

Je ne comprends pas...
J'ai mis les print, j'obtiens, par exemple pour une des photos :

page=./Source_Photos/003-radiée.jpg=
get_filename(page)=003-radiée=
str(get_filename(page))=003-radiée=

Et après????

Hors ligne

#57 Le 05/03/2018, à 20:13

pingouinux

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

gatzy #47 a écrit :

- les noms de plantes (et donc des photos) sont souvent avec des lettres avec accents qui sont transformées en caractères "bizarres" (é) : est ce possible d'y remédier ?

D'après ta réponse en #56, où les caractères sont corrects, je pense que c'est la fonction pdf.cell qui fait mal la conversion. Là je ne peux pas t'aider, pdf n'est pas installé chez moi.
Si ça peut aider quelqu'un à résoudre ton problème, on peut obtenir tes caractères bizarres de cette façon

$ iconv -f latin1 -t utf8 <<<"é"
é

comme si pdf.cell croyait lire du latin1 alors que c'est de l'utf8.

Hors ligne

#58 Le 05/03/2018, à 20:27

pingouinux

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Sans garantie, tu peux essayer

        pdf.cell(0, 10, get_filename(page).decode('utf8').encode('latin1'), 0, 1)

Hors ligne

#59 Le 05/03/2018, à 21:03

gatzy

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Bravo pingouinux : ta solution avec decode('utf8').encode('latin1') marche !!!!!

Un très grand merci à tous ceux (et peut être celles, avec ces pseudo, on ne sait jamais...) qui se sont penché(e)s sur mon "problème"

Hors ligne

#60 Le 05/03/2018, à 21:28

pingouinux

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Je suis content pour toi. smile Si tu penses que c'est bon, modifie ton premier message et ajoute [Résolu] dans le titre.

Pour info, j'ai testé le script bash de kholo en #42 : il génère bien le fichier .pdf avec les accents.

Hors ligne

#61 Le 05/03/2018, à 22:29

gatzy

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Je n'évacue pas l'idée de tester le script de kholo mais pour l'instant j'ai une solution et cela me va bien.
Je recopie la version finale du script obtenu : peut être que cela aidera quelqu'un qui a le même besoin...

#!/usr/bin/python
# -*- coding: utf-8 -*-


from fpdf import FPDF
from PIL import Image
import glob
import os
import argparse
from os.path import basename

def get_filename(file):
    return basename(os.path.splitext(file)[0])


def makePdf(output, files_folder, extension='jpg'):
    files = glob.glob(os.path.join(files_folder,'*.'+extension))
    files.sort()
    cover = Image.open(files[0])
    width, height = cover.size

    pdf = FPDF(unit = "pt", format = [width, height])
    pdf.set_font('Times', '', 32)
    pdf.set_fill_color(255, 255, 255)
    
    for page in files:
        pdf.add_page()
	pdf.image(page, 0, 0)   
        Nomfleur= str(get_filename(page))
	print(Nomfleur)
	pdf.cell(len(Nomfleur)*18, 40, Nomfleur.decode('utf8').encode('latin1'), 0, 1, fill = True)
        
        

    pdf.output(output, "F")
    
if __name__ == '__main__':
    
    parser = argparse.ArgumentParser(description="Générer un fichier pdf à partir d'un dossier de photos")
    parser.add_argument('--dossier_source', help='Dossier source. Chemin complet vers le dossier des photos.', type=str)
    parser.add_argument('--fichier_pdf', help='Chemin et nom du fichier en sortie', type=str)
    parser.add_argument('--extension', help='type de fichier image', type=str, default='jpg')
    args = parser.parse_args()
    
    makePdf(args.fichier_pdf, args.dossier_source, args.extension)

Hors ligne

#62 Le 06/03/2018, à 11:15

shoot76

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Bon, la cavalerie arrive après la bataille !

Merci pingouinux smile et content que ça fonctionne pour toi.

Faudrait nous envoyer des exemples que fichier généré maintenant smile Faut qu'on voit ces belles fleurs tout de même.

Aller, à bientôt smile


~ Data-sientist freelance : https://skulder.fr

Hors ligne

#63 Le 06/03/2018, à 14:33

gatzy

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Je veux bien vous envoyer quelques fleurs pour vous remercier mais je ne sais pas comment joindre un fichier sad
Odile, qui a encore beaucoup à apprendre smile

Hors ligne

#64 Le 06/03/2018, à 14:41

shoot76

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Tu peux utiliser les services de Framasoft, une association Française qui lutte contre les GAFAM (Google, Amazon, Facebook, Apple, Microsoft).

Tu as le lien ici

Si tu ne connais pas cette asso, je t'invite à regarder un peu leur page. Ils ont bon nombre de services gratuits mis à disposition des utilisateurs pour éviter l'utilisation de services privateurs de libertés. On y retrouve par exemple un organisateur de calendrier style Doodle, des notes, un tableur... bref, c'est assez complet et intéressant smile

J'ai hâte de découvrir de belles fleurs bien vivantes! Je n'ai malheureusement pas le talent requis pour en avoir moi même... elles finissent toutes par mourir dans un délais ma fois plutôt court... Je suis un assassin sad


~ Data-sientist freelance : https://skulder.fr

Hors ligne

#65 Le 11/03/2018, à 17:53

gatzy

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Et voici une toute petite sélection (le fichier Pdf devient vite énorme !!!) de printanières... et j'ai même réussi à ajouter une page de garde smile
Printanières
Première fois que j'utilise Framadrop : j'espère que mon fichier pourra être lu...

Hors ligne

#66 Le 11/03/2018, à 18:24

erresse

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

Bonjour,
Je viens de visionner ton fichier sur Framadrop : Pas de problème, les photos sont très nettes et il est très facile de l'atteindre.
Toutefois, comme tu l'as remarqué toi-même, le PDF devient vite très lourd lorsqu'on y ajoute beaucoup de photos (c'est normal, les photos, ça pèse beaucoup...) et, comme il faut télécharger le fichier pour le relire en local, ç pourrait poser problème à ceux qui ne disposent pas d'une bonne connexion...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#67 Le 11/03/2018, à 21:35

alex2423

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

gatzy a écrit :

Et voici une toute petite sélection (le fichier Pdf devient vite énorme !!!) de printanières... et j'ai même réussi à ajouter une page de garde smile
Printanières
Première fois que j'utilise Framadrop : j'espère que mon fichier pourra être lu...

Hey oui, malheureusement Framasoft est malheureusement peu connu alors qu'il propose des superbes services.
Je viens de visualiser ton pdf, les photos sont vraiment très très belle. On voit distinctement les fleurs avec le nom en haut à gauche

Hors ligne

#68 Le 14/03/2018, à 11:26

shoot76

Re : [Résolu] Convertir plusieurs photos JPEG dans un PDF

On peut imaginer une "extension" du script.

A savoir : générer deux fichiers. Un pour le mode en ligne. L'autre pour le mode "download". Pour le mode en ligne, il sera nécessaire de sacrifier la qualité des photos pour en réduire le poids. Mais le PDF pourra être lu en ligne sans avoir une grosse connexion. Et on laisse un second fichier "original", plus lourd, avec les photos en qualité nette.

Au boulot les services de Framasoft sont bloqués par Proxy, je regarde ça en rentrant ce soir. Merci beaucoup Gatzy smile

EDIT : Ah ouais ça rend bien! big_smile Félicitations

Dernière modification par shoot76 (Le 14/03/2018, à 18:59)


~ Data-sientist freelance : https://skulder.fr

Hors ligne