c# - ItextSharp 将图像缩放/调整大小为 PDF

标签 c# .net pdf model-view-controller itextsharp

我正在使用 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/

相关文章:

c# - Windows RT - 按钮单击事件是否在 UI 线程上执行?

python - 使用 Django 和 Reportlab 从 HTML 生成 PDF

pdf - 如何从 Google Docs 导出 PDF 而不会过度压缩标题中的图形

.net - WCF 数据服务的工作是否已停止?

c# - 在 .NET (C#) 中测试文件复制速度时防止缓存

.net - 使用嵌套验证对复杂模型进行单元测试

ruby - 如何使用纯 ruby​​ 从 markdown 生成 PDF

c# - 为什么 EF 获取所有记录,然后通过 PK 再次获取所有记录

javascript - 网站未通过 bundle 加载 jQuery

c# - BackgroundWorker 在 DoWork 之前完成