jmor: html Dateien Drucken (Command line)

Noch mal ein Konnadozeilen Problem .. :)

Ich hab verschiedene (einfache) html-dateien die ich per Kommandozeile auf unterschiedlichen Druckern ausgeben will (unter Windows).
Da brauch ich doch sicher ein Programm, welches mir die html Datei in ein Druckfähiges Foormat umwandelt vorher, oder?
kennt wer ein brauchbares Kommandozeilen Programm für Windows?

  1. gudn tach!

    Da brauch ich doch sicher ein Programm, welches mir die html Datei in ein Druckfähiges Foormat umwandelt vorher, oder?

    willst du den quelltext drucken oder das was ein bestimmter browser anzeigen wuerde? afaik sehen die ausgedruckten dokumente bei verschiedenen browsern auch verschieden aus. oder kommt's dir auf solche feinheiten nicht an?

    prost
    seth

    1. gudn tach!

      Da brauch ich doch sicher ein Programm, welches mir die html Datei in ein Druckfähiges Foormat umwandelt vorher, oder?

      willst du den quelltext drucken oder das was ein bestimmter browser anzeigen wuerde? afaik sehen die ausgedruckten dokumente bei verschiedenen browsern auch verschieden aus. oder kommt's dir auf solche feinheiten nicht an?

      prost
      seth

      Ich würd die html dann dementsprechend generieren. Sind paar Formulare  aus einer Applikation im Intranet die ich dann auch für den jeweiligen interpreter anpassen würde.

      Mit freundlichen Grüßen
      jmor

      1. gudn tach!

        Ich würd die html dann dementsprechend generieren. Sind paar Formulare  aus einer Applikation im Intranet die ich dann auch für den jeweiligen interpreter anpassen würde.

        hmm, ok, also wuerde dir vielleicht eine "umwandlung" von html nach z.b. ps helfen?

        html2ps gibt's naemlich und dann koenntest du bequem uebers cli drucken, z.b. mit

        html2ps htmlfile | lpr

        hilft das?

        prost
        seth

        1. Hi!

          html2ps gibt's naemlich und dann koenntest du bequem uebers cli drucken, z.b. mit

          html2ps htmlfile | lpr

          Allerdings nur unter der Vorraussetzung, daß man Perl und einen Postscript-Interpreter installiert hat.

          Während das auf so gut wie jedem Linux-System quasi zur Grundausstattung gehört, müßte beides unter Windows installiert werden.

          Perl könnte man z.B. hier bekommen: http://www.activestate.com/ActivePerl/.
          Damit kann man dann html2ps laufen lassen.

          Damit man aber die Posctscript-Dateien ausdrucken kann, braucht man ein weiteres Programm.
          Mit Hilfe des Adobe Acrobat bzw. Adobe Readers wäre das möglich. Allerdings weiß ich nicht, ob man diesen per Kommandozeile zum Drucken einer Postscript-Datei bewegen kann.
          Daher würde ich empfehlen, das kostenlose Ghostscript zu installieren.
          Damit kann man dann problemlos Postscript-Files ausdrucken.

          Um die Sache mit dem Drucken von HTML-Seiten dann zu vereinfachen, würde ich mir ein kleines Win-Script oder eine Batch-Datei schreiben, der man dann auf der Kommandozeile einen Dateinamen übergeben kann und die die Datei dann an die beiden Programme bzw. an den Drucker übergibt.
          Oder man erledigt das mit einer einzigen Zeile in der Eingabeaufforderung, indem man Piping nutzt...

          Schöner Gruß,
          rob

          1. Hab mir das mal angeguckt. Funktioniert auf meinem Rechner daheim, aber irgendwie fängt er bei jeder Tabelle neue Seite an. Muss ich wohl mal bissl die möglichen Parameter und HTML-Code testen.

            Aber generell mal danke.

        2. gudn tach!

          Ich würd die html dann dementsprechend generieren. Sind paar Formulare  aus einer Applikation im Intranet die ich dann auch für den jeweiligen interpreter anpassen würde.

          hmm, ok, also wuerde dir vielleicht eine "umwandlung" von html nach z.b. ps helfen?

          html2ps gibt's naemlich und dann koenntest du bequem uebers cli drucken, z.b. mit

          html2ps htmlfile | lpr

          hilft das?

          prost
          seth

          So, habs ausführlich getestet und mach einen brauchbaren Eindruck vorerst.
          Was ich aber einfach nicht hinbekomme: dass ich in einer .bat Datei das ganze von beliebiger Stelle aufrufe ... funktioniert bei mir nur in dem Ordner wo ich das html2ps-File installiert habe. Sonst findet ers nicht mit dem Aufruf 'perl html2ps a.html > a.ps'.
          Path hab ich gesetzt an sich. Oder braucht Perl noch ne hilfe um das Teil zu finden?

          mfg
          jmor

          1. gudn tach!

            Was ich aber einfach nicht hinbekomme: dass ich in einer .bat Datei das ganze von beliebiger Stelle aufrufe ... funktioniert bei mir nur in dem Ordner wo ich das html2ps-File installiert habe. Sonst findet ers nicht mit dem Aufruf 'perl html2ps a.html > a.ps'.
            Path hab ich gesetzt an sich. Oder braucht Perl noch ne hilfe um das Teil zu finden?

            da gibt's mehrere moeglichkeiten.
            1.
              perl voller_pfad\html2ps a.html > a.ps
            2.
              batchfile bla.bat mit
                perl voller_pfad\html2ps %*
              aufruf mit
                bla.bat a.html > a.ps
            3.
              ren html2ps html2ps.pl
              ftype PerlScript=perl.exe %*
              assoc .pl=PerlScript
              html2ps.pl a.html > a.ps
            4.
              ftype PerlScript=perl.exe %*
              assoc .pl=PerlScript
              set PATHEXT=.pl;%PATHEXT%
              html2ps a.html > a.ps

            mehr dazu: z.b. auf
            http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/library/ServerHelp/7bfee0d9-149a-4f5d-bb55-ec42274d552a.mspx?mfr=true (allem anschein nach nicht konqueror-kompatibel, denn die seite ruft sich bei mir rekursiv selbst in sub-frames auf, sieht zwar lustig aus, ist aber scheisse)
            oder z.b. auf http://support.activestate.com/forum-topic/problem-passing-arguments

            dort wird zwar oft "%1 %*" statt nur %* angegeben; hab aber keine ahnung, warum.

            prost
            seth

            1. Hiho ...

              Jetzt wird kompliziert :)
              Hat auf nem Testserver gut funktioniert und wollts jetzt auf dem richtigen Server installieren. Aber da scheint ne ältere Perl version von Oracle drauf zu sein und immer wenn ich das neu installierte Perl aufrufen will um html2ps zu installieren gibts ne Meldung:

              Perl lib version (v5.8.3) doesn't match executable version (v5.8.8) at D:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/Config.pm line 32.
              Compilation failed in require at D:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/File/Copy.pm line 15.
              BEGIN failed--compilation aborted at D:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/File/Copy.pm line 15.
              Compilation failed in require at install line 6.
              BEGIN failed--compilation aborted at install line 6.

              Da am Produktivserver was kaputt zu machen trau ich mich auch nicht ...

              1. Habe einfach das Perl von Oracle genommen jetzt und funktioniert auch ....

                mfg
                jmor

  2. Hi!

    Da brauch ich doch sicher ein Programm, welches mir die html Datei in ein Druckfähiges Foormat umwandelt vorher, oder?

    Du brauchst einen Browser, der den HTML-Code umsetzt.
    Wenn du deine Seite einfach an den Drucker schickst, bekommst du ja nur den Ausdruck des Quellcodes.

    kennt wer ein brauchbares Kommandozeilen Programm für Windows?

    Unter Windows kannst du dazu genau die gleichen Programme nehmen, die ich auch unter Linux einsetze.
    Du könntest dir einen Textbrowser wie lynx, links oder w3m runterladen und damit dann deine Seiten ausdrucken.
    Wenn du mit lynx arbeitest und dein Drucker dort nicht zur Auswahl steht, mußt du mal nach der Datei lynx.cfg suchen.
    Ich weiß nicht, wo sie sich bei der Windows-Version befindet. Wahrscheinlich direkt im lynx-Verzeichnis.
    Dort müßte dann dein Drucker eingetragen werden.

    Naja, in jedem Fall gibt es Windows-Portierungen von fast jedem der unter Linux/Unix bekannten Textbrowser.
    Mußt einfach mal Google fragen.
    Der Rest sollte dann eigentlich kein Problem mehr sein.

    Schöner Gruß,
    rob