2014-07-08 102 views
7

我正在使用Rotativa ViewAsPdf方法將ASP.Net MVC中的HTML視圖渲染爲PDF。我設置的輸出中是A4尺寸,肖像,沒有利潤的,通過設置:Rotativa ViewAsPDF CSS大小/尺寸

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

我想我可以幫你。

{ 
       FileName = Name + ".pdf", 
       PageOrientation = Rotativa.Options.Orientation.Landscape, 
       PageSize = Rotativa.Options.Size.A4 

} 

是什麼對我來說適用於1.6.3。我想象你需要遵循這個語法來設置你想要的其他東西。

+0

你是什麼意思?是不是像我上面顯示的語法一樣,只是使用完整的命名空間'Rotativa.Options ...'? –

+0

是的,我的意思是我無法使用完整的名稱空間正確工作。如果這沒有幫助解決你的問題,它聽起來像它可能在你的CSS? – user2612373

+0

我的完整命名空間,其中包括在頂部使用'using'關鍵字,我沒有在這裏包含。當你設法試用你的產品時,它是否完美地符合正確的尺寸? –

8

如果你仍然有問題,我做了更多的rotativa研究。您可以使用wkhtmltopdf的自定義開關。嘗試並添加

CustomSwitches = "--disable-smart-shrinking". 

停止程序自動調整大小。從那裏你可以正確調整你的HTML頁面,以獲得你想要的PDF文件的大小。

+0

你已經有了這個問題的答案!您應該編輯您現有的答案,而不是發佈新的答案。 –

+0

我會試用@ user2612373並讓你知道結果,謝謝你的評論。 –

+0

嘗試了這一點,它似乎仍然留下了半英寸的差異,當試圖通過CSS正確定位項目 –