我不完全知道问题出在哪里。我有一个带有内联CSS的html,我想将此html转换为pdf文件,但无法使其正常工作。这是我的代码:
Private Function PdfSharpConvert(html As String)
Dim res() As Byte = New Byte() {}
Using ms As New MemoryStream()
Dim pdf = PdfGenerator.GeneratePdf(html, PdfSharp.PageSize.A4)
pdf.Save(ms)
res = ms.ToArray()
End Using
Return res
End Function
Public Sub DownloadPdf()
Dim p = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Html", "AsginacionesSemanalesPdf.html")
Dim s = File.ReadAllText(p)
Dim a = PdfSharpConvert(s)
File.WriteAllBytes("C:\Prueba\whatever.pdf", a)
End Sub
这是我的HTML文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<table style="width:100%;border-collapse:collapse" border="1">
<tr style="border-collapse:collapse">
<th colspan="3">Smart Academy</th>
<th>11 AH</th>
</tr>
<tr>
<td style="width:5%;background-color:#003366;color:white">
lunes
</td>
<td style="width:2%">
<table style="width:100%;border-collapse:collapse" border="1">
<tr><th>n</th></tr>
<tr><th>1</th></tr>
<tr><th>2</th></tr>
<tr><th>3</th></tr>
<tr><th>4</th></tr>
</table>
</td>
<td style="width:43%">
<table style="width:100%;border-collapse:collapse" border="1">
<tr class="tabla"><th>Asignatura</th></tr>
<tr><td>a</td></tr>
<tr><td>a</td></tr>
<tr><td>a</td></tr>
<tr><td>a</td></tr>
</table>
</td>
<td style="width:50%">
<table style="width:100%;border-collapse:collapse" border="1">
<tr style="background-color:#005c00;color:white"><th>Tipo de Evaluacion</th></tr>
<tr><td>a</td></tr>
<tr><td>a</td></tr>
<tr><td>a</td></tr>
<tr><td>a</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
我没有在互联网上找到太多文档,只是堆栈中和作者页面中的一些示例,如果你们中有任何更好的方式做到这一点,请告诉我,我不介意改用另一个pdf转换器。