Souci d'impression
isabelle
-
isabelle -
isabelle -
Bonjour,
Je fait appelle au connaisseur php, voilà je rencontre un souci j'aimerais que cette page contenant ceci :
Imprime le tableau suivant grâce au fichier de traitement ...
Le souci est que :
1- Le tableau ne s'affiche pas en sortie
2- Quand je clique sur lien test une seconde page s'ouvre avec Content-Type: application/pdf contenant l'erreur suivante il est possible que ce document PDF ne s'affiche pas correctement.
Pourriez-vous m'aider a peaufiner mon fichier de traitement afin que le tableau s'imprime
(Attention ne me proposer pas de librairie comme dompdf etc ...), je voudrais le coder moi-même de façon beaucoup plus simple.
Merci de vos réponses et de votre aide
Je fait appelle au connaisseur php, voilà je rencontre un souci j'aimerais que cette page contenant ceci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>testpdf</title> </head> <body> <table width="265" height="183" border="1"> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </table> <p><a href="pdftraitement.php" target="_blank">test</a></p> </body> </html>
Imprime le tableau suivant grâce au fichier de traitement ...
<?php header('Content-Type: application/pdf'); $tableau=' <table width="265" height="183" border="1"> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </table>'; ?>
Le souci est que :
1- Le tableau ne s'affiche pas en sortie
2- Quand je clique sur lien test une seconde page s'ouvre avec Content-Type: application/pdf contenant l'erreur suivante il est possible que ce document PDF ne s'affiche pas correctement.
Pourriez-vous m'aider a peaufiner mon fichier de traitement afin que le tableau s'imprime
(Attention ne me proposer pas de librairie comme dompdf etc ...), je voudrais le coder moi-même de façon beaucoup plus simple.
Merci de vos réponses et de votre aide
A voir également:
- Souci d'impression
- Spouleur d'impression - Guide
- Impression livret a5 - Guide
- Impression ecran samsung - Guide
- Impression miroir ✓ - Forum MacOS
- Impression miroir word - Guide
2 réponses
hello
moi, je serais toi, je ferais une feuille de style en css plutôt que d'utiliser des tableau dans ta page.
regarde cette page qui explique comment ça fonctionne:
https://www.alsacreations.com/tuto/lire/586-feuille-style-css-print-impression.html
et je te donne ton code modifier:
pour le css de l'affichage à l'écran, fichier: ecran.css
pour le css de l'impression, fichier: imprimante.css
comme tu vois, j'ai juste changer la couleur de la bordure des div, rouge à l'écran, et noir pour l'impression, ce qui permet de faire des impressions avec le meilleur formatage et surtout comme tu veux.
en ce qui concerne les 3 liens que j'ai mis, à l'affichage à l'écran on les voit bien, mais à l'impression on ne verra que le lien2, pourquoi ?
Parce que j'ai mis un .lien1, .lien3{ display: none; } sur les class .lien1 et lien2
et à l'impression, les couleurs de fond des div ne sont pas géré en html, mais avec l'option du navigateur, tu as une option au moment de l'impression qui te permet d'imprimer le fond, sur Chrome c'est: "Couleurs et images d'arrière-plan"
à toi de voir :)
moi, je serais toi, je ferais une feuille de style en css plutôt que d'utiliser des tableau dans ta page.
regarde cette page qui explique comment ça fonctionne:
https://www.alsacreations.com/tuto/lire/586-feuille-style-css-print-impression.html
et je te donne ton code modifier:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="ecran.css" media="screen" /> <link rel="stylesheet" href="imprimante.css" type="text/css" media="print" /> </head> <body> <div id="div1"> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> <div id="div_int"></div> </div> <div id="cont_lien"> <a class="lien1" href="pdftraitement.php" target="_blank">lien<br /> </a> <a class="lien2" href="pdftraitement.php" target="_blank">lien2<br /> </a> <a class="lien3" href="pdftraitement.php" target="_blank">lien3</a> </div> </div> </body>
pour le css de l'affichage à l'écran, fichier: ecran.css
#div1 { width: 252px; height: 140px; } #div_int { width: 40px; height: 40px; border: 1px solid #FF0000; float: left; } #cont_lien { width: 252px; height: auto; background-color:#CCC ; }
pour le css de l'impression, fichier: imprimante.css
#div1 { width: 252px; height: 124px; } #div_int { width: 40px; height: 40px; border: solid 1px #333; float: left; } .lien1, .lien3{ display: none; } #cont_lien { width: 252px; height: auto; background-color:#930 ; }
comme tu vois, j'ai juste changer la couleur de la bordure des div, rouge à l'écran, et noir pour l'impression, ce qui permet de faire des impressions avec le meilleur formatage et surtout comme tu veux.
en ce qui concerne les 3 liens que j'ai mis, à l'affichage à l'écran on les voit bien, mais à l'impression on ne verra que le lien2, pourquoi ?
Parce que j'ai mis un .lien1, .lien3{ display: none; } sur les class .lien1 et lien2
et à l'impression, les couleurs de fond des div ne sont pas géré en html, mais avec l'option du navigateur, tu as une option au moment de l'impression qui te permet d'imprimer le fond, sur Chrome c'est: "Couleurs et images d'arrière-plan"
à toi de voir :)