-1
当我在IE11中显示我的XML文件并选择显示打印预览它看起来很好,但是我通过C#将XML加载到webbrowser对象,并使用webbrowser .showprint预览分页符无法正常工作。网络浏览器打印预览xml与xls不打破td正确
我XLS:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:template match="/">
<html>
<title>Report printed by DFrk(Danny Frank)</title>
<head>
<style type="text/css">
table { page-break-after: auto }
tr { page-break-inside: avoid !important;}
td {
vertical-align: middle;
font-family: Arial;
font-size: 10pt;
padding: 5px;
text-align: left;
border-bottom: 1px solid #ddd;
}
div { page-break-inside: avoid !important; }
th { page-break-inside: avoid;
font-family: Arial;
font-size: 10pt;
font-weight: bold;
padding: 5px;
text-align: left;
border-bottom: 1px solid Gainsboro;
background-color: SteelBlue;
color: white; }
@media print {
thead {display: table-header-group }
tfoot {display: table-footer-group }
.noPrint {display: none }
.noScreen{display: none}
}
@media screen {
.noPrint{}
.noScreen{display: none }
}
</style>
</head>
<body>
<table class="ex1" border="0" cellpadding="0" cellspacing="0" width="100%">
<thead>
<tr>
<td colspan="2"><img src="..\..\Img\ANLogo vandret.jpg" height="100" width="150"><h2>Connfigurated tags</h2></img></td>
</tr>
<tr>
<div>
<th>Id</th>
<th>Description</th>
</div>
</tr>
</thead>
<tbody>
<xsl:for-each select="configuration/tags/tag">
<tr>
<div>
<td><xsl:value-of select="@id"/></td>
<td><xsl:value-of select="@description"/></td>
</div>
</tr>
</xsl:for-each>
</tbody>
</table>
</body>
</html>
</xsl:template>
我的XML看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="Konfiguration_style.xsl"?>
<configuration>
<template>
<name>Tags</name>
<version>001</version>
<description>Configuration of tags for OPC</description>
<changelog version="001" auther="DFrk">First version</changelog>
</template>
<tags id="parameterfilelist" description="List of tags" allowmulti="false">
<tag id="Tag1" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Prod.TankPresAdv"></tag>
<tag id="Tag2" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Prod.KrystTidAdv"></tag>
<tag id="Tag3" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.TjekpH.MinpH"></tag>
<tag id="Tag4" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.TjekpH.MaxpH"></tag>
<tag id="Tag5" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.MinStartpH"></tag>
<tag id="Tag6" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.CF_Limit"></tag>
<tag id="Tag7" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.pHSetPunktLowAdv"></tag>
<tag id="Tag8" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.pHSetPunktHighAdv"></tag>
<tag id="Tag9" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.GrovDoseringsTid"></tag>
<tag id="Tag10" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.GrovPauseTid"></tag>
<tag id="Tag11" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.FinDoseringsTid"></tag>
<tag id="Tag12" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.FinPauseTid"></tag>
<tag id="Tag13" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.pHJust.MaxpHJusteringsTid"></tag>
<tag id="Tag14" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Transfere.GramAktivStof"></tag>
<tag id="Tag15" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Transfere.RestMængde"></tag>
<tag id="Tag16" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Transfere.TankNiveauForLSL"></tag>
<tag id="Tag17" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Kryst.KrystalMaxDeltaVægt"></tag>
<tag id="Tag18" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Kryst.HighTempAdv"></tag>
<tag id="Tag19" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.Kryst.LowTempAdv"></tag>
<tag id="Tag20" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD131.Dv.E.InsulinOpl.OmrørTid"></tag>
<tag id="Tag21" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Prod.TankPresAdv"></tag>
<tag id="Tag22" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Prod.KrystTidAdv"></tag>
<tag id="Tag23" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.TjekpH.MinpH"></tag>
<tag id="Tag24" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.TjekpH.MaxpH"></tag>
<tag id="Tag25" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.MinStartpH"></tag>
<tag id="Tag26" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.CF_Limit"></tag>
<tag id="Tag27" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.pHSetPunktLowAdv"></tag>
<tag id="Tag28" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.pHSetPunktHighAdv"></tag>
<tag id="Tag29" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.GrovDoseringsTid"></tag>
<tag id="Tag30" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.GrovPauseTid"></tag>
<tag id="Tag31" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.FinDoseringsTid"></tag>
<tag id="Tag32" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.FinPauseTid"></tag>
<tag id="Tag33" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.pHJust.MaxpHJusteringsTid"></tag>
<tag id="Tag34" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Transfere.GramAktivStof"></tag>
<tag id="Tag35" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Transfere.RestMængde"></tag>
<tag id="Tag36" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Transfere.TankNiveauForLSL"></tag>
<tag id="Tag37" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Kryst.KrystalMaxDeltaVægt"></tag>
<tag id="Tag38" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Kryst.HighTempAdv"></tag>
<tag id="Tag39" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.Kryst.LowTempAdv"></tag>
<tag id="Tag40" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD132.Dv.E.InsulinOpl.OmrørTid"></tag>
<tag id="Tag41" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Prod.TankPresAdv"></tag>
<tag id="Tag42" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Prod.KrystTidAdv"></tag>
<tag id="Tag43" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.TjekpH.MinpH"></tag>
<tag id="Tag44" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.TjekpH.MaxpH"></tag>
<tag id="Tag45" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.MinStartpH"></tag>
<tag id="Tag46" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.CF_Limit"></tag>
<tag id="Tag47" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.pHSetPunktLowAdv"></tag>
<tag id="Tag48" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.pHSetPunktHighAdv"></tag>
<tag id="Tag49" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.GrovDoseringsTid"></tag>
<tag id="Tag50" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.GrovPauseTid"></tag>
<tag id="Tag51" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.FinDoseringsTid"></tag>
<tag id="Tag52" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.FinPauseTid"></tag>
<tag id="Tag53" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.pHJust.MaxpHJusteringsTid"></tag>
<tag id="Tag54" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Transfere.GramAktivStof"></tag>
<tag id="Tag55" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Transfere.RestMængde"></tag>
<tag id="Tag56" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Transfere.TankNiveauForLSL"></tag>
<tag id="Tag57" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Kryst.KrystalMaxDeltaVægt"></tag>
<tag id="Tag58" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Kryst.HighTempAdv"></tag>
<tag id="Tag59" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.Kryst.LowTempAdv"></tag>
<tag id="Tag60" type="text" description="Q::KaDDK8Kryst:StartMaster.KaDD133.Dv.E.InsulinOpl.OmrørTid"></tag>
</tags>
</configuration>
和代码使用包括变换:
private void DisplayXml()
{
XmlDocument doc = new XmlDocument();
// Load the xslt used by IE to render the xml
XslCompiledTransform xTrans = new XslCompiledTransform();
xTrans.Load("Konfiguration_style.xsl");
doc.Load("TagsKaDDK8Kryst.xml");
// Transform the XML data
MemoryStream ms = new MemoryStream();
xTrans.Transform(doc, null, ms);
ms.Position = 0;
Program.opcTool.setErrorTextInStatusBar(webBrowser1.Version.ToString());
// Set to the document stream
webBrowser1.DocumentStream = ms;
this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.webBrowser1.ShowPrintPreviewDialog();
}
page one where the id that should be in page two is showing in the buttom
id列没有得到正确的分页,避免内部由于某些原因,使用C#代码时,我无法找到。
没有帮助。 :( – DannyFrank