Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    [vb6] Caricare pdf in un programma vb6

    Ciao, vi premetto che sono alle prime armi con vb. Sto facendo un programma in vb6 e dovrei poter far vedere in una form dei file in pdf. Mi hanno detto che per farlo devo mettere in C:\WINDOWS\system32 il file pdf.ocx e eseguire da dos regsvr32 e mi sa aggiungere nelle references qualche cosa, ma non ricordo cosa. Ho aggiunto il file in system32.
    Il problema e' che:
    1. quando eseguo regsvr32 il prompt dei comandi mi dice che non e' riconosciuto come comando interno o esterno, un programma eseguibile o un file batch.
    2. non trovo cosa devo aggiungere nelle references di vb.
    Sapete dirmi l'iter giusto? Perche' non mi fa eseguire regsvr32? Cosa devo fare? Grazie a tutti per la vostra attenzione.

  2. #2
    se devi solo visualizzare il pdf potresti usare il controllo di Adobe che si chiama (almeno sul mio pc) Adobe Acrobat 7.0 Browser Control Type Library 1.0.

    per aggiungerlo basta che clicchi col Tasto Destro sulla casella degli strumenti e clicchi Componenti...

    se non lo trovi il file da aggiungere come referenza si chiama AcroPDF.dll che nel mio pc è in:

    C:\Programmi\Adobe\Acrobat 7.0\ActiveX

    una volta aggiunto il controllo alla form, via programma è una passeggiata aprire i pdf:

    codice:
    'io il controllo l'ho chiamato OpenPDF
    Private Sub Form_Load()
        'il file deve esistere
        If Len(Trim(Dir("c:\Prova.pdf"))) > 0 Then
            OpenPDF.Visible = True
            OpenPDF.LoadFile "c:\Prova.pdf"
        Else
            OpenPDF.Visible = False
            MsgBox "File Non Trovato"
        End If
    End Sub
    fammi sapere se è questo che volevi
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  3. #3
    Ho fatto come dici tu... ma quando clicco con il tasto destro del mouse sul controllo per cercarne le proprieta' e rinominarlo, non ci sono le proprieta'.... :master: Come faccio a rinominarlo?

  4. #4
    Originariamente inviato da andreaciao_22
    se devi solo visualizzare il pdf potresti usare il controllo di Adobe che si chiama (almeno sul mio pc) Adobe Acrobat 7.0 Browser Control Type Library 1.0.

    per aggiungerlo basta che clicchi col Tasto Destro sulla casella degli strumenti e clicchi Componenti...

    se non lo trovi il file da aggiungere come referenza si chiama AcroPDF.dll che nel mio pc è in:

    C:\Programmi\Adobe\Acrobat 7.0\ActiveX

    una volta aggiunto il controllo alla form, via programma è una passeggiata aprire i pdf:

    codice:
    'io il controllo l'ho chiamato OpenPDF
    Private Sub Form_Load()
        'il file deve esistere
        If Len(Trim(Dir("c:\Prova.pdf"))) > 0 Then
            OpenPDF.Visible = True
            OpenPDF.LoadFile "c:\Prova.pdf"
        Else
            OpenPDF.Visible = False
            MsgBox "File Non Trovato"
        End If
    End Sub
    fammi sapere se è questo che volevi
    cosa significa Len(Trim(Dir(...path...))) > 0 ??? Ho capito che serve a vedere che esista il file, ma perche'?
    Suppongo che Len mi tira fuori la lunghezza di una stringa...ma non conosco le funzioni Trim e Dir.

  5. #5
    per la tua prima richiesta:
    quando clicchi col tasto sinistro sul controllo, prima devi inserirlo nella form mi raccomando, in basso a destra di Visual Basic 6 dovresti trovare il pannello Proprietà... la proprietà da modificare è Name

    per la seconda:

    Len: Funzione che restituisce la lunghezza della stringa
    Trim: Toglie Eventuali spazi iniziali e finali contenuti nella stringa
    Dir: Questa funzione restituisce una stringa vuota se non trova il file. se lo trova restituisce il nome del file
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  6. #6
    Perfetto, grazie! Mi sei stato di molto aiuto. Pero' ho un altro problema: ho aggiunto come hai detto tu tra i componenti il controllo Adobe Acrobat 7.0 Browser Control Type Library 1.0.
    Poi ho caricato il pdf nella form con
    OpenPDF.LoadFile Path

    ora quando faccio girare il programma e arrivo nella form che mi visualizza il pdf mi visualizza insieme al file pdf anche una barra degli strumenti che mi permette di stampare, ricercare, zoomare... la solita barra degli strumenti di acrobat, che invece non deve esserci nella mia form. Ho bisogno di visualizzare solo il pdf, secco così com'è! C'è qualche cosa che devo modificare nelle proprietà? Scusa la mia inesperienza e grazie ancora

  7. #7
    sempre partendo dal mio esempio(gli ho cambiato nome al file, così lo trova):

    codice:
    'io il controllo l'ho chiamato OpenPDF
    Private Sub Form_Load()
        'il file deve esistere
        If Len(Trim(Dir("c:\ConvertColor.pdf"))) > 0 Then
            OpenPDF.Visible = True
            OpenPDF.LoadFile "c:\ConvertColor.pdf"
            OpenPDF.setShowToolbar (False)
        Else
            OpenPDF.Visible = False
            MsgBox "File Non Trovato"
        End If
    End Sub
    comunque in alto nella barra degli strumenti c'è il Visualizzatore Oggetti( l'icona è un pacchetto giallo con tre quadrati che fuoriescono). da li puoi vedere tutti i metodi che un oggetto ha...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  8. #8
    Grande, sei davvero un grande!!! Soprattutto per avermi detto del VisualizzatoreOggetti, grazie al quale sono riuscita a togliere altre cose del file pdf che non si dovevano visualizzare... Pero' (non mi odiare) non risco proprio trovare quale metodo toglie i segnalibri a sinistra di una pagina pdf con scritto "Commenti" "Allegati" e "Pagine".. sai per caso qual'e'? Se non lo sai non fa niente, mi sei stato gia' molto di aiuto. Grazie di tutto.

  9. #9
    non c'è un modo...

    l'unico modo che posso suggerirti è questo:
    codice:
    Private Sub Form_Activate()
        OpenPDF.SetFocus ' dò il focus al controllo
        DoEvents ' Sospende l'esecuzione del programma facendo in modo che il sistema operativo elabori altri eventi.
        SendKeys "{F4}" ' via programma premo il tasto F4
    End Sub
    se vuoi altre info scrivimi via mail
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  10. #10
    Ciao!

    Riprendo questo argomento in quanto ho usato lo stesso sistema per aprire pdf in una form.

    Il problema è questo: in debug tutto ok, quando vado a testare l'eseguibile ho due tipi di errore diversi:

    - se la macchina sulla quale installo il programma NON ha adobe reader installato, ho un errore di missing dependencies su Acropdf.dll
    - se la macchina sulla quale installo il programma ha Adobe Reader 7 installato, ho il runtime error 372: impossibile caricare il controllo Acropdf da acropdf.dll. La versione di acropdf.dll in uso potrebbe non essere aggiornata. Verificare che si stia utilizzando la versione del controllo fornita con l'applicazione.

    Presa alla lettera, questa frase sembrerebbe da intendersi che l'acropdf.dll che ho usato nel mio progetto ha una versione diversa rispetto a quello installato nel computer, e in effetti c'è una discrepanza: la mia è la 7.0.9, quella del Reader è 7.0.0.

    Al di là di ulteriori prove, ho un unico dubbio: è possibile che versioni superiori rispetto alla dll che uso io nel progetto possano dare lo stesso problema?
    Mi spiego: è chiaro che nell'installazione del mio programma devo aggiungere anche il pacchetto di installazione di Adobe Reader 7. Come saprete bene, il pacchetto di installazione va a verificare se esistono versioni del Reader superiori già installate e, in caso affermativo, non procede con l'installazione.

    In tal caso, la mia routine funzionerà lo stesso con acropdf.dll alla versione 8, 9 o successivi?

    Se non è così, l'affare si ingrossa, come si dice dalle mie parti...

    Attendo numi.

    Grazie
    Nino

    Aggiornamento: usando la stessa versione del file Acropdf.dll che avevo inserito come componente del mio progetto, e quindi sovrascrivendo quella originale, la routine funziona.
    Rimane pur sempre la mia domanda sulla retrocompatibilità, ossia sul fatto che versioni superiori di Acropdf.dll non diano problemi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.