【发布时间】:2012-02-23 15:00:33
【问题描述】:
我有一个要添加到 PDF 文档的表格和图表。我已经使用 iTextSharpLibrary 将内容添加到 PDF 文件中。
实际上问题在于图表的宽度为 1500 像素,而表格在 A4 页面大小中非常适合。
实际上,我得到的图表图像不能缩放以适应页面,因为它会降低可见度。因此,我需要添加一个宽度比其他页面更宽的新页面,或者至少将页面方向更改为横向,然后添加图像。我该怎么做?
这是我用来添加新页面然后调整页面大小然后添加图像的代码。这是行不通的。有什么修复吗?
var imageBytes = ImageGenerator.GetimageBytes(ImageSourceId);
var myImage = iTextSharp.text.Image.GetInstance(imageBytes);
document.NewPage();
document.SetPageSize(new Rectangle(myImage.Width, myImage.Height));
myImage.ScaleToFit(document.PageSize.Width, document.PageSize.Height);
document.Add(myImage);
【问题讨论】:
-
“这不起作用”是什么意思?你得到一个错误?您是否在 PDF 查看器中检查了页面大小?
-
你想保持图像大小吗?在您的问题中,您说:“实际上,我得到的图表图像不得缩放以适合页面...”,但在您的代码 sn-p 中,您通过调用 @987654322 与此声明相矛盾@.
-
@OcasoProtal:我没有收到任何错误。但是页面大小没有改变以适应图表
-
@kuujinbo:即使我使用
chartImage.ScaleAbsoluteHeight(document.PageSize.Height); chartImage.ScaleAbsoluteWidth(document.PageSize.Width);,导出的图表也没有任何变化 -
我尝试通过 document.SetPageSize(new Rectangle(...)) 更改页面大小,但这似乎在调用 PdfDocument.CreateInstance 之前有效。
标签: c# pdf itextsharp