Я не знаю точно, в чем проблема. У меня есть HTML с встроенным CSS, я хочу преобразовать этот 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.
вот так это должно выглядеть:
Вот как это выглядит, когда я конвертирую HTML в PDF: