Problem mit IHTMLDocument2

21/01/2010 - 21:25 von martina gerling | Report spam
Hallo,

ich habe ein Problem beim erzeugen einer Webseite. Ich versuche in
einer eigenden Komponente, eine PDF von meiner Festplatte anzuzeigen.
Das ganze führt jedoch zu keinem Resultat.

Hier mein Versuch:

public partial class CtrlPdf : WebBrowser
{
public CtrlPdf()
{
InitializeComponent();
this.ScrollBarsEnabled = false;
this.ScriptErrorsSuppressed = true;
}

public void StartPdf()
{
try
{
this.Navigate("about:blank");
mshtml.IHTMLDocument2 doc;
doc = this.Document.DomDocument as mshtml.IHTMLDocument2;
doc.clear();
doc.write("<html><head><title>Pdf</title></
head><body><object classid=\"clsid:CA8A9780-280D-11CF-
A24D-444553540000\" codetype=\"application/pdf\" id=\"Object1\" WIDTH\"784\" HEIGHT=\"592\" data=\"c:\\sample.pdf\" ></body></html>");
doc.close();

}
catch(Exception ex)
{}
}
}

Aufruf aus dem Formular:
Controls ctrls;

private void ZeigePdf()
{
try
{

ctrls = new CtrlPdf.CtrlPdf(powerpointpfad);
ctrls.Dock = System.Windows.Forms.DockStyle.Fill;
ctrls.Location = new System.Drawing.Point(0, 0);
ctrls.Name = "ctrls";

Controls.Add(ctrls);

((CtrlPdf.CtrlPdf)ctrls).StartPdf();

}
catch (Exception ex)
{

}
}

Gruss

Martina
 

Lesen sie die antworten

#1 Heiko Müller
22/01/2010 - 07:40 | Warnen spam
Hallo Martina,

Am 21.01.2010 21:25, schrieb martina gerling:
ich habe ein Problem beim erzeugen einer Webseite. Ich versuche in
einer eigenden Komponente, eine PDF von meiner Festplatte anzuzeigen.
Das ganze führt jedoch zu keinem Resultat.



Warum benutzt Du nicht einfach

myBrowser.Navigate(@"file://c:\meinpdf.pdf")

Gesetzt den Fall, dass ein entsprechendes Browserplugin installiert ist,
sollte das völlig ausreichen um das PDF anzuzeigen.

Alternativ könntest Du z.b. auch den Acrobat Reader direkt als Control
einbinden (Verwendung der COM-Komponente).

Gruß,

Heiko Müller

Ähnliche fragen