如何为 PdfSharp 生成的 Pdf 提供自定义大小
How to give custom size to PdfSharp generated Pdf
我正在尝试使用 PdfSharp 和 HTMLRenderer 从 HTML 生成包含 table 的 pdf。代码如下。
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。
如果我没记错的话,PageSize.A3 不是枚举而是 Rectangle 值。因此,您可以提供自己的矩形而不是传递预定义的矩形,例如:
new Rectangle(1191, 842) // 相册 A3
new Rectangle(842, 595) // 相册 A4
等等...
您可以使用 GeneratePdf
方法的 PdfGenerateConfig
参数使用 ManualPageSize
属性.
指定自定义页面大小
使用 PageOrientation
获取横向标准页面尺寸。
来自评论的代码:
var config = new PdfGenerateConfig();
config.PageOrientation = PageOrientation.Landscape;
config.ManualPageSize = new PdfSharp.Drawing.XSize(1080, 828);
pdf = PdfGenerator.GeneratePdf(html, config);
我是这样说的:
var config = new PdfGenerateConfig()
{
MarginBottom = 100,
MarginLeft = 20,
MarginRight = 20,
MarginTop = 100,
PageSize = PageSize.A4
};
PdfDocument pdf = PdfGenerator.GeneratePdf(html, config);
我正在尝试使用 PdfSharp 和 HTMLRenderer 从 HTML 生成包含 table 的 pdf。代码如下。
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。
如果我没记错的话,PageSize.A3 不是枚举而是 Rectangle 值。因此,您可以提供自己的矩形而不是传递预定义的矩形,例如:
new Rectangle(1191, 842) // 相册 A3
new Rectangle(842, 595) // 相册 A4
等等...
您可以使用 GeneratePdf
方法的 PdfGenerateConfig
参数使用 ManualPageSize
属性.
使用 PageOrientation
获取横向标准页面尺寸。
来自评论的代码:
var config = new PdfGenerateConfig();
config.PageOrientation = PageOrientation.Landscape;
config.ManualPageSize = new PdfSharp.Drawing.XSize(1080, 828);
pdf = PdfGenerator.GeneratePdf(html, config);
我是这样说的:
var config = new PdfGenerateConfig()
{
MarginBottom = 100,
MarginLeft = 20,
MarginRight = 20,
MarginTop = 100,
PageSize = PageSize.A4
};
PdfDocument pdf = PdfGenerator.GeneratePdf(html, config);