Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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# ItextSharp将图像缩放/大小调整为PDF格式_C#_.net_Pdf_Model View Controller_Itextsharp - Fatal编程技术网

C# ItextSharp将图像缩放/大小调整为PDF格式

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

我正在使用Itextsharp将一些图像放入PDF。有些图像是3600h乘2500w的大图像,有些图像是1000h乘700w的小图像。我的PDF页面是842H乘737H

这些大图像中的一些将不适合potrait,因此我正在翻转宽度>高度的图像

 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);