1

我正在使用最新的 DLL,并尝试使用以下代码将 HTML 片段呈现为 PDF 文档:

    Private Function ReadHtml(ByVal text As String) As Paragraph
        Dim par = NewParagraph()
        Try
            Dim htmlText = Server.HtmlDecode(text)
            If Not htmlText.StartsWith("<") Then
                htmlText = "<span>" & htmlText & "</span>"
            End If
            Using reader As New IO.StringReader(htmlText)
                Dim mh As New MyHandler()
                XMLWorkerHelper.GetInstance().ParseXHtml(mh, reader)
                'use mh.elements
                For Each element In mh.Elements
                    Dim list = TryCast(element, List)
                    If list IsNot Nothing Then
                        element = Clone(list)
                    End If

                    par.Add(element)
                Next
                setFont(par, m_rowFont)


            End Using
        Catch ex As Exception
            Throw New Exception("Exception in ReadHtml using: '" & text & "'")
        End Try
        Return par

    End Function

当此函数返回时,我将段落插入 PDF。我遇到的问题是,虽然我可以在外部 div 中设置字体,并且生成的 PDF 将正确呈现,但如果我在设置字体的 div 内包含 HTML 表格,表格内的所有内容使用页面的默认字体呈现。

如何控制表格内容的字体?

4

1 回答 1

-1

你的 Html 在 font-size 和 font-family 删除。

    public string ConvertPdfHtml(string html)
    {
        html = CleanStyleAttribute(html, "font-family");
        html = CleanStyleAttribute(html, "font-size");
        ....
        return html;
    }

    private string CleanStyleAttribute(string html, string styleAttributeName)
    {
        return Regex.Replace(html, styleAttributeName + "(?>:(.*?);)","");
    }
于 2014-12-27T09:33:56.063 回答