Ik zoek een mooie manier waarmee ik een html-pagina kan printen via een button op een andere pagina.
Dus: ik heb een pagina met een print-button, en die moet een andere html-pagina printen die ook op de server staat.
Dat klinkt makkelijk, maar ik zoek er een die in meerdere browsers werkt. En die heb ik nog niet gevonden.
Je geeft het iframe bij de definitie een id mee. Bijvoorbeeld <iframe id=“samenvatting” > en bij de button <button onclick=“printIframe(‘samenvatting’);”>PRINT</button>
En klaar is het. Als je pagina wilt instellen, bijvoorbeeld geen achtergrondfiguur, zoek dan eens op @print css.
<!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>Untitled Document</title>
<script>
function printPage() { print(); }
</script>
</head>
<body>
Deze pagina moet geprint worden.
</body>
</html>
paginametbutton.html
<!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>Untitled Document</title>
<script>
function printIframe(id)
{
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
iframe.focus();
ifWin.printPage();
return false;
}
</script>
</head>
<body>
<iframe url="print.html" id="test"></iframe>
<button onclick="printIframe('test');">DE GROTE PRINTKNOP</button>
</body>
</html>
Maar er gebeurt niks als je op de print-knop drukt... in geen een browser... Wat gaat er mis?
Super, de printfuctie wordt nu geladen.
Enige probleem is dat de preview in de printfunctie helemaal leeg is. En dat is print.html niet.
Gaat er nog iets mis bij het laden?