Asp.net mvc Rotativa视图ASPDF CSS大小/尺寸
我正在使用RotativaAsp.net mvc Rotativa视图ASPDF CSS大小/尺寸,asp.net-mvc,asp.net-mvc-4,rotativa,Asp.net Mvc,Asp.net Mvc 4,Rotativa,我正在使用Rotativaviewspdf方法将ASP.NETMVC中的HTML视图呈现为PDF。我通过设置以下内容将输出设置为A4大小、纵向且无边距: new ViewAsPdf(MVCCfpFormatter.Members.Views.FlightPlansFullPagePrint, model) { // FileName = flightPlan.ListingItemDetailsModel.Fl
viewspdf
方法将ASP.NETMVC中的HTML视图呈现为PDF。我通过设置以下内容将输出设置为A4大小、纵向且无边距:
new ViewAsPdf(MVCCfpFormatter.Members.Views.FlightPlansFullPagePrint, model)
{
// FileName = flightPlan.ListingItemDetailsModel.FlightDetails + ".pdf",
PageSize = Size.A4,
PageOrientation = Orientation.Portrait,
PageMargins = new Margins(0, 0, 0, 0),
PageWidth = 210,
PageHeight = 297
};
然后在CSS中,我将一个元素的宽度设置为210mm
width,它应该扩展页面的整个宽度,但是在输出PDF中,210mm
width并不代表PDF的整个宽度,而是更小。通过反复试验,生成的PDF的总宽度似乎在246mm左右
你知道为什么会这样吗?我想我可以帮你
{
FileName = Name + ".pdf",
PageOrientation = Rotativa.Options.Orientation.Landscape,
PageSize = Rotativa.Options.Size.A4
}
这就是1.6.3对我有效的地方。我想你需要按照这个语法来设置你想要的其他东西。如果你仍然有问题,我对rotativa做了更多的研究。您可以使用wkhtmltopdf中的自定义开关。尝试添加
CustomSwitches = "--disable-smart-shrinking".
这会阻止程序自动调整您的物品大小。从这里,您可以正确地调整html页面,以获得您想要的pdf大小。如果您使用的是mvc 4,则应使用此格式
public ActionResult yourAction()
{
var yourModel;
var yourpdf= new PartialViewAsPdf(yourModel)
{
RotativaOptions = new DriverOptions()
{
PageOrientation=Orientation.Landscape,
PageSize = Size.A4,
IsLowQuality=true
and other your Customiz
}
};
return yourpdf;
}
在进行任何操作之前,请不要忘记添加
using Rotativa.MVC;
using Rotativa;
对于使用自定义选项,请执行以下操作
return new ActionAsPdf
("ActionName")
{
FileName = "Filename.pdf",
RotativaOptions = new Rotativa.Core.DriverOptions()
{
PageSize=Rotativa.Core.Options.Size.A4,
}
};
什么意思?这不是和我上面展示的一样的语法吗,只是使用完整的名称空间,Rotativa.Options…
?是的,我的意思是如果不使用完整的名称空间,我就无法正常工作。如果这无助于解决您的问题,那么听起来它可能存在于您的CSS?我的完整名称空间中,其中包括使用顶部的和关键字,我在这里没有包括这些关键字。当你尝试你的方法时,它在正确的给定尺寸下工作得很好吗?是的,它工作得很好。也许试着像我一样设置页面大小,看看你得到了什么?我还没有尝试打印出pdf,但在reader中它的格式非常完美。你做了与我做的相同的事情@user2612373,所以它将输出相同的结果。你能不能像我之前的问题中所问的那样,用精确正确的尺寸试一下?你已经有了这个问题的答案!您应该编辑现有答案,而不是发布新答案。我将在@user2612373处试用,并告诉您结果,谢谢你的评论。尝试过这个,但在尝试通过css正确定位项目时,仍然会留下半英寸的差异。在呈现页面之前,你是否确保没有其他css或脚本修改页面?我似乎可以让它为我的申请工作良好。谢谢你的回复,这是非常有帮助的。我有关于Unicode的问题,当生成PDF时,一些Unicode被破坏了。你知道吗?