我使用rotativa转换我的剃刀查看pdf文档,但有问题,它看起来不一样,当它渲染到网站这里是我的剃刀代码
@model PieListViewModel
@{
Layout = null;
}
<link href="@("https://" + Context.Request.Host.ToString() + "/css/site.css")" rel="stylesheet" />
<link href='https://fonts.googleapis.com/css?family=Work+Sans' rel='stylesheet' type='text/css'>
@* http://localhost:port/StyleSheet.css *@
<div class="container">
<div class="grid">
<div class="Weight border-left border-bottom">
<span class="margin-left">Id</span>
</div>
<div class="Weight border-left border-bottom">
<span class="margin-left">Name</span>
</div>
<div class="Weight border-left border-bottom">
<span class="margin-left">Price</span>
</div>
<div class="Weight border-left border-bottom">
<span class="margin-left">Actions</span>
</div>
@foreach (var pie in Model.Pies)
{
<div class="Weight border-left border-bottom">
<span class="margin-left">@pie.PieId</span>
</div>
<div class="Weight border-left border-bottom">
<span class="margin-left">@pie.Name</span>
</div>
<div class="Weight border-left border-bottom">
<span class="margin-left">@pie.Price</span>
</div>
<div class="border-bottom weight border-left" >
<a asp-controller="Pie" asp-action="Details" asp-route-id="@pie.PieId" class="actions ">Details</a>
<a asp-controller="Pie" asp-action="EditPie" asp-route-pieId="@pie.PieId" class="actions">Edit</a>
<a class="actions">Delete</a>
</div>
}
</div>
</div>
css代码
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
.border-bottom {
border-bottom: solid 0.1rem rgb(142, 139, 139);
}
.container {
width: auto;
margin: 2rem 1rem;
}
.grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr 2fr;
justify-items: center;
}
.Weight {
font-weight: 80%;
}
.border-left {
border-left: solid 0.1rem rgb(142, 139, 139);
width:100%;
text-align:center;
}
.margin-left {
margin-left: 0.5rem;
}
.actions {
display: inline-block;
color: rgb(241, 160, 7);
text-decoration: underline;
}
网站图片
PDF渲染图像
它应该是相同的网站
111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111
1条答案
按热度按时间anhgbhbe1#
我没有使用过rotativa,但使用过其他有类似困难的HTML-to-PDF产品。根据我的经验,转换器产品无法找到外部CSS文件。可能是rotativa找不到您的site. css文件。
这里有一些可以尝试的方法。
注解掉包含外部site. css文件的
<link>
元素,并将其CSS直接嵌入Razor视图中。如果rotativa正确地呈现了PDF,那么rotativa可能无法更早地找到您的CSS文件。然后取消注解<link>
,删除嵌入的CSS,并验证<link>
的href
属性中动态构建的路径是rotativa可以访问的。如果仍然不起作用,请查看rotativa是否有任何文档解释缺少样式时该怎么做。在我使用的一个HTML-to-PDF产品上,该产品需要一个
<base>
元素来查找外部CSS文件。