Nie można uzyskać CSS do pracy w iTextSharp (5.4.3) podczas tworzenia pliku PDF

Mam problem z próbą zastosowania pliku css do mojego pliku PDF za pomocą biblioteki generacji iTextSharp (5.4.3). zasadniczo css nie jest w ogóle stosowany.

Mam następujący sposób w moim pliku vb.net

    Protected Sub btnPreview_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPreview.Click
    Dim bytes As Byte()
    bytes = System.Text.Encoding.UTF8.GetBytes(letterRadEdit.Content)

    Dim tagProcessor As tool.xml.html.DefaultTagProcessorFactory()

    Using input As New MemoryStream(bytes, False)

        Dim ms As New MemoryStream()

        Dim document As New iTextSharp.text.Document(iTextSharp.text.PageSize.LETTER, 36, 36, 36, 36)
        Dim writer As PdfWriter = PdfWriter.GetInstance(document, ms)

        writer.CloseStream = False
        document.Open()

        Dim htmlContext As HtmlPipelineContext = New HtmlPipelineContext(Nothing)
        htmlContext.SetAcceptUnknown(True)
        htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory())
        Dim cssResolver As ICSSResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(False)
        cssResolver.AddCssFile(HttpContext.Current.Server.MapPath("/assets/css/pdf.css"), True)

        Dim pipeline As New CssResolverPipeline(cssResolver, New HtmlPipeline(htmlContext, New PdfWriterPipeline(document, writer)))
        Dim pdfworker As New XMLWorker(pipeline, True)
        Dim p As New XMLParser(True, pdfworker, New System.Text.UTF8Encoding)

        Try

            'p.AddListener(pdfworker)
            'p.Parse(input, Encoding.UTF8)

            XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, input, New FileStream(HttpContext.Current.Server.MapPath("~/assets/css/pdf.css"), FileMode.Open, FileAccess.Read))
        Catch

        Finally
            pdfworker.Close()

        End Try

        document.Close()
        ms.Position = 0

        Response.Buffer = True
        Response.Clear()
        Response.ContentType = "application/pdf"
        Response.AddHeader("content-disposition", "attachment; filename=preview.pdf")
        Response.BinaryWrite(ms.GetBuffer())
        Response.Flush()
    End Using
End Sub

plik CSS zawiera po prostu:

p{color:#e10000;margin-bottom:1.2em;}

(To jest, aby sprawdzić, czy wyświetla się poprawnie, cały tekst powinien być czerwony)

Moim problemem jest to następujące polecenie

XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, input, New FileStream(HttpContext.Current.Server.MapPath("~/assets/css/pdf.css"), FileMode.Open, FileAccess.Read))

poprawnie tworzy plik pdf, ale nie stosuje do niego CSS. Wiem, że czyta CSS, ponieważ miałem wyjątek uprawnień, dopóki nie zastosowałem właściwości FileAccess.Read

metoda

p.Parse(input, Encoding.UTF8)

nie tworzy żadnych plików PDF, tylko wyjątek „Element niedozwolony”, ponieważ HTML (pochodzący z pola tekstowego radeditor Q3 2013) jest starym HTML, a parse wydaje się mieć problem z tabelami.

questionAnswers(2)

yourAnswerToTheQuestion