在C#中,我使用IronPDF从MYSQL数据库中的数据创建PDF。 对于布局,我使用一张表并使用单独的CSS文件设计它。
当我在Dreamweaver或浏览器中尝试生成的HTML和CSS时,一切正常。 当我在IronPDF中尝试时,生成的PDF中的tableborders不显示,并且表中的textalignment错误。
有人知道这是怎么回事吗? IronPDF中是否有可能导致此问题的东西?
HTML:
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="test.css"/>
<title>test</title>
</head>
<body>
<div id="page"<img src="C:\Dump\SmallLogoBW.png" id="logo" width="250" height="151"/><div class="klantcontact"<h1>Offerte</h1><p>Name</p><p>Address<p><p>Address<p></div><table class="factuurgegevens"><tr><th width="100">Offertenummer:</th><th width="100">2018-018</th><th width="100">BTW-nummer:</th><th width="100"></th></tr><tr><th width="100">Offertedatum:</th><th width="100">06/12/2018</th></tr><tr><th width="100">Vervaldatum:</th><th width="100">26/12/2018</th></tr></table><table id="factuur"><tr id="header"><th class="col1">Omschrijving:<th><th colspan="2">asfd</th><th>Bedrag</th></tr><tr><td></td></tr><tr><td id="col1">Prestatie 1</td><td colspan="2">sdf</td><td class="bedrag">546</td></tr><tr></tr><tr></tr><tr><td></td><td>Project: </td></tr><tr><td colspan="3">BTW-Verlegd (Belasting te voldoen door de medecontractant, KB nr. 1, Art. 20).</td><td class="bedrag"></td></tr></table><div class="factuurvoorwaarden"><p><h2>Factuurvoorwaarden:</h2>Elke niet betaalde factuur brengt van rechtswege en zonder aanmaning een intrest op van 12% per jaar.Wanneer een factuur onbetaald blijft gedurende acht kalenderdagen na de aangetekende verzending van aanmaning, zal de schuldbovendien verhoogd
worden met 10% van het factuurbedrag, met een minimum van 50,00 euro. Dit geldt als forfaitaireschadevergoeding voor andere onkosten dan het renteverlies en de eigenlijke gerechtskosten. Klachten betreffende de geleverdegoederen en/of diensten worden enkel aanvaard wanneer zij schriftelijk gebeuren binnen 15 kalenderdagen na facturatiedatum van deverrichting. Indien geen betwisting de verlener bereikt, wordt verondersteld dat de klant akkoord gaat met de gefactureerde goederenen/of diensten. In geval van betwisting is het Belgische Recht van toepassing en zal het geschil worden voorgelegd aan de rechtbankenvan het arrondissement Turnhout.</p></div></div>
CSS:
#page {
width: 21cm 29.7cm;
margin: 27mm 16mm 27mm 16mm;
}
#logo
{
float: left;
}
.klantcontact {
float: right;
text-align: right;
}
table{
width: 100%;
}
#header
{
border-bottom: 1px solid #000;
}
#factuur td
{
text-align: left;
width: 25%;
}
.factuurgegevens {
border-top: double;
border-bottom: double;
margin-bottom: 1em;
}
#factuur {
border: 1px solid #000;
height: 30%;
}
#factuur th {
border-bottom: 1px solid #000;
text-align: left;
width: 30%;
}
.col1
{
width: 10%;
}
.bedrag {
border-left: 1px solid #000;
}
答案 0 :(得分:1)
此问题较旧,但这可能会对其他人有所帮助。正如先前的答案所指出的,Ironpdf不支持来自文件的外部CSS(尽管它支持来自url的外部CSS。)
因此,理想情况下,您应在渲染器所用的html文档中提供css。.可以内联或在html head中完成,我更喜欢html head选项,如下所示
<!DOCTYPE html>
<html>
<head>
<style>
table{
width:100%;
border: 1px solid black;
border-collapse: collapse;
}
tr, th, td{
border: 1px solid black;
border-collapse: collapse;
}
</style>
</head>
<body>
<h2>Basic HTML Table</h2>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
</table>
</body>
</html>
这将留下一个更干净的html文件,并可以使用最新版本的ironpdf
答案 1 :(得分:0)
Ironpdf仅接受内联CSS,因此外部CSS不起作用。因此,请避免在HTML代码中使用类。也可以使用google chrome来检查您的表格布局,因为Ironpdf渲染布局与google chrome一样。 您的代码应该像
<!DOCTYPE html>
<html>
<body>
<h2>Basic HTML Table</h2>
<table style="width:100% ; border: 1px solid black ; border-collapse: collapse; ">
<tr style=" border: 1px solid black ; border-collapse: collapse ">
<th style=" border: 1px solid black ; border-collapse: collapse ">Firstname</th>
<th style=" border: 1px solid black ; border-collapse: collapse ">Lastname</th>
<th>Age</th>
</tr>
<tr style=" border: 1px solid black ; border-collapse: collapse ">
<td style=" border: 1px solid black ; border-collapse: collapse ">Jill</td>
<td style=" border: 1px solid black ; border-collapse: collapse ">Smith</td>
<td style=" border: 1px solid black ; border-collapse: collapse ">50</td>
</tr>
</table>
</body>
</html>