Newsgroup: it.comp.appl.access
Titolo: pilotare (compilare) PDF on line

Qualcuno ha una traccia per compilare moduli PDF on line?
Qualsiasi suggerimento e' ben accetto.
IvanDaBologna

 IvanDaBologna
on-line = OLE automation (VBA)?
(se sě) SDK Adobe (
http://www.adobe.com/devnet/acrobat/
) e forse questo pdf 
puň aiutarti:
http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/javascript/VBJavaScript.pdf
 
...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Esatto, tramite automazione.
Ho dato una occhiata ai due links. Ho scaricato SDK e documentazione .... 
azz!! è una mole immensa di nuove info e credo che mi ci vorrà un pò solo 
per leggere gli indici... ;)
Il secondo link con l'esempio di sviluppo in dotnet mi pare appetibile. 
Vorrei limitarmi all'uso del solo VBA di access, credo di poterlo fare (o 
almeno ci provo).
In fin dei conti mi serve di conoscere il metodo per identificare i campi 
nei moduli e passargli i valori prelevati dalle tabelle. Qualche campo 
contiene elenchi a discesa, ma .... vedrò.
Male che vada mi affido ai buoni vecchi SendKeys !! ;))
IvanDaBologna 

una cosa così quindi...
Public Sub ImpostaCampoACRO(Acro_Fields, Nome, Valore)
On Error Resume Next
Dim Acro_Field As AFORMAUTLib.Field
Set Acro_Field = Acro_Fields(Nome)
Acro_Field.Value = Valore
Acro_Field.IsReadOnly = True
Set Acro_Field = Nothing
End Sub '
Public Sub CompilaCampiPDF(ElencoFile, FileSpec, DestDir, C4l)
Dim PdfDocs() As String
Dim Acro_WDoc As CAcroAVDoc
Dim Acro_FormAut As AFORMAUTLib.AFormApp
Dim Acro_Fields As AFORMAUTLib.Fields
'Dim Acro_Field As AFORMAUTLib.Field
Dim Acro_Field As AFORMAUTLib.Field
Dim Acro_D As CAcroPDDoc
Dim NomeCampo As String
Dim NomeField As String
Dim StrTrad As String
Dim OK As Boolean
Dim I As Long
Dim VCampo As String
Dim Pf As String
Dim Nf As String
Dim CTrad As New ADODB.Connection
If Nz(ElencoFile, "") = "" Then
    Exit Sub
End If
PdfDocs = Split(ElencoFile, "|")
If Not IsArray(PdfDocs) Then
    Exit Sub
End If
CTrad.Open Parametri.StrCnDbTrad
For I = 0 To UBound(PdfDocs())
    If MioDir(PdfDocs(I)) <> "" Then
        DoEvents
        Set Acro_WDoc = CreateObject("AcroExch.AvDoc")
        DividiPathENome PdfDocs(I), Pf, Nf
        Nf = DestDir & Nf
        CancellaFile Nf
        CopiaFIle PdfDocs(I), Nf
        OK = Acro_WDoc.Open(Nf, "Temporaneo")
        Logga "Compilazione PDF : " & Nf
        Display "Compilazione PDF : " & Nf
        If OK Then
            Set Acro_FormAut = CreateObject("AFormAut.App")
            Set Acro_D = CreateObject("AcroExch.PDDoc")
            Set Acro_Fields = Acro_FormAut.Fields
            Set Acro_D = Acro_WDoc.GetPDDoc
            For Each Acro_Field In Acro_Fields
                 NomeField = Acro_Field.Name
                DoEvents
                If Acro_Field.Type = "text" Then
                    StrTrad = ""
                    If Left(NomeField, 1) = "#" Then
                        VCampo = GetTrad(Mid(NomeField, 3), "", C4l,
CTrad)
                        If VCampo = "" Then VCampo = "!!! " &
NomeField
                    Else
                        VCampo = LeggiINI("DEFINIZIONE_SP", NomeField,
FileSpec)
                    End If
                    Acro_Field.Value = VCampo
                    Acro_Field.IsReadOnly = True
                End If
                If Acro_Field.Type = "button" Then
                    VCampo = LeggiINI("DEFINIZIONE_SP", NomeField,
FileSpec)
                    If VCampo <> "" Then
                        VCampo = Parametri.MasterFolder & VCampo
                        Acro_Field.SetButtonIcon "N", VCampo, 0
                        Acro_Field.IsReadOnly = True
                    End If
                End If
            Next Acro_Field
            OK = Acro_D.Save(PDSaveFull Or PDSaveLinearized Or
PDSaveCollectGarbage, Nf)
            Set Acro_Field = Nothing
            Set Acro_Fields = Nothing
            Acro_D.Close
            Set Acro_D = Nothing
        End If
        OK = Acro_WDoc.Close(False)
        Set Acro_D = Nothing
        Set Acro_WDoc = Nothing
    End If ' ce il file
Next I
CTrad.Close
Set CTrad = Nothing
Set Acro_D = Nothing
Set Acro_Fields = Nothing
Set Acro_FormAut = Nothing
Set Acro_WDoc = Nothing
End Sub

 ha scritto nel messaggio 
news:92a9dbe6-e238-46f5...@e25g2000prg.googlegroups.com...









                End If
            Next Acro_Field


End Sub
Urca! non so dirti se faccia al caso mio, ci provo tra oggi e domani. A 
occhio e croce potrebbe andare bene ( a parte alcune procedure che fanno da 
contorno:Logga,Display ....).
A priori non conosco i nomi dei fields che compongono il documento da 
compilare, ma forse se faccio un ciclo sulla collezione ....
Grazie per l'ottimo esempio e ... ti so dire.
IvanDaBologna 

 ha scritto nel messaggio 
news:47827e46$0$10618$4faf...@reader2.news.tin.it...



Lo scenario č questo.
Esistono moduli ministeriali on line in formato pdf.
La nostra agenzia di servizi ne compila una tonnellata al giorno.
I dati da immettere nei moduli sono anche raccolti nel gestionale 
dell'ufficio in vari mdb.
Ecco che la compilazione di questi moduli č una perdita di tempo e una fonte 
di errori in trascrizione a mano.
Colpo di genio: creo una o piů procedure in access che 'caricano' il sito 
(quindi la pagina) e compilano automaticamente i campi predisposti.
Per ora ho ripiegato sul buon vecchio metodo di acquisire il modulo e 
sistemarlo su un foglio di excel.
Lo ridimensiono apportunamente e ci piazzo, sopra ad ogni campo, delle 
caselle di testo trasparenti collegate con una zona dati riempita da una 
query sulla base dati, e lo uso come modello. Con una procedurina indico il 
codice del cliente e la query mi preleva i dati necessari. E' macchinoso ma 
funge fintantochč e' ancora possibile inviare questi documenti via Fax. Ma 
se, domani, ci obbligano a compilare on line ... saranno dolori !!!
Io cercavo il modello ad oggetti di Acrobat per poter interagire 
'dall'interno' ed andare a riempire i vari campi (in maniera trasparente al 
browser) ed infine confermare l'invio telematico.
Ho trovato un manuale di riferimento, ma le 5000 e passa pagine sono un 
deterrente veramente efficace!
IvanDaBologna

 funge fintantochè e' ancora possibile inviare questi documenti via Fax. Ma
