如何为PdfSharp生成Pdf提供自定义大小

时间:2017-06-07 11:02:06

标签: c# html-rendering html-renderer

我试图从HTML生成pdf,其中包含使用PdfSharp和HTMLRenderer的表。以下是代码。

            pdf = PdfGenerator.GeneratePdf(html, PageSize.A3);

            byte[] fileContents = null;
            using (MemoryStream stream = new MemoryStream())
            {
                pdf.Save(stream, true);
                fileContents = stream.ToArray();
                return new FileStreamResult(new MemoryStream(fileContents.ToArray()), "application/pdf");
            }

我是否有可能为PDF提供自定义尺寸并更改页面方向。我正在使用内存流直接在浏览器显示屏上显示PDF。

3 个答案:

答案 0 :(得分:1)

您可以使用PdfGenerateConfig方法的GeneratePdf参数,使用ManualPageSize属性指定自定义页面大小。

使用PageOrientation获取横向标准页面尺寸。

评论代码:

var config = new PdfGenerateConfig();
config.PageOrientation = PageOrientation.Landscape;
config.ManualPageSize = new PdfSharp.Drawing.XSize(1080, 828);

pdf = PdfGenerator.GeneratePdf(html, config);

答案 1 :(得分:1)

我就是这样说的:

pointStyle: 'line',
radius: 20,
fill: false,
showLine: false,

答案 2 :(得分:0)

如果我没弄错,PageSize.A3不是枚举值而是矩形值。因此,您可以提供自己的Rectangle,而不是传递预定义的Rectangle,例如:

new Rectangle(1191,842)//专辑A3

new Rectangle(842,595)//专辑A4

依旧......