关于iText 7是否支持CSS布局,我似乎找不到确切的答案。在我的C#代码中,我只使用以下一行:
HtmlConverter.ConvertToPdf(new FileInfo(@"testgrid.html"), new FileInfo(@"out.pdf"));注意:我使用的是iText 7 v7.1.12
假设我的html/css代码如下所示:
@page {
size: A4;
margin: 0;
}
.grid {
display: grid;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr;
}<div class="grid">
<div>
<h3>A</h3>
</div>
<div>
<h3>B</h3>
</div>
<div>
<h3>C</h3>
</div>
<div>
<h3>D</h3>
</div>
</div>
如果您运行上面的html片段,您可以看到网格布局按预期显示,但是当我运行C#代码并打开out.pdf文件时,网格样式将被忽略,我在单独的行上看到A、B、C和D。

我是遗漏了什么,还是iText 7 HtmlConverter根本不支持CSS中的display: grid;?
发布于 2020-11-27 22:06:41
IronPDF和iText 7到PDF转换器都不支持display: grid;或display: flex;。
如果您想使用C#将HTML/CSS转换为PDF,但它包含网格/flex,我认为唯一的方法是使用无头铬:
var process = new System.Diagnostics.Process();
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
String command = "/C \"\"C:/Program Files/Google/Chrome/Application/chrome.exe\"\" --headless --disable-gpu --print-to-pdf=C:/users/xxxxx/Documents/file.pdf --print-to-pdf-no-header C:/users/xxxxx/Documents/file.html";
System.Diagnostics.Process.Start("cmd.exe", command);https://stackoverflow.com/questions/64394793
复制相似问题