WinCC Unified IPC Firefox-PrintScreen

Supermario73

Level-2
Beiträge
127
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum
Wir haben auf einem IPC Firefox im Kiosk mode laufen. Nun sollten wir aus dem Unified Runtime eine Funktion PrintScreen haben. Dieses Scribt funktioniert im Edge aber nicht im Firefox

Javascript:
export function btnHome_3_OnDown(item, x, y, modifiers, trigger) {
Screen.Items('Toolbox_2').takeScreenshot();
}

Hat jemand eine Idee wie der PrintScreen im Firefox ausgeführt werden kann.
Besten Dank für Eure Hilfe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab mal ChatGPT gefragt.
Mit der Bibliothek html2canvas geht das.

Falls du das verwendest, musst du html2canvas.min.js herunterladen und lokal über den Webserver der Steuerung anbieten. Ansonsten funktioniert das nur, wenn man mit dem PC online ist.

HTML:
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Screenshot Beispiel</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
</head>
<body>

  <h1>Hallo Welt</h1>
  <p>Das ist ein Test für einen Screenshot vom Body.</p>

  <button onclick="makeScreenshot()">Screenshot machen</button>

  <script>
    function makeScreenshot() {
      html2canvas(document.body).then(function(canvas) {
        // Screenshot als Bild anzeigen
        document.body.appendChild(canvas);

        // Optional: Download automatisch starten
        let link = document.createElement('a');
        link.download = 'screenshot.png';
        link.href = canvas.toDataURL();
        link.click();
      });
    }
  </script>

</body>
</html>
 
Hast du chatgpt nur gefragt oder auch selbst getestet?

Keine Sorge, Code ist unter Arch Linux mit dem Firefox getestet worden.
Anstatt mir die Frage zu stellen, ob ich das getestet habe, hättest du die Zeit nutzen können, um herauszufinden, was html2canvas ist.

Meine Recherche hat ergeben, dass es keine einheitliche JavaScript-API für Screenshots in Browsern gibt.
Aus diesem Grund ist es einfacher, eine funktionierende Bibliothek zu verwenden, die die Unterschiede der einzelnen Browser berücksichtigt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Alternativlösung:
Die meisten web-HMIs setzen auf die Chromium Engine. Da Firefox auf eine andere Engine setzt, ist die Frage, muß man für das HMI Firefox verwenden oder kann man nicht Chrome oder Edge stattdessen benutzen?

Und ja, wenn man Firefox verwenden will/muß, muß man an der ein oder anderen Stelle andere Wege gehen, als die Entwicklungsumgebungen anbieten. Auch meine Recherche hat ergeben, daß die html2canvas Bibliothek wohl ein gangbarer Weg sein soll, wenn man auf dem PC keine Zusatzsoftware installieren möchte und nicht in PDF drucken möchte.
 
Keine Sorge, Code ist unter Arch Linux mit dem Firefox getestet worden.
Anstatt mir die Frage zu stellen, ob ich das getestet habe, hättest du die Zeit nutzen können, um herauszufinden, was html2canvas ist.
Keine Sorge, das weiß ich. Und bevor du fragst, ja ich habe das auch schon in einem WebHMI eingesetzt. Allerdings gab es Probleme beim rendern bei verschiedenen Controls.

Kann es sein, dass du dich von meiner Frage persönlich angegriffen fühlst oder reagierst du generell so patzig? 🙄
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann es sein, dass du dich von meiner Frage persönlich angegriffen fühlst oder reagierst du generell so patzig? 🙄

Nein, ist es ist einfach nur ein Hinweis darauf gewesen, die Zeit effizienter zu nutzen.
Du hättest ja nicht gefragt, wenn es dich nicht interessiert hätte.
 
Zurück
Oben