PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → FUSION DE PDF
FUSION DE PDF
Iniciado por JCN, 11,may. 2019 18:17 - 3 respuestas
Miembro registrado
11 mensajes
Publicado el 11,mayo 2019 - 18:17
Bonjour à tous,
Je débute avec Windev et je suis bloqué sur un problème de fusion de PDF. J’ai regardé sur les forums ainsi que la doc en ligne, mais.. toujours bloqué.
Mon problème :
A partir d’une fenêtre(FEN_FUSION_PDF2) qui contient table (TableFic), je récupère les fichiers présents dans un répertoire, en cliquant sur le bouton (BTN_SELECTION) et deux procédures locales MAJ FIC() et MAJ REP()

Le BTN SELECTION a le code suivant :
sNomRépertoire est une chaîne
sNomRépertoire = fRepSélecteur("","Sélectionnez le répertoire dont vous souhaitez lister les fichiers")
SI sNomRépertoire ~= "" ALORS RETOUR
SAI_CHEMIN = sNomRépertoire
// Suppression des éléments de la table
TableSupprimeTout(TABLE_TableFic)
// Mise à jour des fichiers et des répertoires
MAJ_FIC()
MAJ_REP()

La procédure local MAJ FIC :
PROCÉDURE MAJ_FIC()
sListeFichier est une chaîne
sUnFichier est une chaîne
sListeFichier = fListeFichier(ComplèteRep(SAI_CHEMIN) + "*.*")

POUR TOUTE CHAÎNE sUnFichier DE sListeFichier SEPAREE PAR RC
TableAjouteLigne(TABLE_TableFic,fExtraitChemin(sUnFichier,fFichier+fExtension),"UnFichier",sUnFichier)

FIN

La procédure local MAJ REP :
PROCÉDURE MAJ_REP()
sListeRépertoire est une chaîne
sUnRépertoire est une chaîne

// Récupération de la liste des répertoires contenus dans le répertoire sélectionné (SAI_Répertoire_Parent)
// Cette récupération s'effectue grâce à la syntaxe de flisteRépertoire qui renvoie la liste des répertoires trouvés sous forme de chaîne
sListeRépertoire = fListeRépertoire(SAI_CHEMIN)


// Parcours de la chaîne contenant la liste des répertoires trouvés
POUR TOUTE CHAÎNE sUnRépertoire DE sListeRépertoire SEPAREE PAR RC
// Ajout du répertoire dans la table
TableAjouteLigne(TABLE_TableFic,ExtraitChaîne(sUnRépertoire,1,"\",DepuisFin),"Répertoire",sUnRépertoire)

FIN

Jusque là à priori aucun problème, j’obtiens ma liste de fichiers dans ma table.
J’ai un autre bouton pour fusionner les fichiers PDF présents dans la liste : BTN FUSION
MonTableauPDF est un tableau de chaînes
TABLE_TableFic = MonTableauPDF
//Chemin du fichier à créer + nom du fichier, table d’où provient les chemins de fichier
PDFFusionne("C:\Users\jcneg\Desktop\CREA.PDF",MonTableauPDF)

Et.. je n’ai aucun message d’erreur ni de syntaxe, mais rien ne se passe !
Quelqu’un aurait une idée ? L’objectif est de fusionner 2 PDF dans un répertoire que l’utilisateur peut choisir lui-même (donc pas d’adresse de répertoire fixe) et de retrouver la fusion des fichiers PDF sur son bureau (ou dans le même répertoire).
Miembro registrado
3.778 mensajes
Publicado el 12,mayo 2019 - 05:55
normal ton tableau de chaînes est vide.
Miembro registrado
2.321 mensajes
Publicado el 12,mayo 2019 - 09:47
Bonjour,

Tu confonds table et tableau !
Il faut faire une boucle POUR TOUT qui lit la table et alimente le tableau, quelque chose comme :
// Fusionne les fichiers au format PDF présents dans un tableau
MonTableauPDF est un tableau de chaînes
i est un entier
pour TOUT TABLE_TableFic
i ++
MonTableauPDF[i] = TABLE_TableFic.Col_1
FIN
PDFFusionne("C:\Doc\pdf_fusion.pdf", MonTableauPDF)


--
Bon dev,
Jean-Pierre
Miembro registrado
11 mensajes
Publicado el 13,mayo 2019 - 09:07
Merci pour vos réponses :-)
Jean-Pierre : Effectivement, j'ai confondu table et tableau. C'est vraiment sympa d'avoir pris le temps de rédiger ces lignes de codes.
Bonne journée.