Question

Je tente actuellement d'imprimer un document de WPF. J'utilise le navigateur Web, car il contient un contrôle actif de x qui a le plugin autodesk que je dois voir le document.

Je suis conscient que WPF ne supporte pas directement navigateur Web, mais je viens intégrée Windows Forms bibliothèque pour cela. J'ai réussi à obtenir le fonctionnement de code et même l'impression, mais le document qui imprime est vide.

Je ne sais pas si cela pourrait être un conflit entre la bibliothèque Windows Forms et WPF; Je navigation sur le document et l'impression d'une seule fois qu'il est chargé sans erreur jetés.

Voici le code que je utilise:

    private void btnPrint_Click(object sender, RoutedEventArgs e)
    {
        System.Windows.Forms.WebBrowser w = new System.Windows.Forms.WebBrowser();

        Uri uri = new Uri("C:\\BOS-BD-4518-000.dwg.dwf");
        w.Navigate(uri);

        w.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(w_DocumentCompleted);
    }

    void w_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
    {
        System.Windows.Forms.WebBrowser w = (System.Windows.Forms.WebBrowser)sender;

        w.Print();
    }

Un attelage possible pourrait être que le contrôle actif de x n'est pas autorisé à être charge, personne ne sait comment forcer le contrôle à initialisées.

Est-ce que quelqu'un a des idées sur la façon de résoudre ce ou une autre méthode d'impression d'un document autodesk (de .dwf)

Merci d'avance, SumGuy

Était-ce utile?

La solution

Pas vraiment une réponse de toutes sortes, mais une solution si quelqu'un ne veut en imprimer un fichier .dwf. Ne pas utiliser le nouveau formulaire .dwfx. C'est le nouveau type de fichier Autodesk commutent aussi, et est en fait une forme de XPS qui rend les choses assez facile. Vous pouvez le charger dans un navigateur Web sans avoir besoin x actif ou (ce qui est la meilleure façon) utiliser les bibliothèques XPS dans Visual Studio car il peut être chargé très simplement dans une visionneuse XPS.

Le code que finalement utilisé pour imprimer le fichier redoutée est ci-dessous:

private PrintQueue printQueue;

PrintDialog pDialog = new PrintDialog();
pDialog.PageRangeSelection = PageRangeSelection.AllPages;
pDialog.UserPageRangeEnabled = true;

if (pDialog.ShowDialog() == true)
    PrintSystemJobInfo xpsPrintJob = printQueue.AddJob(v.FileName, v.FilePath, false);

Comment est facile que ??? Il y a des tas d'autres façons de le faire en utilisant XPS. Vous pouvez essentiellement simplement utiliser le fichier DWFx en tant que document XPS

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top