我正在使用 Itextsharp 将一些图像放入 PDF。其中一些图像很大(3600h x 2500w)和一些小(1000h x 700w)。我的 PDF 页面是 842H x 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);
但请注意,我将文档上的 pageSize 设置为字母,因此如果生成不同大小的 PDF,可能需要进行其他更改。
关于c# - ItextSharp 将图像缩放/调整大小为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37740219/