Размеры и размеры CSS для Rotativa ViewAsPDF
Я обрабатываю HTML-представление в ASP.Net MVC в PDF с помощью метода Rotativa ViewAsPdf
. Я устанавливаю вывод из формата A4, Portrait и без полей, установив:
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
, которая должна распространять всю ширину страницы, но в выходном PDF-формате ширина 210mm
не представляет всю ширину PDF файла но меньше. По результатам проб и ошибок общая ширина сгенерированного PDF файла составляет около 246mm
.
Любые идеи, почему это может происходить?
Ответы
Ответ 1
Если у вас все еще есть проблемы, сделайте больше исследований по ротативе. Вы можете использовать пользовательские переключатели из wkhtmltopdf. Попробуйте добавить
CustomSwitches = "--disable-smart-shrinking".
Это позволяет программе автоматически изменять размеры ваших вещей. Оттуда вы можете правильно настроить html-страницу, чтобы получить нужный размер в pdf-формате.
Ответ 2
Думаю, я могу вам помочь.
{
FileName = Name + ".pdf",
PageOrientation = Rotativa.Options.Orientation.Landscape,
PageSize = Rotativa.Options.Size.A4
}
Что для меня работает с 1.6.3. Id представьте, что вам нужно будет следовать этому синтаксису, чтобы установить другие вещи, которые вы хотите.
Ответ 3
если вы используете 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;
}