首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >即使使用嵌入式样式,HTMLRenderer和PDFSharp也不能很好地呈现表格

即使使用嵌入式样式,HTMLRenderer和PDFSharp也不能很好地呈现表格
EN

Stack Overflow用户
提问于 2020-01-19 09:26:42
回答 1查看 2K关注 0票数 0

我正在尝试使用HTMLRenderer和PDFSharp输出一个PDF文件。但我注意到,即使是非常简单的表也不能正确呈现。我将样式直接嵌入到网页中。我甚至在元素上尝试了样式标签,但它忽略了它们。

我是不是漏掉了什么?

代码语言:javascript
运行
复制
using PdfSharp.Pdf;
using System.IO;
using TheArtOfDev.HtmlRenderer.PdfSharp;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            string html = File.ReadAllText(@"1.htm");
            PdfDocument pdf = PdfGenerator.GeneratePdf(html, PageSize.Letter);
            pdf.Save(@"1.pdf");
        }
    }
}

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        .hdr { background-color:gray;}
        .cell {background-color:burlywood;}
        tr { color:blue;}
    </style>
</head>
<body>
    <table>
        <tr class="hdr"><td>Colum1</td><td>Column2</td></tr>
        <tr style="background-color: lightblue"><td>Chevy</td><td>Malibu</td></tr>
        <tr><td class="cell">Honda</td><td style="background-color:gold">Accord</td></tr>
    </table>
</body>
</html>

顶部的浏览器和底部的PDF的输出:

EN

回答 1

Stack Overflow用户

发布于 2020-01-20 05:45:43

我无法找到我的问题的解决方案,因此,我找到了另一个解决方案。我切换到选择HtmlToPdf。这是在NUGET。

实现很简单。

代码语言:javascript
运行
复制
static void Main(string[] args)
{
    SelectPdf.HtmlToPdf converter = new SelectPdf.HtmlToPdf();
    SelectPdf.PdfDocument doc = converter.ConvertHtmlString(File.ReadAllText("3.htm"), @"file:///dev/pdf4/ConsoleApp1/");
    doc.Save("3.pdf");
    doc.Close();
}

他们提供了一个免费版本,将你限制在5个页面内,并有一些其他限制,但它完成了我正在寻找的工作,而我不必修改我的Html。

我也喜欢他们实现图像渲染的方式。通过指定一个基本url,它可以按照您期望的方式呈现图像,而无需执行任何操作。表格边框有点乱,但还不错。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59806380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档