Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: SilverLycan68 en 29 Octubre 2018, 22:14 pm



Título: Cargar PDF a AxAcroPDF
Publicado por: SilverLycan68 en 29 Octubre 2018, 22:14 pm
Tengo un problema para cargar un archivo PDF a VB 15 en el control AxAcroPDF.
Al usar el codigo de abajo soo aparece Inicializando sobre el control AxAcroPDF y no termina de cargar el archivo(no lo muestra sobre el control).

Código:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim archivo As String = "C:\Users\Documents\WindowsApplication4\PDF"
AxAcroPDF1.UseWaitCursor = True
AxAcroPDF1.src = archivo
AxAcroPDF1.UseWaitCursor = False
End Sub

Al hacerlo de esta forma carga el archivo sin problemas
Código:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim abrir As New OpenFileDialog
Dim archivo As String = "C:\Users\Documents"
With abrir
.InitialDirectory = archivo
.Filter = "ALL|*.* | PDF|*.pdf"
.FilterIndex = 0
.RestoreDirectory = True
.Multiselect = False
.AddExtension = True
.CheckPathExists = True
If .ShowDialog = DialogResult.OK Then
AxAcroPDF1.UseWaitCursor = True
AxAcroPDF1.src = .FileName
AxAcroPDF1.UseWaitCursor = False
End If

End With

End Sub




 :huh: Podrian decir por que motivo pasa eso. :huh:


Título: Re: Cargar PDF a AxAcroPDF
Publicado por: Serapis en 30 Octubre 2018, 06:21 am
La línea:
Código
  1. Dim archivo As String = "C:\Users\Documents\WindowsApplication4\PDF"
...no apunta aun ficheor, si no a una carpeta...

En cambio en el código de la parte de abajo, haciendo uso de un control, OpenFileDialog, le indicas las extensiones para ficheros en la rutas que elijas o a la que saltes, es decir ahí si tomarás un fichero pdf... en el código primero, no.

Tienes que indicar un fichero existente, en la ruta...
Código
  1. Dim archivo As String = "C:\Users\Documents\WindowsApplication4\nombre de algún fichero existente.pdf"
Paraestar seguro puedes añadir a tu código la sigiente linea:

Código
  1. if io.fileexist(archivo) then
  2.  ' lo que tienes puesto para cargar
  3. else
  4.   messagebox.show("La ruta no apunta aun fichero existente" & vbvrlf & archivo)
  5. end if
  6.  


Título: Re: Cargar PDF a AxAcroPDF
Publicado por: SilverLycan68 en 30 Octubre 2018, 20:59 pm
 :huh: Y se podria poner el archivo el los recursos de la aplicacion? :huh:


Título: Re: Cargar PDF a AxAcroPDF
Publicado por: Eleкtro en 21 Noviembre 2018, 02:02 am
:huh: Y se podria poner el archivo el los recursos de la aplicacion? :huh:

Claro, poder se puede, pero los datos del archivo PDF se serializarían como elemento de cierto archivo XML, por lo que ya no tendrías un archivo físico como tal, sino los datos RAW, los bytes del archivo, vaya. Dicho de otra forma, tú lo puedes añadir como recurso embedido, pero de todos modos luego tendrías que crear el fichero local para leerlo, leyendo los bytes del recurso y escribiéndolos en un stream físico. Eso es así, siempre y cuando el control "AxAcroPDF" (que por lo que entiendo, es un control ActiveX de Adobe Acrobat PDF Reader) no tenga soporte para la lectura de un array de bytes, en cuyo caso podrías pasarle los bytes del recurso y listo, sin crear ningún archivo local intermediario.

Saludos.