Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error al abrir PDF con WebBrowser: El archivo no empieza por '%PDF-' (https://www.clubdelphi.com/foros/showthread.php?t=87133)

osmeg 19-11-2014 05:12:13

Error al abrir PDF con WebBrowser: El archivo no empieza por '%PDF-'
 
Buenas noches, Saludos a todos

Estoy empezando a programar en Delphi y uno de los primeros programas que me interesa realizar consiste en abrir un pdf cualquiera desde una aplicación en Delphi. He leído algunos hilos muy interesantes con relación a esto y he intentado utilizar el componente WebBrowser tal como lo sugieren allí, pero no he tenido éxito.

Me aparece el siguiente error al intentar abrir un archivo pdf para ser mostrado en el WebBrowser: El archivo no empieza por '%PDF-'.

Me he basado en el código facilitado por nlsgarcia en uno de los hilos consultados:

Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);    
var      
openDialog : TOpenDialog;     
begin        
openDialog := TOpenDialog.Create(self);        
openDialog.InitialDir := GetCurrentDir;        
openDialog.Options := [ofFileMustExist];        
openDialog.Filter := 'PDF files|*.pdf';        
openDialog.FilterIndex := 1;        
if openDialog.Execute then       
begin          
WebBrowser1.Silent := True;           
WebBrowser1.Navigate('file://' + openDialog.FileName + '#toolbar=0&navpanes=0&scrollbar=1');    
end;     
end;

Estoy utilizando la version de DELPHI XE2 en Windows 7 32 bits. No sé si el problema se deba a una mala instalación del componente TWebBrowser. Quizá a alguien le haya ocurrido ese error con anterioridad y me pueda colaborar. Por lo menos en el foro no he encontrado alguna referencia a ese problema.

Agradezco de antemano su colaboración.

nlsgarcia 19-11-2014 06:31:48

osmeg,

Cita:

Empezado por osmeg
...Estoy empezando a programar en Delphi y uno de los primeros programas que me interesa realizar consiste en abrir un pdf...

:rolleyes:

¡Bienvenido al Club Delphi! :) ^\||/

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Load PDF Files
procedure TForm1.Button1Click(Sender: TObject);
var
   openDialog : TOpenDialog;
begin
   openDialog := TOpenDialog.Create(self);
   openDialog.InitialDir := GetCurrentDir;
   openDialog.Options := [ofFileMustExist];
   openDialog.Filter := 'PDF files|*.pdf';
   openDialog.FilterIndex := 1;
   if openDialog.Execute then
   begin
      WebBrowser1.Silent := True;
      WebBrowser1.Navigate('file://' + openDialog.FileName + '#toolbar=0&navpanes=0&scrollbar=1');
   end;
end;

// UnLoad PDF Files
procedure TForm1.Button2Click(Sender: TObject);
begin
   WebBrowser1.Stop;
end;

end.
El código anterior en Delphi XE6 bajo Windows 7 Professional x32, permite visualizar un documento PDF por medio del componente TWebBrowser, como se muestra en la siguiente imagen:



Te comento:

1- El código anterior funciona según lo esperado en Delphi 7, Delphi 2010 y Delphi XE6, asumo que debe funcionar en Delphi XE2.

2- Te sugiero probar el código propuesto, para ver si el error descrito en el Msg #1 persiste.

3- En caso de que haya algún problema con la instalación, puedes reinstalar Delphi XE2 por medio de la opción Repair.

Revisa esta información:
Espero sea útil :)

Nelson.

orodriguezca 20-11-2014 23:02:22

Esto más que un problema del TWEBBrowser parece ser un problema de Acrobat/Adobe reader. Finalmente IExplorer utiliza un plugin de Adobe para visualizar los PDFs. Yo reintalaría Adobe Reader.

osmeg 22-11-2014 22:34:05

Cita:

Empezado por orodriguezca (Mensaje 485185)
Esto más que un problema del TWEBBrowser parece ser un problema de Acrobat/Adobe reader. Finalmente IExplorer utiliza un plugin de Adobe para visualizar los PDFs. Yo reintalaría Adobe Reader.

Como indica orodriguezca parece ser un problema de Adobe Reader. Lo reinstale a la versión mas reciente y funciona perfectamente.Funciona también con Sumatra PDF. Excelente alternativa.

Muchas gracias nlsgarcia y orodriguezca por su ayuda ^\||/


La franja horaria es GMT +2. Ahora son las 11:23:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi