VBScript. PDF samenvoegen tot 1 bestand.

Status
Niet open voor verdere reacties.

CVGhulp

Gebruiker
Lid geworden
17 nov 2015
Berichten
34
Hoi,

Ik heb ruim 100.000 PDF documenten die samengevoegd moeten worden maar dan wel al bestandsnaam gelijk is. Dus ik heb:

11111xx.pdf
11111xx.pdf
11111xx.pdf
22222xx.pdf
33333xx.pdf
33333xx.pdf

Na het samenvoegen zou ik graag 1x 1111xx.pdf, 1x 22222xx.pdf, 1x 33333xx.pdf willen hebben. Mocht het mogelijk zijn dan ook graag comprimeren.

Iemand een idee?
 
11111xx.pdf, zijn dit 3 bestanden met dezelfde naam? dat kan niet!
Of staan ze elk in een andere map?
Of heb je 1111101.pdf=blad1, 1111102.pdf=blad2, 1111103.pdf=blad3 en die moeten samengevoegd worden tot 11111.pdf?

Heb je een professioneel pdf-lezer, zoals adobe acrobat?
Die heeft een scripttaal.

Google "batch pdf merge" en "batch merge pdf command line"
 
Laatst bewerkt:
Oeps, verkeerd gegaan idd.

Nee het zit allemaal in 1 map.

11111xx_1.pdf
11111xx_88.pdf
11111xx_23.pdf
22222xx_1.pdf
33333xx_34.pdf
33333xx_12.pdf

Ik heb wel de beschikking over Adobe Pro. Maar daar kan ik het niet in vinden.
 
Download the PDFtk Server installer for Windows XP, Vista, 7 and 8, zie https://www.pdflabs.com/tools/pdftk-server/.
Pas eventueel strDelimiter aan.
Pas strPDFtk_ServerPath aan het pad zonder "\" naar "pdftk.exe".

Probeer eerst een klein gedeelte, je zult zien dat er verschillende versie van PDFtk Server tegelijk open staan, deze komen op den duur met elkaar in botsing, en de pc loopt vast.

Kijk eerst als het principe goed is, daarna zoeken we een oplossing zodat alles stabiel blijft.

Code:
'download https://www.pdflabs.com/tools/pdftk-server/

Dim avntFiles
Dim iavntFiles
Dim strCatenate
Dim strDelimiter
Dim strExec
Dim strFolder
Dim strOuputPath
Dim strOutput
Dim strOutputOld
Dim strPDFtk_ServerFileName
Dim strPDFtk_ServerPath

    strDelimiter = "_"
    strPDFtk_ServerPath = "C:\Program Files\PDFtk Server\bin"
    strPDFtk_ServerFileName = "pdftk.exe"
    
    strPDFtk_ServerPath = strPDFtk_ServerPath & "\" & strPDFtk_ServerFileName

    strFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Select Folder", 0, "").Self.Path

    avntFiles = Split(CreateObject("wscript.shell").exec("cmd /c Dir """ & strFolder & "\*.pdf"" /b /a-d").stdout.readall, vbCrLf)

    strOutputOld = ""
    For iavntFiles = LBound(avntFiles) To UBound(avntFiles) - 1

        strOutput = Split(avntFiles(iavntFiles), strDelimiter)(0)
        If strOutput <> strOutputOld Then

            strOuputPath = """" & strFolder & "\" & strOutput & ".pdf"""

            strCatenate = """" & Join(Filter(avntFiles, strOutput), """ """) & """"
            'pdftk in1.pdf in2.pdf cat output out1.pdf
            strExec = strPDFtk_ServerPath & " " & strCatenate & " cat output " & strOuputPath
            CreateObject("wscript.shell").exec (strExec)

            strOutputOld = strOutput

        End If

    Next
 

Bijlagen

Laatst bewerkt:
@CVGhulp

bedankt voor het niet reageren
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan