Wie für die Anzeige von PDF im web-browser-Steuerelement anstelle des Acrobat Reader öffnen

ich bin mit dem Acrobat Reader 11.0.3 und Fenster 7, Visual studio 2012 und bereits aktiviert Acrobat Reader Verwalten Addon

und Folgen WPF webbrowser öffnet PDF-Datei in Adobe reader-Fenster

immer noch Fehler nach dem Versuch zwei Methoden

Navigation zu der Webseite wurde abgebrochen
auch wenn Sie sich mit administrator-Konto zu öffnen WPF-Programm

private void CheckAndFixWebBrowserRenderingEngine()
        {
            RegistryKey baseRegistryKey = Registry.LocalMachine;
            string renderingEngineSubKeyString = @"SOFTWARE";

            //64bit operationg systems have another registry path
            if (Environment.Is64BitOperatingSystem)
            {
                renderingEngineSubKeyString += @"\Wow6432Node";
            }

            renderingEngineSubKeyString += @"\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION";

            //var assemblyValueKey = System.IO.Path.GetFileName(App.ResourceAssembly.Location);
            var assemblyValueKey = System.IO.Path.GetFileName(System.Windows.Application.ResourceAssembly.Location);

            var renderingEngingeValue = 9999; //check other values below

            try
            {
                RegistryKey sk1 = baseRegistryKey.CreateSubKey(renderingEngineSubKeyString);

                var value = sk1.GetValue(assemblyValueKey);
                if (value == null || value.ToString() != renderingEngingeValue.ToString())
                {
                    sk1.SetValue(assemblyValueKey, renderingEngingeValue);

                    //LogHandler.Instance.Add(string.Format("Did update webbrowser rendering engine from {0} to 9000.", value == null ? "[missing]" : value));
                }
            }
            catch (Exception ex)
            {
                //LogHandler.Instance.Add("Could not check webbrowser rendering engine in registry.");
                //LogHandler.Instance.Add(ex.ToString(), Logging.LoggingPriorities.Exception);
            }

            /*
            9999 (0x270F) 
            Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.

            9000 (0x2328) 
            Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.

            8888 (0x22B8) 
            Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.

            8000 (0x1F40) 
            Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.

            7000 (0x1B58) 
            Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
            */
        }

        public ReportForm()
        {
            this.formID = "Test Report";
            //base.Initialization();
            InitializeComponent();
            CheckAndFixWebBrowserRenderingEngine();

            String PDFPath = @"C:\Users\LAB-User2\Downloads\Elimination_Methods_in_Polynomial_Computer_Alge(Bookos.org).pdf";
            WebBro1.Navigate("file:///" + PDFPath);

Methode 2

ich habe auch versucht, eine andere Methode, die Sie auf Verweis hinzufügen, windowformintegration und UserControl verwenden von Windows forms-und es funktioniert nur in eine eigenständige WPF-kleines Projekt
wenn die Integration dieser in meinem großen Projekt, es hat oben genannten Fehler

String PDFPath = @"C:\Users\LAB-User2\Downloads\Elimination_Methods_in_Polynomial_Computer_Alge(Bookos.org).pdf";
            //WebBro1.Navigate("file:///" + PDFPath);
            webBrowser1.Navigate("file:///" + PDFPath);

private System.Windows.Forms.WebBrowser webBrowser1;
<WindowsFormsHost Margin="1" x:Name="windowsFormsHost1" Height="600" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="1000"/>

var uc = new UserControl1();
            this.windowsFormsHost1.Child = uc;


application.UI.CreateNewForm("Test Report", new Client.Reporting.Pages2.ClientStatement.ReportForm());

public partial class ReportForm : BaseForm

public void CreateNewForm(string title, BaseForm form)
    mw.CreateNewForm(title, form);


public class BaseMainWindow : MetroWindow
    {
        public virtual void CreateNewForm(string title, BaseForm form)
        {

        }

update: es Fragen zu ermöglichen, Inhalte blockieren und grauen Bildschirm in internet explorer in html-Datei integrieren, bevor in big-Projekt

<html>
<body>

<object
  classid="clsid:ca8a9780-280d-11cf-a24d-444553540000" id="pdf1" 
  type="application/pdf"
  data="C:\Users\LAB-User2\Downloads\Elimination_Methods_in_Polynomial_Computer_Alge(Bookos.org).pdf"
  style="width: 100%; height: 100%">

<param name="src" "value="C:\Users\LAB-User2\Downloads\Elimination_Methods_in_Polynomial_Computer_Alge(Bookos.org).pdf"></param>

</object>

</body>
</html>

Wie für die Anzeige von PDF im web-browser-Steuerelement anstelle des Acrobat Reader öffnen

update: beim ausführen von code im großen WPF-Projekt, zeigt es ein rotes Kreuz
Wie für die Anzeige von PDF im web-browser-Steuerelement anstelle des Acrobat Reader öffnen

update : nach der Aktualisierung von html funktioniert es in der unabhängigen html-Datei, jedoch integriert im WPF großes Projekt, es versäumt zu zeigen, und zeigen nur ein rotes Kreuz

String temphtml = "<!-- saved from url=(0016)http://localhost --><body style=\"border: 0; margin: 0; padding: 0\"><object classid=\"clsid:ca8a9780-280d-11cf-a24d-444553540000\" id=\"pdf1\"  type=\"application/pdf\" data=\"02_LAB_LeaveApplication.pdf\" style=\"width: 100%; height: 100%; border: 0; margin: 0; padding: 0\"></object><script>window.onload = function(){ window.focus();pdf1.setActive(); }</script></body>";
            System.IO.File.WriteAllText(@"C:\Users\LAB-User2\Desktop\vpfs-ivpfs-client\iVPFS_Client\Application\bin\Debug\a.html", temphtml);            
            this.WebBro1.Navigate(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "a.html"));

aktualisieren, wenn das Projekt ausgeführt wird, heruntergeladen aus dem codeproject, zeigt es eine Fehlermeldung, und dann kann pdf anzeigen und haben ein paar mal leer, wenn öffnen, dann kopiere ich die codes und die Bibliothek zu einem kleinen WPF-Projekt und ausgeführt, es habe auch Fehler kommen heraus und zeigen nur eine weiße leere https://docs.google.com/file/d/0Bxs_ao6uuBDUeV8yREVBOExSbW8/edit?usp=sharing

hast du herausgefunden, während es nicht funktioniert, in deinem großen Projekt? Ich habe genau das gleiche Problem. Ich habe ein (Schwarzes) Kreuz in meinem richtigen Projekt, aber in einer Prototyp-Anwendung, funktioniert es Prima.

InformationsquelleAutor ControlPoly | 2013-08-05

Schreibe einen Kommentar