Do të doja të dija nëse është e mundur të printoni një skedar txt të vendosur në server duke përdorur javascript. Kam vënë re se window.print() thjesht hap dialogun e printimit për faqen aktuale të internetit
Printoni skedarin txt duke përdorur Javascript
- Nuk është e mundur vetëm me javascript. Ju duhet të përdorni gjithashtu ajax me ose pa ndonjë gjuhë skriptimi të serverit. 27.06.2012
- Nuk mund ta detyrosh dikë të printojë një faqe nëse nuk dëshiron. Dialogu i printimit është mënyra se si përdoruesit vendosin si të printojnë diçka, ose vendosin nëse nuk duan të printojnë asgjë. 27.06.2012
Përgjigjet:
Mund të hapni vetëm dialogun e printimit për përdoruesin dhe kjo është ashtu siç duhet. Nëse dëshironi të printoni vetëm dokumentin e tekstit, ka disa mënyra se si mund të aktivizoni dialogun e printimit për të. Ata kërkojnë të ndjekin Të njëjtën politikë të origjinës (skedarët tuaj HTML dhe TXT duhet të jenë në të njëjtin domen) .
Mënyra më e thjeshtë është të hapni një dritare kërcyese me skedarin e tekstit dhe të ktheni thirrjen e printimit në dorezën e dritares:
w = window.open('text.txt');
w.print();
Nëse dëshironi që përdoruesi të shikojë paraprakisht skedarin e tekstit, ju mund të përdorni një iframe në vend të kësaj:
Unë rekomandoj ta mbani JS jashtë HTML, ky është vetëm për shembull
<iframe id="textfile" src="text.txt"></iframe>
<button onclick="print()">Print</button>
<script type="text/javascript">
function print() {
var iframe = document.getElementById('textfile');
iframe.contentWindow.print();
}
</script>
Opsioni JQuery
<body>
<div id="txtdiv"></div>
<script type="text/javascript">
$('#txtdiv').load('trial.txt', function()
{
window.print(); //prints when text is loaded
});
</script>
</body>
Keni të drejtë që window.print()
thjesht hap dialogun e printimit për faqen aktuale të internetit.
Unë do të sugjeroja që të shkruani kodin JavaScript për të hapur një dritare të re, të ngarkoni tekstin në atë dritare dhe më pas të thërrisni funksionin print()
në atë dritare.
Nëse thjesht nuk dëshironi të fshini përmbajtjen e faqes dhe të printoni një tekst nga një skedar, mund ta bëni këtë këtu:
<body>
....some tags....
<script type="text/javascript">
// or onclick function
$.load('test.txt', function( printContent ){
history.pushState( printContent, 'Print title', '/print_page' );
document.write( printContent );
if( window.print() ){
document.location = '/back_page/';
// or history.go(-1);
} else {
document.location = '/history/';
}
});
</script>
Ju mund ta bëni këtë duke krijuar një shërbim në internet.
Krijoni një shërbim në internet dhe bëni gjëra të printimit në shërbimin në internet.
Telefononi shërbimin në internet nga JavaScript.
Nëse po pyesni se si të bëni printimin duke përdorur shërbimin në internet ka një thread në stackoverflow që mund të ndihmojë. Mos shikoni vetëm pyetjen, shfletoni edhe përgjigjen.