Partage
  • Partager sur Facebook
  • Partager sur Twitter

Impression d'une image ou pdf (version imprimable)

Sujet résolu
    9 juillet 2011 à 13:28:36

    Bonjour,

    Je dois créer un site contenant un cv. Le cv prend toute la page, donc je l'ai mis en arrière plan afin de pouvoir ajouter un bouton ou lien "Imprimer".

    J'ai essayé le code <p><a href="javascript:window.print()">Imprimer</a></p>, mais comme c'est un background cela n'imprime rien. Après plusieurs recherches je n'ai pas trouvé de solution à l'impression de background (sauf en paramétrant le navigateur mais ce n 'est pas le but recherché).

    J'ai pensé faire ouvrir un document pdf comme dans certains sites (avec l'icône pdf ou autre), mais je ne sais pas comment faire... Bref, je cherche depuis un certain temps et ne trouve pas de solution. Je débute en codage, j'ai quelques notions de php mais ne connais quasi rien au javascript.

    Est-ce que quelqu'un aurait une solution à mon problème?

    Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      9 juillet 2011 à 16:11:24

      le cv est en arrière-plan ? C'est à dire ?

      Si ton problème est ce qui s'affiche à l'impression, ça se règle en CSS avec une feuille de style dédiée au media print.

      Si non, vire-moi ce pseudo-lien moyenâgeux. C'est pas comme ça qu'on fait un bouton en JS.
      • Partager sur Facebook
      • Partager sur Twitter
        11 juillet 2011 à 14:32:55

        Salut,

        Pour générer un PDF, tu disposes de librairies en PHP, qui font très bien le boulot : notamment HTML2PDF, le plus performant que j'ai testé ;)
        • Partager sur Facebook
        • Partager sur Twitter
          11 juillet 2011 à 18:58:50

          En fait j'ai mis le cv dans un div d'un certain format. Je me suis dit que le plus simple était de mettre le cv en background-image dans le css, et que je pourrais ainsi ajouter par dessus un bouton "imprimer", ou un lien moyenâgeux lol! Je m'y prends sûrement faux mais je débute hum hum. Bref, j'ai ajouté le code <p><a href="javascript:window.print()">Imprimer</a></p> afin d'avoir mon lien mais à l'impression j'ai une page blanche.

          Je ne sais pas trop comment faire. J'ai vu les feuilles de style media print, mais il semblerait que cela ne fonctionne pas non plus avec les arrières plans (sauf si paramétrage du navigateur, mais j'aimerais éviter une manipulation de l'utilisateur).

          Je ne connais pas HTML2PDF, je vais aller y jeter un oeil ;)

          Merci!
          • Partager sur Facebook
          • Partager sur Twitter
            11 juillet 2011 à 23:52:56

            C'est compliqué pour pas grand chose.

            En tout cas, utiliser un background pour afficher une information importante est une erreur. Toutes les informations doivent être en dur dans le HTML.

            Utilise une balise img et utilise les propriétés z-index et position sur ton image et ton bouton pour gérer la superposition.

            Je ne connais pas HTML2PDF, mais si c'est en PHP je doute qu'il tienne compte des feuilles de style puisqu'elles influent sur le rendu du navigateur (or en PHP l'étape de rendu n'a pas lieu).

            Dans tous les cas, utiliser une vrai balise règlera le problème ou t'avancera dans sa résolution.
            • Partager sur Facebook
            • Partager sur Twitter
              12 juillet 2011 à 9:21:41

              Si, c'est possible d’intégrer des feuilles de style avec HTML2PDF :) Puissante la librairie ;)

              Après, effectivement y a peut être pas besoin d'utiliser de choses aussi poussées
              • Partager sur Facebook
              • Partager sur Twitter
                12 juillet 2011 à 9:50:20

                Et il me semble que dans Firefox il n'imprime pas le background par défaut, faut cocher une case dans les options d'impression.
                • Partager sur Facebook
                • Partager sur Twitter
                  13 juillet 2011 à 22:21:34

                  J'ai effectivement utilisé une balise <img> en ajustant la propriété z-index et cela fonctionne très bien. Merci Geoffrey pour m'avoir donné cette solution. C'était effectivement la plus simple, je me compliquais la vie pour rien :D

                  Je clos donc le sujet.

                  Merci à tous!

                  Bonne nuit
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Impression d'une image ou pdf (version imprimable)

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown