C# ItextSharp将图像缩放/大小调整为PDF格式
我正在使用Itextsharp将一些图像放入PDF。有些图像是3600h乘2500w的大图像,有些图像是1000h乘700w的小图像。我的PDF页面是842H乘737H 这些大图像中的一些将不适合potrait,因此我正在翻转宽度>高度的图像C# ItextSharp将图像缩放/大小调整为PDF格式,c#,.net,pdf,model-view-controller,itextsharp,C#,.net,Pdf,Model View Controller,Itextsharp,我正在使用Itextsharp将一些图像放入PDF。有些图像是3600h乘2500w的大图像,有些图像是1000h乘700w的小图像。我的PDF页面是842H乘737H 这些大图像中的一些将不适合potrait,因此我正在翻转宽度>高度的图像 img.RotationDegrees = 90f; 现在,我的问题是如何缩放图像,使它们都能完美地缩放并适合页面 我试着用 var scalePercent= (PDFPage.Width / img.Width) * 100; img.S
img.RotationDegrees = 90f;
现在,我的问题是如何缩放图像,使它们都能完美地缩放并适合页面
我试着用
var scalePercent= (PDFPage.Width / img.Width) * 100;
img.ScalePercent(scalePercent);
但这对大多数图像不起作用,特别是小图像。我知道这一反应来得太晚了,但我想这可能会帮助其他人,因为我也有同样的问题。我这样做是为了翻转然后调整大小:
Document pdfDoc = new Document(PageSize.LETTER, 10f, 10f, 10f, 0f);
pdfDoc.SetPageSize(iTextSharp.text.PageSize.LETTER.Rotate());
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(image);
img.SetAbsolutePosition(0, 0);
img.ScaleAbsoluteHeight(pdfDoc.PageSize.Height);
img.ScaleAbsoluteWidth(pdfDoc.PageSize.Width);
但是请注意,我正在将文档的页面大小设置为字母大小,因此如果生成不同大小的PDF,可能需要进行其他更改。我知道此响应非常晚,但我认为这可能会帮助其他人,因为我也有同样的问题。我这样做是为了翻转然后调整大小:
Document pdfDoc = new Document(PageSize.LETTER, 10f, 10f, 10f, 0f);
pdfDoc.SetPageSize(iTextSharp.text.PageSize.LETTER.Rotate());
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(image);
img.SetAbsolutePosition(0, 0);
img.ScaleAbsoluteHeight(pdfDoc.PageSize.Height);
img.ScaleAbsoluteWidth(pdfDoc.PageSize.Width);
但是请注意,我正在将文档的页面大小设置为字母,因此,如果生成不同大小的PDF,则可能需要进行其他更改。您可以使用代码,它可以正常工作,但您需要一个这样的额外过滤器
var scalePercent = (((doc.PageSize.Width / image.Width) * 100) - 4);
img.ScalePercent(scalePercent);
你可以使用你的代码,它工作得很好,但是你需要一个像这样的额外过滤器
var scalePercent = (((doc.PageSize.Width / image.Width) * 100) - 4);
img.ScalePercent(scalePercent);