Fusion de PDF

Signaler
Messages postés
5
Date d'inscription
mardi 3 juin 2008
Statut
Membre
Dernière intervention
26 janvier 2010
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour tout le monde,

Je me permet de vous écrire car d'habitude je trouve les solutions adéquate sur le net mais la, je beugue.
Je souhaiterais faire fusionner deux PDF ou plus en un seul qui sont situer dans un certain dossier.

J'ai testé tout d'abord avec PDFCreator avec ce bout de code :

-------
Sub aaa()
Call GenererCommandeFusion("C:\Program Files\PDFCreator", "PDFCreator.exe", "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE", "", "3" & ".pdf", "1.pdf", "2.pdf")
End Sub
-------
Private Sub GenererCommandeFusion(CheminLogiciel, ExeLogiciel, CheminFichiers, SuffixeFichier, NomFichierSortie, ParamArray ListeFichiersEntree1())

commande = CheminLogiciel & Application.PathSeparator & ExeLogiciel & " "

For i = LBound(ListeFichiersEntree1) To UBound(ListeFichiersEntree1)
commande = commande & """" & CheminFichiers & Application.PathSeparator & ListeFichiersEntree1(i) & SuffixeFichier & """" & " "
Next i
commande = commande & " cat output " & """" & CheminFichiers & Application.PathSeparator & NomFichierSortie & SuffixeNomPDF & """"
MsgBox commande
lPid = Shell(commande, vbHide)

End Sub
------
mais la, aucun résultats, PDFCreator se lance mais aucun succes.

Alors j'ai tester avec PDFTK :


------
Sub bbb()
Dim a
Dim b
a = "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\1.pdf"
b = "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\2.pdf"
strOutput = " output """ & "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\3.pdf"""
strCat = " cat " & a & b
strCommand = "C:\Documents and Settings\j.tollet\Bureau\pdftkfe.exe"
strScript = strCommand & strCat & strOutput
Shell strScript, vbHide
End Sub
------
Même problème, aucun résultat.
Voyez vous des erreurs dans ses lignes de code?
Je vous remercie
DARKALANE

4 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
faut bien formater tes parametres, déja...

tu envoies pour PDFTK la chaine :
C:\Documents and Settings\j.tollet\Bureau\pdftkfe.exe cat C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\1.pdfC:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\2.pdf output "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\3.pdf"


comment veux tu que cela fonctionne ?



Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
pour PDFTK, tu peux tenter ce code :
Dim a
Dim b
a = "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\1.pdf"
b = "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\2.pdf"
strOutput = " output ""C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\3.pdf"" "
strCat = " cat """ & a & """ """ & b & """"
strCommand = "C:\Documents and Settings\j.tollet\Bureau\pdftkfe.exe"
strScript = strCommand & strCat & strOutput


et sa version propre :
Private Sub Form_Load()
    MergePdf "C:\Documents and Settings\j.tollet\Bureau\pdftkfe.exe", "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\3.pdf", _
             "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\1.pdf", _
             "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\2.pdf"
End Sub

Private Sub MergePdf(ByRef vsToolPath As String, ByRef vsOutput As String, ParamArray vzFiles() As Variant)
Dim i As Long
Dim sParameters As String
    For i = 0 To UBound(vzFiles)
        sParameters = sParameters & " """ & vzFiles(i) & """"
    Next
    If i Then
        Shell vsToolPath & " cat " & sParameters & " output """ & vsOutput & """"
    End If
End Sub



Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
euh, ok, tu n'a pas la bonne syntaxe, en plus :

Merge Two or More PDFs into a New Document
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf


remanions le code, donc :

Private Sub Form_Load()
    MergePdf "C:\Documents and Settings\j.tollet\Bureau\pdftkfe.exe", "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\3.pdf", _
             "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\1.pdf", _
             "C:\Documents and Settings\j.tollet\Bureau\EXCEL JEJE\2.pdf"
End Sub

Private Sub MergePdf(ByRef vsToolPath As String, ByRef vsOutput As String, ParamArray vzFiles() As Variant)
Dim i As Long
Dim sParameters As String
    For i = 0 To UBound(vzFiles)
        sParameters = sParameters & " """ & vzFiles(i) & """"
    Next
    If i Then
        Shell vsToolPath & sParameters & " cat output """ & vsOutput & """"
    End If
End Sub



Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
quant à ton essai avec PDFCreator,

www.downloadatoz.com/manual/pd/pdfcreator/html/commandline.htm

Il me laisse perplexe... cet outil ne semble pas gérer la fusion de PDF, et la ligne de commande que tu as essayée ne ressemble même pas a la syntaxe utilisée avec l'outil.

sûr qu'en essayant au petit bonheur, peu de chance de conclure ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic