2009-09-30 15 views
2

Il existe de nombreuses suggestions sur SO et ailleurs pour l'utilisation de produits non-Adobe pour combiner par programme des fichiers PDF.Utiliser Acrobat standard pour combiner par programme un fichier PDF?

N'y a-t-il aucun moyen d'utiliser (assez facilement) ma copie payée d'Adobe Acrobat Standard (pas Reader) pour combiner par programme deux fichiers PDF ou plus dans un nouveau fichier PDF (je sais que cela peut être fait manuellement plusieurs fichiers)?

Préférer une commande (par exemple, copier fichier1.pdf fichier2.pdf combiné.pdf), mais serait prêt à recourir à VBA.

Merci pour vos idées!

Répondre

0

Il n'y a pas de VBA pour Acrobat. VBA est une chose de Microsoft (et semble disparaître bientôt de ce que j'ai lu [edit: frapper cela, apparemment, il est encore vivant et bien dans Office 2010]).

Le Acrobat SDK vous permettra d'automatiser Acrobat et de faire ce que vous voulez faire, mais c'est pas pour les faibles de cœur. Il peut être plus facile (à court terme, de toute façon) d'utiliser l'une des solutions gratuites que vous avez lues ailleurs.

0
Sub MergePDFs(nDocs As Integer, BaseFileName As String) 

    Dim AcroApp As Acrobat.CAcroApp 
    Dim iDoc As Integer 

    Dim BaseDocument As Acrobat.CAcroPDDoc 
    Dim PartDocument As Acrobat.CAcroPDDoc 

    Dim numPages As Integer 

    Set AcroApp = CreateObject("AcroExch.App") 

    Set BaseDocument = CreateObject("AcroExch.PDDoc") 
    Set PartDocument = CreateObject("AcroExch.PDDoc") 


    BaseDocument.Open (ActiveWorkbook.Path & "\" & BaseFileName & "_" & 1 & ".pdf") 
    For iDoc = 2 To nDocs 
     PartDocument.Open (ActiveWorkbook.Path & "\" & BaseFileName & "_" & iDoc & ".pdf") 
     numPages = BaseDocument.GetNumPages() 

     ' Insert the pages of Part after the end of Base 
     If BaseDocument.InsertPages(numPages - 1, PartDocument, 0, PartDocument.GetNumPages(), True) = False Then 
      MsgBox "Cannot insert pages" 
     End If 
     PartDocument.Close 
    Next iDoc 
    If BaseDocument.Save(PDSaveFull, ActiveWorkbook.Path & "\" & BaseFileName & ".pdf") = False Then 
     MsgBox "Cannot save the modified document" 
    Else 
     ' Remove intermediate documents 
     For iDoc = 1 To nDocs 
      Kill ActiveWorkbook.Path & "\" & BaseFileName & "_" & iDoc & ".pdf" 
     Next iDoc 
    End If 
    BaseDocument.Close 

    AcroApp.Exit 
    Set AcroApp = Nothing 
    Set BaseDocument = Nothing 
    Set PartDocument = Nothing 

End Sub 
Questions connexes