gpt4 book ai didi

c# - 使用 CSS @Page 渲染打印页面的大小

转载 作者:行者123 更新时间:2023-11-30 13:48:41 32 4
gpt4 key购买 nike

您好,感谢您的关注!

背景

我正在使用 Rotativa PDF 打印多页报告它将 HTML 页面打印为 PDF。为此,我需要遵循 CSS 2.1 及更高版本的@page 约定。

我的应用程序使用 C#、MVC 3。

问题/疑问:

即使我在@page 声明中指定 8.5in x 11in,打印的 PDF 中的页面也只会缩放到 8.5X11 工作表的大约 75%。我知道这一点是因为我有一个应该覆盖整个页面的背景图像,但它仅占整个页面的 75% 左右打印成 PDF。内容也按比例缩小,因此一切都按比例正确,只是没有按应有的方式绘制整个 8.5X11 框架。

我在 CSS 中像这样设置报告的封面:

@page defaultPage{size:8.5in 11in;margin: 2cm;}    
#CoverPage {
page: defaultPage;
background-image: url(/Resources/rendered_assets/img/cover_bg.jpg);
background-repeat:no-repeat;
width:8.5in;
height: 11in;
}

和 HTML:

 <div id="CoverPage">
<p>foo</p>
<p>bar</p>
</div>

知道我可能做错了什么吗?提前致谢。

最佳答案

不知道它是否能解决您的问题.. 但最新的 Rotativa发布你有可能将一些选项传递给渲染引擎。您可以像这样设置 PageWidth 和 PageHeight 以及边距:

    return new ViewAsPdf()
{
FileName = "TestView.pdf",
PageSize = Size.A3,
PageOrientation = Orientation.Landscape,
PageMargins = { Left = 0, Right = 0 }, // it's in millimeters
PageWidth = 122, // it's in millimeters
PageHeight = 44
};

关于c# - 使用 CSS @Page 渲染打印页面的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11829294/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com