Размеры и размеры 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;

    }