使用document.write()我正在打印对象的内容,该内容是为打印机格式化的。文本只会从页面的中间开始打印。
我可以直接打印屏幕而不会出现此问题,因此使我认为我格式化不正确,但是我以前从未做过,也不知道出什么问题了。
这是我的打印功能。
let popupWin: any;
popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');
popupWin.document.open();
popupWin.document.write(`
<html>
<head>
<title>${this.editPla.name}</title>
<style></style>
</head>
<body onload="window.print();window.close()">
<table>
${values[0]}
${values[1]}
</table>
</body>
</html>
`
);
popupWin.document.close();
}
以下是values变量中包含的字符串的简短示例(实际字符串很长):
<tr style="width:100%;">
<td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
<td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
<td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
<td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
<td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
<td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
<td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
<td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
</tr>
我的结果如下所示: https://drive.google.com/file/d/1szQ-a3-KEVjYFhQfHDEJPTXKnG9-5m8S/view?usp=sharing
答案 0 :(得分:0)
您发布的代码看起来不错。您不会显示它的名称。
调用此命令时,它是否在具有垂直对齐方式修改的DIV中?
看起来您的窗口正在以垂直对齐方式居中加载,而不是顶部加载。 如果要传递“ this”,则可以传递(继承)修改
尝试在body标签中添加样式以使其与顶部对齐
答案 1 :(得分:0)
编辑:这个问题的答案是我愚蠢地在每一行的末尾插入了一个<br>
标签。删除后,文档将按预期打印。