【问题标题】:ItextSharp Scaling / Resizing Images into PDFItextSharp 缩放/将图像大小调整为 PDF
【发布时间】:2016-06-10 05:00:30
【问题描述】:

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

但这不适用于大多数图像,尤其是小图像。

【问题讨论】:

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


    【解决方案1】:

    我知道这个回复很晚,但我认为这可能对其他人有帮助,因为我遇到了同样的问题。我这样做是为了翻转然后调整大小:

    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,可能需要进行其他更改。

    【讨论】:

      【解决方案2】:

      你可以使用你的代码,但你需要一个像这样的额外过滤器

         var scalePercent = (((doc.PageSize.Width / image.Width) * 100) - 4);
         img.ScalePercent(scalePercent);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-26
        • 2012-02-01
        • 2018-06-15
        • 1970-01-01
        • 1970-01-01
        • 2012-05-02
        • 2016-10-29
        • 1970-01-01
        相关资源
        最近更新 更多