Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    12

    Stampare parte di un testo

    Ho una pagina HTML con una serie di articoli uno dopo l'altro.
    Vorrei un comando per poter stampare i singoli articoli e non tutta la pagina. E' possibile?
    Tempo fa mi era capitato tra le mani un qualche tutorial in cui si parlava di questo e risolvevano il problema usando dei delimitatori per ogni porzione di testo che andrà stampata.
    Ovviamente non trovo più quel tutorial....
    Sapete aiutarmi?
    Grazie mille e ciao,
    Palinus

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Vedi questo thread dovrebbe esserci anche la risposta per te.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    12
    Ciao e grazie per la risposta.
    Avevo già letto quel thread, però non mi sembrava facesse al caso mio....
    Forse invece si, però non capisco come applicare quei suggerimenti al mio caso.
    In particolare:
    1. Come delimito e chiamo i vari articoli?
    2. Cosa scrivo nei vari comandi di stampa per stampare i singoli articoli?
    Grazie,
    Palinus

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La situazione va vista da un altro punto di vista.

    Tu haiuna pagina, che a seconda di dove va a finire ha degli oggetti che si copmprtano in maniera diversa.

    Questo si fa con i CSS.

    In pratica devi fare in modo che alcuni oggetti non vengano visualizzati in caso di stampa:

    <link rel="stylesheet" type="text/css" media="display">

    <link rel="stylesheet" type="text/css" media="print">


    Nel primo ci metterai:
    .noprint { display: block; }

    Nel secondo:
    .noprint { display: none; }


    gli elementi che non dovranno essre stamapti dovranno quindi appartenere alla classe noprint:

    <div class="noprint">


    testo che non verra` stamapto</p>
    </div>

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    12
    Ma... quindi ad esempio:
    in una pagina ho dieci articoli uno in seguito all'altro. Alla fine di ogni articolo avrò il mio bel bottoncino con la stampante per stampare solo quell'articolo.
    Come faccio a dire in quei dieci punti "adesso voi altri nove articoli siete noprint" in maniera "dinamica"?
    Spero di averti fatto capire quello che non ho capito...
    Ciao e grazie,
    Palinus

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Adesso ho capito. Vuoi stampare un solo articolo (alla volta)
    Credevo che volessi stampare gli articoli e non tutto il resto.

    Ma nella pagina gli articoli sono scritti per intero o sono solo i link?

    ----

    E` anche possibile specificare che un certo div ha l'attributo display=none:
    document.getelementById('ID_DEL_DIV').style.displa y="none";

    poi per ripristinarlo:
    document.getelementById('ID_DEL_DIV').style.displa y="block";

    Chiaramente questo lo dovresti applicare a tutti i div che non ti interessano, e riapplicare alla fine. Pero` da JS non sai quando il processo di stampa e` completato, per cui dovresti lasciarci un bottone per poi ripristinare.

    Ma forse ti conviene fare una pagina a parte con il solo articolo che vuoi stampare: ti apri una popup nuova, ci metti quello che vuoi, con il formato che vuoi, le dai il focus e la mandi in stampa.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    12
    Si, mi sembra di aver capito che è l'unica soluzione.
    Ho trovato questo tutorial:
    http://www.webaiuto.it/tutorial/javascript/5.php

    Viene descritta proprio la procedura per aprire una finestra con la parte di testo che si vuole stampare, lanciare una stampa automatica e chiudere la popup automaticamente (evviva i Tutorial!).

    Il mio problema però è che di articoli da stampare ne ho più di un centinaio (è per un CD-Rom che sto facendo...), suddivisi in 14 pagine.

    La funzione del tutorial fa riferimento direttamente a un testo particolare (che chiama 'livello1'). Come faccio a farlo diventare una variabile per non dover avere un centinaio di funzioni?
    E come richiamarla in ogni istanza in cui mi serve?

    (Scusami ma sono proprio un novizio di Javascript e programmazione in generale...).

    Grazie ancora,
    Palinus

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Puoi passare il layer come parametro.

    La funzione la metti in un file esterno, e la richiami con il tag <script ... src="nomefile.js"> in ogni pagina in cui ti serve.

    La funzione la modifichi cosi`:
    function stampa_popup(livel) {
    .....
    document.getElementById(livel).innerHTML+"</td></tr></table>";
    ....
    }
    Nota che ho tolto gli apici all'interno della parentesi

    E naturalmente la chiami:
    Stampa la parte di un documento
    (nota gli apici all'intrno della parentesi).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    12
    Funziona perfettamente, sei stato gentilissimo!
    Ti chiedo un'ultimissima cosetta:
    Ho provato senza successo a inserire il mio css per avere la stampa formattata come a video, ma non ci sono riuscito. Come faccio?

    <style type="text/css" media="print">@import "testi.css";</style>

    Ho provato a inserirlo nella funzione dentro a <head> in tutti i modi (con la "\" prima delle virgolette, senza, con la parte fuori dai <...> compresa tra "+ e +", ecc.). Chiaramente ho provato deducendo delle regole sintattiche dalla funzione del tutorial, ma evidentemente mi manca qualcosa.
    Appena finisco questo coso mi metto a studiare il Javascript....

    Gracias,
    Palinus

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    2 sintassi possibili:

    <style type="text/css" media="print">@import url(testi.css);</style>

    <link rel="stylesheet" type="text/css" media="print" href="testi.css" />

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.