Newsgroup: it.comp.lang.visual-basic
Titolo: Leggere pdf

Domanda da 1 milione di dollari.
Posso leggere un pdf e visualizzarlo in una picturebox senza dover
acquistare componenti?????
Grazie in anticipo per l'aiuto
Andrea

 acquistare componenti?????
Fino alla versione 6 di Adobe Acrobat Reader, potevi (puoi) utilizzare il 
NON-documentato pdf.ocx (se cerci in Rete, trovi vari esempi).
Dalla versione 7, tale ocx non viene più distribuito in quanto è stato 
sostituito da un'altra libreria, questa si documentata...
(dal forum Adobe)
"PDF.OCX is not a developer tool. Not supported, documented or intended 
for development. And liable to be removed without notice. And so it was. 
This happened, with Acrobat 7.
The Acrobat 7 SDK now documents, for the first time, something that 
developers can use for this purpose, even with Reader"
http://partners.adobe.com/public/developer/acrobat/sdk/index.html
Ciao!
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca

 ha scritto nel messaggio 
news:d5okfc$sv2$1...@area.cu.mi.it...


 
http://partners.adobe.com/public/developer/acrobat/sdk/index.html
Insomma, ora Adobe vuole 99$ x il SDK, senno'... ciccia. ;-)
Capisco bene?
    Alex

 Capisco bene?
...a quanto pare, direi di si ;)



Io non riesco a scaricare FDF Toolkit per compilare un modello pdf in
automatico dal mio programma in vb6.
Con la versione di acrobat 7.0 non funziona piu' il componente che avevo
scaricato in precedenza.

Riciao!
Ho un programma, scritto in VB6, che sfrutta il pdf.ocx in un form x
visualizzare i files pdf creati dal programma e, prima di scaricare il SDK,
ho provato a vedere se era possibile farlo funzionare anche con l'Acrobat 7
utilizzando l'AcroPDF.dll.
Ho creato una dll (contiene una classe ed un form) per fare da
visualizzatore pdf con l'Acrobat 7; ho importato AcroPDF.dll come componente
nel form, quindi da codice lo utilizzo come se fosse il componente
precedente (pdf.ocx) utilizzando il metodo "LoadFile" (proprieta' e metodi
mi paiono esattamente gli stessi del pdf.ocx) x caricare il file pdf.
La dll cosi' ottenuta la importo nel mio programma che visualizzava i pdf
usando il pdf.ocx e gestisco l'elaborazione in questo modo: all'interno di
una procedura cerco di aprire il vecchio form che utilizzava pdf.ocx (x le
versioni fino alla 5, mi pare); se ottengo un errore, tento l'apertura
utilizzando la dll che usa l'AcroPDF.dll (versione 7); se va in errore di
nuovo, mi arrendo e restituisco un messaggio di errore.
Ora, al primo tentativo, la cosa sembra funzionare perfettamente senza
problemi, esattamente come x il pdf.ocx, xcio' registro la mia dll e copio
l'eseguibile su 2 pc, uno con Acrobat 5 e l'altro (quello che ho usato x
sviluppare la dll) con Acrobat 7; su entrambi il programma funziona e il
file pdf viene visualizzato all'interno del mio form utilizzando la versione
di Acrobat installata.
Provato, xo', su un altro pc (che, a dire il vero, ha installate sia la
versione 7 sia la 5), lo stesso programma non funziona e, dopo un
consistente tempo di attesa, ottengo un errore: "Could not find Acrobat
External Window Handler".
Altro problema riscontrato: una volta compilata e salvata la mia dll che
utilizza il componente AcroPDF.dll e uscito dal progetto, se provo a
rientrare nel progetto e riaprire il form contenuto nella dll, il componente
AcroPDF.dll che avevo importato nel form non c'e' + (ottengo un messaggio di
errore che mi informa del fatto che non e' possibile caricare il controllo
AcroPDF1) e, x far tornare funzionante la dll, devo importarlo nuovamente.
Cercando su Google e su vari forum italiani e di altre nazionalita', vedo
che altri hanno incontrato le stesse difficolta', ma non ho trovato
risposte, soluzioni in merito.
Domande: cio' che cerco di fare e' possibile (come lo era con il pdf.ocx) o
mi sto arrampicando inutilmente sugli specchi? Comporta problemi di licenza?
Nella guida agli esempi del SDK vedo solo esempi .NET. Ora, capisco che
lavorando ancora in VB6 sono un po' un dinosauro ;-), ma... cio' puo'
significare anche che con VB6 potrei avere problemi?
Spero di essere stato sufficientemente chiaro.
Grazissime! ;-)
    Alex

Aggiungo solo due cose:
*) il motivo x cui mi interessa che il mio programma possa visualizzare i
files pdf sia su pc che abbiano installato l'Acrobat Reader 5 sia su quelli
che hanno la versione 7 e' il fatto che il mio programma deve poter essere
eseguito anche sui pc 98 (ce ne sono ancora), sui quali puo' essere
installata solo la versione 5 di Acrobat Reader;
*) dopo un primo sguardo al sito Adobe e alcune prove effettuate (descritte,
pur malamente ;-) , nel mio post precedente) non mi e' del tutto chiaro se
con i 99$ richiesti x il SDK io acquisto, oltre alla documentazione ed agli
strumenti (assolutamente necessari???) x lo sviluppo, anche una licenza x
l'utilizzo dei componenti di Acrobat attraverso il mio programma; qualcuno
ne ha idea?
Ciao!
    Alex

Alexx wrote:

Beh, dato che hanno un ottimo forum di supporto, l'ideale sarebbe provare 
a chiedere direttamente li...
Ciao!


 idea?
Credo di no. Se ti serve il solo Reader dovrebbe bastare segnalarlo
come prerequisito della tua app. Per l'uso dei componenti di Acrobat
ovviamente devi avere Acrobat, quindi...
Comunque leggiti questo, cerca "Licensing and distribution":
http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/intro_to_sdk/DeveloperFAQ.pdf
Bye, G.

 usare un riferimento alla .dll.
Mi sarebbe piaciuto avere un solo programma x semplicita' di manutenzione e 
distribuzione. Un'altra possibile soluzione sarebbe quella di sfruttare il 
collegamento delle estensioni (pdf) con l'applicazione corrispondente 
(Acrobat reader) e utilizzare l'API ShellExecute, ma mi faceva parecchio 
comodo la possibilita' di gestire il flusso del programma attendendo la 
chiusura della visualizzazione del file pdf.
Ancora grazissime! :-)
    Alex

Dimenticavo: nell'utilizzo del componente AcroPDF.dll, persiste un problema 
che avevo gia' accennato: importato il componente AcroPDF nel progetto e 
"disegnato" sul form, scritto il codice, salvato il progetto, compilato, 
chiuso il progetto, se riapro il progetto, non trovo + il componente AcroPDF 
precedentemente importato e devo importarlo nuovamente.
Riciao!
    Alex