Laden...

PDF auf 2 verschiedenen Monitoren öffnen

Erstellt von zero4788 vor einem Jahr Letzter Beitrag vor einem Jahr 452 Views
Z
zero4788 Themenstarter:in
2 Beiträge seit 2023
vor einem Jahr
PDF auf 2 verschiedenen Monitoren öffnen

Hallo Zusammen

Ich habe eine Applikation bei der ich ein PDF File auf 2 Monitoren ausgeben muss. Nun ist die Frage kann ich den Process 2x starten ? Oder gibt es eine schönere Alternative.

Mein Code Aktuell:


public void LoadDocument(string path)
{
            System.Diagnostics.Process PDF = new System.Diagnostics.Process();
            PDF.StartInfo.FileName = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Application.ExecutablePath), path);
            PDF.Start();
}

Acrobat Reader öffnet sich wunderbar auf den 1. Monitor.
Nun benötige ich das noch für den 2. Monitor.
Vielen Dank

2.080 Beiträge seit 2012
vor einem Jahr

Das öffnet das Standard-Programm, in meinem Fall wäre das mein Browser inklusive offener Tabs.
Natürlich kannst Du einen Prozess auch einfach zwei Mal starten, aber es kann auch sein, dass das Programm das verhindert, Browser und der Adobe Reader haben da besonderes handling, das musst Du austesten. Wenn die dir da einen Strich durch die Rechnung machen, hast Du jedenfalls keine Chance.

Aber Du kannst das Fenster positionieren, allerdings geht das nur über die WinAPI.
Du brauchst das WindowHandle (der Prozess kann aber auch mehrere Fenster haben), dann kannst Du mit EnumDisplayMonitors die Monitore abrufen, mit GetMonitorInfo Details über den Monitor abrufen und mit SetWindowPos das Window positionieren.

Oder Du schaust dich nach einem PDF-Control um und erstellst die Fenster selber, dann hast Du mehr Möglichkeiten und kannst auch beliebig viele Fenster öffnen.
Empfehlen kann ich dazu aber nichts.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

Z
zero4788 Themenstarter:in
2 Beiträge seit 2023
vor einem Jahr

Gibt es ein PDF-Control das Free ist und einigermaßen gut aussieht ? 🙂
Die Standard-APP ist der Acrobat Reader.
2x Prozess aufrufen funktioniert leider nicht.

2.080 Beiträge seit 2012
vor einem Jahr

Gibt es ein PDF-Control das Free ist und einigermaßen gut aussieht ?

Befrag eine Suchmaschine deiner Wahl nach "c# pdf viewer", ich kenne nichts.

2x Prozess aufrufen funktioniert leider nicht.

Dann macht dir wohl der Adobe Reader einen Strich durch die Rechnung, ich schätze mal, er möchte die PDF im selben Fenster öffnen, stellt fest, dass es die selbe Datei ist und öffnet einfach nur den bereits offenen Tab.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

G
154 Beiträge seit 2015
vor einem Jahr

Befrag eine Suchmaschine deiner Wahl nach "c# pdf viewer", ich kenne nichts.

WebView2 (oder ein anderes Browser Control) sollte das doch können.

2.080 Beiträge seit 2012
vor einem Jahr

Guter Gedanke

Bei WebView2 muss die Engine installiert sein, aber das dürfte zumindest auf den Privat-Rechnern überall der Fall sein, schätze ich.
Das Browser Control ist natürlich deutlich überdimensioniert für das Ziel, aber sollte funktionieren.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.