首页 > 解决方案 > HtmlRendererCore.PdfSharpCore 弹性框

问题描述

我正在创建一个 html 字符串并从中生成一个 PDF。但是,一旦我添加display: flex;到 .css,它就会中断。

这是我的代码当前的样子:

pdf.css

.header {
    background-color: #022251;
    color: white;
    padding: 1%;
    position: fixed;
}

.container {
    display: flex;
    padding: 1% 3% 1% 3%;
    /*flex-wrap: wrap;
    justify-content: center;
    align-items: center;*/
}

.cs

StringBuilder html = new StringBuilder();
 html.Append(@"
            <div class='header'>
              <h1>TEST</h1>
            </div>
            <div class='container'>
                <h2>testtest</h2>
            </div>
            <div class='container'>
                <h2>testtest</h2>
            </div>
            <div class='container'>
                <h2>testtest</h2>
            </div>
            <div class='container'>
                <h2>testtest</h2>
            </div>
            <div class='container'>
                <h2>testtest</h2>
            </div>
            <p>asasdasdasdasd</p>
");

using (MemoryStream stream = new MemoryStream())
{
    System.Diagnostics.Debug.WriteLine(html);
    VetCV.HtmlRendererCore.Core.CssData cssData = PdfGenerator.ParseStyleSheet(File.ReadAllText(Directory.GetCurrentDirectory() + @"\Styles\pdf.css"));
            PdfSharpCore.Pdf.PdfDocument document = PdfGenerator.GeneratePdf(html.ToString(), new PdfGenerateConfig
    {
        PageSize = PageSize.A4
    }, cssData);
    document.Save(stream);
    return new FileContentResult(stream.ToArray(), "application/pdf");
}

标题与 css 一起出现,如果我删除了display: flex;

我如何使 flexbox 工作或者我应该使用不同的解决方法?

标签: c#htmlcsspdfpdf-generation

解决方案


推荐阅读