IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Imprimer seulement la partie d'une page


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Imprimer seulement la partie d'une page
    Bonsoir, je voudrais savoir si ce qui est dans le titre est possible en PHP, sachant que je sais créer un fichier txt en PHP, que je connais un script qui permet d'imprimer du pdf (en javascript) et que je voudrais imprimer le contenu du txt.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ca serait absurde de faire ça.
    Quel est ton obstacle pour imprimer un fichier texte ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Je viens de penser à un gros souci : le txt serait côté serveur (ses infos viendraient d'une base MySQL) et l'impression, évidemment, côté client, mais comme je ne dois être le premier à avoir ce besoin, comment faire ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    tu mets ton texte sur une page avec un bouton imprimer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    OK, mais le javascript qui fait ça (windows.print) imprime toute la page, donc il y aurait aussi le menu, le bandeau et le pied de page...

  6. #6
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Pour ça il faut sélectionner le texte et puis imprimer.


    Dans mes souvenirs il existe des.fonction sélection avec leurs versions ie et firefox.

    Autrement plus simplement si tu mets ton text dans un textarea tu peux faire :

    textarea.select();

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ou plus simplement avec une feuille de style adaptée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link media="print" ... />
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Ou plus simplement avec une feuille de style adaptée
    J'avais déjà pensé à mettre chaque élément dans un div avec des identifiants, et d'affecter via un print.css la propriété display:none à ce que je veux cacher, mais j'utilise un générateur de sites web, et je n'ai la main que sur le corps de la page, donc ça ne va pas.
    La méthode du textarea.select() m'intéresse donc, mais après, comment l'imprimer ? Voilà ce que j'ai essayé mais qui ne marche pas (OK, c'est pas un textarea.select que je fais...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script language="JavaScript">
    function selectText(){
    document.myForm.myTextArea.print();
    }
      </script>
    <form name="myForm">
      <textarea name="myTextArea" rows="6" cols="50">...  </textarea><input value="Click to Print Text"
     name="myButton" onclick="selectText()" type="button">
    </form>

  9. #9
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    En javascript tu devrais avoir la main sur tout (sauf avec des iframes).

    Tu peux "simplement" récupérer le contenu qui t'interesse dans ton textarea, le mettre dans un div et n'afficher que ce div lors de l'impression.

  10. #10
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Le problème, c'est que je ne pourrais mettre le reste aussi dans un div et lui appliquer un display:none... Donc, je ne vois pas comment appliquer cette idée.

  11. #11
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Alors je vois deux solutions (mais y'en a probablement d'autres - plus jolies d'ailleurs) :
    • Créer une page utilisée uniquement lors de l'impression que tu ouvriras en pop-up et à laquelle tu transmettras les éléments à imprimer. (Le fait de cliquer sur le bouton "imprimer" valide un formulaire sur ta page actuelle contenant l'ensemble des infos à imprimer qui renvoie la page d'impression)
    • Récupérer tous les éléments (childNodes) contenus dans body, créer un div, les ajouter dans ce div (appendChild), supprimer ces éléments du body, lui ajouter le div et mettre le div en display:none.

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par laurentSc
    J'avais déjà pensé à mettre chaque élément dans un div avec des identifiants, et d'affecter via un print.css la propriété display:none à ce que je veux cacher, mais j'utilise un générateur de sites web, et je n'ai la main que sur le corps de la page, donc ça ne va pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var cssPrint = document.createElement('link');
    cssPrint.type = 'text/css';
    cssPrint.rel = 'stylesheet';
    cssPrint.media = 'print';
    cssPrint.href = 'print.css';
    document.getElementsByTagName('head')[0].appendChild(cssPrint);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var cssPrint = document.createElement('link');
    cssPrint.type = 'text/css';
    cssPrint.rel = 'stylesheet';
    cssPrint.media = 'print';
    cssPrint.href = 'print.css';
    document.getElementsByTagName('head')[0].appendChild(cssPrint);
    Cool, j'apprend encore des trucs.

  14. #14
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour la réponse, Bovino, que je ne vois que ce soir, mais comme je connais assez peu le js, pourrais-tu préciser comment j'utilise ça ?

  15. #15
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Mon niveau de maîtrise me permet juste de retenir l'idée de la popup de Loceka.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. imprimer une partie d'une page web
    Par lelectronique.com dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 28/10/2009, 09h23
  2. Imprime une partie d'une page
    Par hassine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/03/2009, 16h54
  3. [HTML] Imprimer qu'une partie d'une page
    Par ruru9 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/07/2008, 21h20
  4. imprimer une seule partie d'une page
    Par anibal dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 09/09/2007, 20h31
  5. Code HTML qui imprime une partie d'une page
    Par derval2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/01/2007, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo