我有一个.NET程序,该程序最终将创建一个HTML文件,然后通过Chrome进行打印。
我注意到chrome的页脚有文件名,因此我通过设置@media行来解决它。
对于标题,我想执行以下任一操作: -显示屏2行。页面标题行(将跨越所有列)和表标题行。 -或者找到一种通过CSS属性来自定义印刷品上页面标题的方法
理想情况下,第一个选项更好,因为它使我可以自定义标题样式。
当我尝试使用2个THEAD时,没有在每页上打印2个。 对于选项2,我找不到正确的CSS。
正在寻找实施任一选项的建议。我正在向您展示我正在使用的VB.NET代码,但这实际上不是VB.NET问题。
Dim tempFileName As String = System.IO.Path.ChangeExtension(System.IO.Path.GetTempFileName(), ".htm")
Using writer As New System.IO.StreamWriter(tempFileName)
writer.WriteLine("<HTML>")
writer.WriteLine("<style type=""text/css"" media=""print"">")
writer.WriteLine("@media print{@page {size: landscape; margin-bottom: 0;} }")
writer.WriteLine("</style>")
writer.WriteLine("<BODY>")
writer.WriteLine("<TABLE>")
writer.WriteLine("<THEAD>")
writer.WriteLine("<TH>HEADER 1</TH>")
writer.WriteLine("<TH>HEADER 2</TH>")
writer.WriteLine("</THEAD>")
For i As Integer = 0 To 200
writer.WriteLine("<TR>")
writer.WriteLine("<TD>ROW" & i & " CELL 1</TD>")
writer.WriteLine("<TD>ROW" & i & " CELL 2</TD>")
writer.WriteLine("</TR>")
Next
writer.WriteLine("</TABLE>")
writer.WriteLine("</BODY>")
writer.WriteLine("</HTML>")
writer.Flush()
End Using
System.Diagnostics.Process.Start("chrome", tempFileName)