Fusion de PDF

DARKALANE Messages postés 5 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 26 janvier 2010 - 26 janv. 2010 à 11:13
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 26 janv. 2010 à 11:35
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 janv. 2010 à 11:23
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
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 janv. 2010 à 11:29
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
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 janv. 2010 à 11:33
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
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 janv. 2010 à 11:35
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
0
Rejoignez-nous