frankx: automatisches Ausdrucken

Hellihello

ist bzw. wie ist es denn möglich, u.U. mit Einbindung von PHP Dokumente (HTML) automatisch zu Ausdrucken zu bewegen, im Sinne von (druckmal alle markierten Elemente als HTML-Seite aus), möglichst ohne weitere Rückfragen. window.print() ist halt bei mehreren Seiten dann doch lästig, das immer wieder zu bestätigen und die Seitenzahl anzupassen. Mit fehlt ein Ansatz komplett. PHP bietet zwar die Möglichkeit, den Drucker anzusprechen, aber scheints doch auf sehr grundlegender Basis.

Dank und Gruß,

frankx

  1. Hi,

    ist bzw. wie ist es denn möglich, u.U. mit Einbindung von PHP Dokumente (HTML) automatisch zu Ausdrucken zu bewegen, im Sinne von (druckmal alle markierten Elemente als HTML-Seite aus), möglichst ohne weitere Rückfragen.

    nein.

    Harry!

    1. Hallo Harry,

      so gesehen hast Du bestimmt recht, aber es kann doch nicht sein, dass mensch einen Computer nicht irgendwie zum automatischen Ausdrucken bewegen kann.

      Frankx

      1. Hi,

        schau mal bei ActiveX nach, ich weiß nicht, vielleicht schaffst du es damit, oder ein JavaApplet vielleicht? Wobei ich glaube, das dürfte dank Sandbox ähnlich machtlos sein wie JavaScript. Kann höchstens sein, dass man dem per Zertifikat o.ö. die entsprechenden Rechte verpassen kann.

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
      2. Hallo

        so gesehen hast Du bestimmt recht, aber es kann doch nicht sein, dass mensch einen Computer nicht irgendwie zum automatischen Ausdrucken bewegen kann.

        Ich würd' mich dagegen verwahren, dass jemand anderes als ich meinen Computer zum Ausdruck von irgendwas bewegt.

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        Veranstaltungsdatenbank Vdb 0.1
  2. Hallo

    ist bzw. wie ist es denn möglich, u.U. mit Einbindung von PHP Dokumente (HTML) automatisch zu Ausdrucken zu bewegen,

    Wie dir die reinkarnation von W. H. schon schrieb: nein.

    Mache dir bewusst, wo ein PHP-Skript (klassischerweise) ausgeführt wird. Richtig: es ist der Webserver, auf dem die Webseiten liegen.

    Wenn du mit deinem Browser eine dieser Seiten aufrufst, wird sie an deinen Rechner übermittelt, wo sie dann der Browser darstellt. Ist (in) diese(r) Seite ein PHP-Skript, wird dieses _auf_dem_Webserver_ ausgeführt. Eventuell verändert das Skript die Inhalte der Seite. Was dabei herauskommt ist aber HTML (sollte es zumindest sein). Und erst das Ergebnis wird _nach_ der Abarbeitung des Skripts (logisch, es wäre sonst nicht 'das Ergebnis') an deinen Rechner und somit an deinen Browser ausgeliefert.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1
    1. Hellihello

      es ist _nicht_  fürs Internet ist. Ich möchte meine eigenen Dokumente auf meinem Rechner und meinem Drucker automatisch ausdrucken.

      Ich will es auch garnicht im Browser anzeigen. PHP bietet ja eine Schnittstelle für Andwendungen, mit shell_execute. Daran dachte. Eine Drucker findet PHP ja schließlich nur in seiner Umgebung. Davon, dass es auf dem Webserver (;-) ausgedruckt würde, hätte ich ja nicht allzuviel.

      gruß,

      Frankx

      1. Hi,

        und wie weit bist du bereit dafür zu gehen? Muss es ein Browser sein? Ich mein, man kann sich auch mit ein paar Handgriffen eine VB-Windows-Anwendung zusammenbasteln, die kann dann auch drucken...

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
        1. Hellihello Rouven,

          dank für einen ersten Ansatz. Auf Browser komme ich nur, weil ich fragliche Dokumente erstmal im HTML-Format vorliegen habe. Auf die Variablen kann ich zB. mit PHP zugreifen.

          Vom Prinzip her dachte ich, sowenig proprietär wie geht. Aber unter Windows gehts natürlich nur mit Windows. Ein wenig hab ich via hta und JScript zB. mit :

            
          function testFunction () {  
           wshShell = new ActiveXObject("WScript.Shell");  
           wshShell.Run("firefox.exe");  
          }  
          
          

          lässt immerhin schon mal das Ausführen von Kommandozeilenbefehlen zu.

          Hättes Du denn noch ein paar Stichworte für ein VB-Anwendung?

          Dank
          frankx

          1. Hi,

            schau dich mal im VB-Archiv um, insbesondere bei
            Kategorie Drucker und sowas tollem wie HTML-Seite aus dem WebBrowser-Control drucken.

            MfG
            Rouven

            --
            -------------------
            ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
            1. Hellihello Rouven,

              hat ein Weilchen gedauert, bis ich rausbekommen habe, was Webbrowser1 für ein Objekt ist, und dass WScript.Sleep nicht geht bzw. WScript überhaupt nicht (s.u.) in meiner .hta, dafür aber so, wenns wen interessiert:

              Datei in Windows test.hta, darin

                
              Public Sub drucken()  
              Dim IExplorer : Set IExplorer = CreateObject ("InternetExplorer.Application")  
              ' geht nicht: Dim WshShell : Set WshShell = WScript.CreateObject("WScript.Shell")  
              Dim WshShell : Set WshShell = CreateObject("WScript.Shell")  
                
              IExplorer.Navigate "http://adresse.irgendwo"  
              IExplorer.Visible = True  
                
              Do While IExplorer.ReadyState <> 4  
                ' Warten bis der IE die Site komplett geladen hat  
              Loop  
              Const OLECMDID_PRINT = 6  
              Const OLECMDEXECOPT_DONTPROMPTUSER = 2  
                
                
              'klappte nicht ... WScript.Sleep 5000  
              ' hier egal, aber auch schön: WshShell.Sendkeys("Hund{ENTER}")  
                
              IExplorer.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER  
                
              ' finished, so clean up and go home...  
              'IExplorer.Quit  
              End Sub  
              
              

              und das ganze kann dann mit button über onclick aufgerufen werden, weil hta ja html kann.

              Vielleicht hat ja noch jemand einen Tipp zum WScript (WScript.Sleep) dass nicht ging und die Frage, wie sich die Seitenanzahl variieren ließe.

              Dank
              frankx

              1. Hellihello

                und das ganze auch via JScript oder Javascript läuft dann auch im IE mit dem Sicherheitshinweis aufs ActiveXObject:

                  
                function druckenMitJs1() {  
                IExplorer = new ActiveXObject("InternetExplorer.Application");  
                WshShell = new ActiveXObject("WScript.Shell");  
                  
                IExplorer.Navigate("file:///test.htm");  
                IExplorer.Visible = true;  
                  
                //Do While IExplorer.ReadyState <> 4  
                // ' Warten bis der IE die Site komplett geladen hat  
                //Loop - keine Ahnung wie das dann geht  
                  
                var OLECMDID_PRINT = 6;  
                var OLECMDEXECOPT_DONTPROMPTUSER = 2;  
                var PRINT_WAITFORCOMPLETION = 2;  
                var OLECMDEXECOPT_PROMPTUSER = 1;  
                }  
                  
                
                

                frankx

      2. Hallo

        Ich möchte meine eigenen Dokumente auf meinem Rechner und meinem Drucker automatisch ausdrucken.

        Achso, das ist natürlich was anderes.

        Davon, dass es auf dem Webserver (;-) ausgedruckt würde, hätte ich ja nicht allzuviel.

        Nun ja, du könntest dem Dokument immer einen Briefkopf und die Bitte um postalische Zusendung beifügen. Dabei die selbstgemalte Briefmarke nicht vergessen und diese immer schön per CSS in der rechten oberen Ecke positionieren! ;-)))

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        Veranstaltungsdatenbank Vdb 0.1
        1. Hi,

          Nun ja, du könntest dem Dokument immer einen Briefkopf und die Bitte um postalische Zusendung beifügen. Dabei die selbstgemalte Briefmarke nicht vergessen und diese immer schön per CSS in der rechten oberen Ecke positionieren! ;-)))

          Da sich StampIt ja zumindest über VB(A) ansprechen lässt, müsste das auf einem Windowsrechner ja auch über PHP gehen. Damit kann man dann die "Briefmarke" direkt neben der Adresse platzieren. Rechts oben  *auf dem Briefbogen* ist sie nämlich nicht sehr sichbar und sinnvoll.

          ;-)

          Margin-Auto

          1. Hellihello Margin-Auto,

            Da sich StampIt ja zumindest über VB(A) ansprechen lässt, müsste das auf einem Windowsrechner ja auch über PHP gehen.

            via shell_exec

            Damit kann man dann die "Briefmarke" direkt neben der Adresse platzieren. Rechts oben  *auf dem Briefbogen* ist sie nämlich nicht sehr sichbar und sinnvoll.

            ;-)

            Ach, es hat schon was feines, sich Ausdrucke im Rechenzentrum abzuholen.

            Gibts in Linux (und OSX) eigentlich ein äquivalent zu VBS (=mach (hauseigenen) Browser auf, lade Seite, drucke aus, mach wieder zu)?

            frankx

            1. Tach,

              Gibts in Linux (und OSX) eigentlich ein äquivalent zu VBS (=mach (hauseigenen) Browser auf, lade Seite, drucke aus, mach wieder zu)?

              lpr < html2ps < wget -q -O - http://forum.de.selfhtml.org/

              mfg
              Woodfighter