Ciao a tutti, vorrei condividere una libreria (ITEXTSHARP) utilizzabile da VBA per la compilazione di un modulo PDF.
Detto altrimenti, con il codice seguente, è possibile inserire dati in un file PDF (modulo PDF), SENZA utilizzare riferimenti alla libreria di ACROBAT, che presuppone l'installazione di ACROBAT.
Elementi di base:
Installazione della libreria richiamabile da VBA
Modulo PDF da compilare:
Il modulo va collocato in C:\pippo
Codice VBA per compilare il campo denominato codicefiscale:
Dim StrPDFWorker As String
Dim OObj As Object
Dim StrPathModello As String
Dim StrNomeModello As String
Dim StrFileModello As String
Dim StrPathDestinazione As String
Dim StrNomePDF As String
Dim StrFilePDF As String
Dim StrIDCampo As String
Dim StrIDCampoNew As String
Dim StrContenuto As String
' *** Assegnazione variabili ***
' ******************************
' Oggetto per scrivere nei moduli PDF
StrPDFWorker = "C:\pippo\PDFWorker.msi"
Set OObj = CreateObject("PDFWorker.PDFWorker")
' PATH MODELLO PDF
StrPathModello = "C:\pippo\"
StrNomeModello = "ModelloLIPE18.pdf"
StrFileModello = StrPathModello & StrNomeModello
' PATH del file da generare
StrPathDestinazione = "C:\pippo\"
StrNomePDF = "StampaLIPE.pdf"
StrFilePDF = StrPathDestinazione & StrNomePDF
' Apri il file PDF modello
OObj.PDFListClear
OObj.PDFListAddFile (StrFileModello)
' Pulisci i campi
OObj.PDFFieldsClear
' Codice fiscale in pagina 1
StrIDCampo = "codicefiscale"
StrIDCampoNew = StrIDCampo & "_OK"
StrContenuto = "CPRMRK72C24G478E"
Call OObj.PDFFieldsAdd(StrIDCampo, StrContenuto, StrIDCampoNew)
Crea il file PDF ed aprilo
Creafile:
OObj.SetFieldValuesAndMergeFiles (StrFilePDF)
Set OObj = Nothing
Ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & StrFilePDF, vbMaximizedFocus)