【问题标题】:how to re-sizing pdf content with iTextsharp如何使用 iTextsharp 重新调整 pdf 内容的大小
【发布时间】:2012-11-03 15:08:26
【问题描述】:

我只需要调整 pdf 文件中页面内容的大小,这与减小文件大小无关我只需要减少每个页面内容,即一个图像,以便能够以横向模式将其打印为小册子。 所以我需要减少每个页面内容的高度和宽度。

我在 c# 中使用 iTextSharp

【问题讨论】:

  • pdf查看器缩小pdf的机制还不够?

标签: c#-4.0 pdf itextsharp


【解决方案1】:

最简单的方法可能是更改相关页面的默认用户空间单位的大小。

默认用户空间单位可以使用页面字典条目/UserUnit在每页的基础上进行配置,参见。 PDF规范中的表30ISO 32000-1:2008

UserUnit number (可选;PDF 1.6) 一个正数,表示默认用户空间单位的大小,单位为 1⁄72 英寸的倍数。 支持值的范围应取决于实现。

默认值:1.0(用户空间单位为 1⁄72 英寸)。

因此,您所要做的就是为 PDF 文件的 PdfReader 创建一个 PdfStamper,遍历页面字典,读取它们当前的 /UserUnit 值(默认值:1.0),将其缩减为需要,将其写回,将页面字典标记为已更改,并写入 PdfStamper 的结果。

【讨论】:

    【解决方案2】:

    尝试将您的内容添加到文档中,并使用 SetPageSize 属性将文档页面设置为横向。
    以下是将页面设置为横向的代码:
    文档 document = new Document();
    document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
    //添加一些内容
    PdfPTable 表 = 新 PdfPTable(1);
    PdfPCell cell = new PdfPCell(new Phrase("Some test text"));
    cell.Horizo​​ntalAlignment = 1; //0=左,1=中,2=右
    table.AddCell(cell);

    【讨论】:

      猜你喜欢
      • 2010-11-09
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多