PC-Inhaber: Bestimmten Bereich markieren und ausdrucken

Guten Morgen,

habe eine HTML-Seite die nicht als Datei, sondern direkt als Code gestreamt und in einer Mail verwendet wird. Das heißt, ich kann keine ausgelagerten, sepraten Dateien versenden und muss alles in einem Code wegschicken. Jetzt wollte ich noch eine Druckfunktion einbauen, die es ermöglicht, nur einen von mir "markierten" Bereich auszudrucken. Mit Javascript hab ich es versucht und es hat nicht funktioniert.

Bei CSS funktioniert es nur, wenn ich Bereiche ausblende. Ist auch schön und gut, aber die Bereiche die nicht ausgedruckt werden wollen, kann ich nicht ausblenden, da sie selbst generiert werden und ich darauf keinen Einfluss habe. Ich brauche also am besten eine Funktion, mit der ich die Bereiche markieren kann, die gedruckt werden sollen.

Meine Frage: Ist das möglich? Und wenn ja, wie ist das zu bewerkstelligen?

MfG

PC-Inhaber

  1. Hi,

    habe eine HTML-Seite die nicht als Datei, sondern direkt als Code gestreamt und in einer Mail verwendet wird.

    ja was denn jetzt? Geht es um eine HTML-Seite mit wie auch immer eingebundenem Inhalt oder einer E-Mail`?

    Bei CSS funktioniert es nur, wenn ich Bereiche ausblende. Ist auch schön und gut, aber die Bereiche die nicht ausgedruckt werden wollen, kann ich nicht ausblenden, da sie selbst generiert werden und ich darauf keinen Einfluss habe.

    Falls es sich um eine HTML-Datei handelt, wie sind diese generierten Inhalte dann eingebunden? Und um welche Inhalte handelt es sich überhaupt?

    freundliche Grüße
    Ingo

    1. ja was denn jetzt? Geht es um eine HTML-Seite mit wie auch immer eingebundenem Inhalt oder einer E-Mail`?

      Ist ne ganz normale HTML Seite mit Tabellen. Ich kann nur keine externen Dateien verwenden, wie ich ja auch gesagt hab.

      Heißt: das CSS (oder was auch immer) muss mit in die Datei.

      Mit display: none kann ich nichts anfangen, da ich nicht das was ausgelassen werden muss beim drucken, markieren kann.

      1. Hi,

        Ist ne ganz normale HTML Seite mit Tabellen. Ich kann nur keine externen Dateien verwenden, wie ich ja auch gesagt hab.

        und wieso nicht? Bitte gib genau an, was Du wie einbindest.

        Heißt: das CSS (oder was auch immer) muss mit in die Datei.

        Dafür gibt es doch das style-Element.

        Mit display: none kann ich nichts anfangen, da ich nicht das was ausgelassen werden muss beim drucken, markieren kann.

        Du musst es lediglich selektieren können. Ob das geht und passende Selektoren vorhanden sind, ist ohne die Antwort auf obige Frage sowie den Quelltext zu sehen nicht zu beantworten.

        freundliche Grüße
        Ingo

        1. Ich drück mich doch nicht so missverständlich aus...

          Ich will einfach nur wissen, wie ich Elemente markieren kann die gedruckt werden sollen, am besten mit CSS. Ob ich jetzt hier den ganzen Code mit den Tabellen reinpacke oder nich, ist völlig irrelevant. Die HTML-Befehle werden als Text von Lotus Notes gestreamt und per E-Mail geschickt, sodass am Ende eine HTML-Email rauskommt. Eine völlig normale HTML-Seite wo Tabellen und Text enthalten sind. Classes kann ich ja auch definieren. Das Problem bei der Sache ist, dass je nachdem wer die Mail von wo öffnet, die Webmailer ihre Signatur und den Betreff und Absender und sonstigen Müll dazu generieren. Aber dies würde sich vermeiden lassen, wenn ich nur die zu druckenden Elemente markieren kann.

          So wie hier:

            
          <html>  
          <head>  
          <title>Test</title>  
          <style type="text/css">  
          <!--  
          @media print{  
            body *{display:none;}  
            body #foo{display:block;}  
          }  
          -->  
          </style>  
          </head>  
          <body>  
           <span>ato</span><span id="foo">muh</span><span>rzeit</span>  
          </body>  
          </html>  
          
          

          Nur das ich halt die Bereiche nicht ausblende, die nicht mitgedruckt werden sollen, sondern die Bereiche MARKIERE die gedruckt werden sollen.

          Deutlicher kann ich mich nun wirklich nicht mehr fassen

          1. Mahlzeit PC-Inhaber,

            Ich drück mich doch nicht so missverständlich aus...

            Doch.

            Ich will einfach nur wissen, wie ich Elemente markieren kann die gedruckt werden sollen, am besten mit CSS.

            Du kannst keine Elemente "markieren" - mit CSS schon gar nicht. Du kannst Elementen eine Klasse zuordnen und dann für diese Klasse bestimmte Eigenschaften festlegen.

            Die HTML-Befehle werden als Text von Lotus Notes gestreamt und per E-Mail geschickt, sodass am Ende eine HTML-Email rauskommt.

            <leier alter="uralt">HTML kennt keine Befehle!</leier>

            Classes kann ich ja auch definieren.

            Dann tu das - wo ist das Problem dabei?

            Das Problem bei der Sache ist, dass je nachdem wer die Mail von wo öffnet, die Webmailer ihre Signatur und den Betreff und Absender und sonstigen Müll dazu generieren.

            Wieso sollte das stören?

            Aber dies würde sich vermeiden lassen, wenn ich nur die zu druckenden Elemente markieren kann.

            s.o.

            So wie hier:

            <html>
            <head>
            <title>Test</title>
            <style type="text/css">
            <!--
            @media print{
              body *{display:none;}
              body #foo{display:block;}
            }
            -->
            </style>
            </head>
            <body>
            <span>ato</span><span id="foo">muh</span><span>rzeit</span>
            </body>
            </html>

              
            Das sieht doch schon recht ordentlich aus. Wenn Du jetzt statt einer ID eine Klasse nimmst, sollte es doch funktionieren:  
              
            `body .drucken { display: ; } /* (nicht alle Elemente sollten als Blockelement dargestellt werden) */`{:.language-css}  
              
              
            
            > Nur das ich halt die Bereiche nicht ausblende, die nicht mitgedruckt werden sollen, sondern die Bereiche MARKIERE die gedruckt werden sollen.  
              
            Häh? Wenn Du nur bestimmte Element drucken willst (d.h. nur diese sollen auf dem Ausdruck erscheinen) und andere nicht, dann musst Du zwangsläufig alle, die nicht gedruckt werden sollen, ausblenden. Wie soll das denn bitte sonst funktionieren?  
              
              
            
            > Deutlicher kann ich mich nun wirklich nicht mehr fassen  
              
            Doch.  
              
              
            MfG,  
            EKKi  
            
            -- 
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            
          2. Hi,

            Ich will einfach nur wissen, wie ich Elemente markieren kann die gedruckt werden sollen, am besten mit CSS.

            und warum postest Du dann eigentlich unter HTML?

            Die HTML-Befehle werden als Text von Lotus Notes gestreamt und per E-Mail geschickt

            Toll, dass Du endlich mal konkreter wirst. Nur was meinst Du mit "HTML-Befehle als Text" und "gestreamt"? Ich habe Lotus Notes schon eine Ewigkeit nicht mehr genuzt... ist das so zu verstehen, dass das Programm eine HTML-Datei öffnet und als E-Mail verschickt?

            Classes kann ich ja auch definieren. Das Problem bei der Sache ist, dass je nachdem wer die Mail von wo öffnet, die Webmailer ihre Signatur und den Betreff und Absender und sonstigen Müll dazu generieren. Aber dies würde sich vermeiden lassen, wenn ich nur die zu druckenden Elemente markieren kann.

            Und warum gibst Du diesen Elementen dann nicht einfach eine Klasse? Damit sind sie dann in Deiner Ausdrucksweise "markiert" und können über CSS angesprochen werden,

            So wie hier:

            Nur das ich halt die Bereiche nicht ausblende, die nicht mitgedruckt werden sollen, sondern die Bereiche MARKIERE die gedruckt werden sollen.

            Deutlicher kann ich mich nun wirklich nicht mehr fassen

            Sagen wir mal so: sehr viel undeutlicher geht's kaum. ;-)

            Aber abgesehen von Deinem Begriff "markieren" mal logisch:
            Es gibt Elemente, die nicht gedruckt werden sollen und auf die Du keinen Einfluss hast, sie also auch nicht selektieren kannst. Also musst Du zwangsläufig den umgekehrten Weg gehen und zunächst alle Elemente ausblenden, die zu druckenden Elemente mit einer Klasse "markieren" und diese hierüber @media print einblenden.
            Ob das freilich bei E-Mails und erst recht bei den diversen Anzeigemöglichkeiten funktioniert, ist fraglich.

            freundliche Grüße
            Ingo

  2. Tach,

    Jetzt wollte ich noch eine Druckfunktion einbauen, die es ermöglicht, nur einen von mir "markierten" Bereich auszudrucken.

    Verschiedene separate Stylesheets für unterschiedliche Ausgabemedien?

    mfg
    Woodfighter