Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用CSS@Page打印页面的呈现大小_C#_Css_Pdf Generation_Css Paged Media - Fatal编程技术网

C# 使用CSS@Page打印页面的呈现大小

C# 使用CSS@Page打印页面的呈现大小,c#,css,pdf-generation,css-paged-media,C#,Css,Pdf Generation,Css Paged Media,嗨,谢谢你的关注 背景 我正在打印一份多页报告,使用该报告将HTML页面打印为PDF。为此,我需要遵循CSS 2.1及更高版本的@page约定 我的应用程序是C#,MVC3 问题: 即使我在@page声明中指定了8.5in×11in,打印PDF中的页面也只会缩放到8.5X11页面的75%左右。我知道这一点,因为我有一个应该覆盖整个页面的背景图像,但它打印到PDF中的比例只有整个页面的75%。内容也被缩小了,因此所有内容都按比例正确,只是没有像它应该的那样对整个8.5X11帧进行拉票 我正在CSS

嗨,谢谢你的关注

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

我的应用程序是C#,MVC3

问题: 即使我在@page声明中指定了8.5in×11in,打印PDF中的页面也只会缩放到8.5X11页面的75%左右。我知道这一点,因为我有一个应该覆盖整个页面的背景图像,但它打印到PDF中的比例只有整个页面的75%。内容也被缩小了,因此所有内容都按比例正确,只是没有像它应该的那样对整个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>

酒吧


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

不知道这是否能解决您的问题。。但在最新版本中,您可以将一些选项传递给渲染引擎。您可以按如下方式设置页面宽度、页面高度和页边距:

    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
    };
var urlHelper=新的urlHelper(Request.RequestContext);
字符串url=urlHelper.Action(“Index”,new{name=“value”});
返回新的UrlAsPdf(“http://www.github.com")
{
FileName=“testexternalur.pdf”,
PageMargins=新页边距(3,3,3,3)
};

您确定没有其他(隐藏)图像或元素在HTML页面上占25%的比例(例如页眉或页脚某个地方有那么宽的透明图像?!?