gpt4 book ai didi

javascript - 在 JAVASCRIPT 中打印文本文件

转载 作者:行者123 更新时间:2023-11-28 17:10:27 25 4
gpt4 key购买 nike

我正在尝试从服务器加载 html 页面中的文本文件,并打印内容。文本文件有特定的格式,所以我无法更改它。下面是我的示例代码:

<html>
<head>
<title>Print test</title>
<script>
var url = './text.txt';
function load() {
fetch(url).then(function(resp) {
resp.text().then(function(text) {
var id = document.getElementById("abc");
id.textContent = text;
});
});
}
function print() {
var id = document.getElementById("abc");
var printwindow = window.open('', 'PRINT', 'height=400,width=600');
printwindow.document.write('</head><body >');
printwindow.document.write(id.textContent);
printwindow.document.write('</body></html>');
printwindow.document.close(); // necessary for IE >= 10
printwindow.focus(); // necessary for IE >= 10
printwindow.print();
printwindow.close();
}
</script>
</head>
<body>
<pre id="abc" style="height:85%;overflow:auto; background:white">
</pre>
<button onclick="load()">Load</button>
<button onclick="print()">Print</button>
</body>

示例文本文件如下:

文本.txt

NAME                    = ABC
SURNAME = CDE
OCCUPATION = XYZ
PLACE = UUU

当我点击加载按钮时,文本按原样加载,但是当我尝试打印时,却出现乱码,如下图所示: enter image description here

有人可以告诉我我做错了什么吗?谢谢

最佳答案

您将丢失格式化文本,因为当您打开弹出窗口时,您将附加没有“pre”标记的文本,从而保留格式化方面。

您只需在弹出窗口中附加“pre”标签即可:

printwindow.document.write('</head><body ><pre>');
printwindow.document.write(id.textContent);
printwindow.document.write('</pre></body></html>');

关于javascript - 在 JAVASCRIPT 中打印文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54571255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com