0

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

我正在使用 iTextSharp 和 c#

4

2 回答 2

1

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

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

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

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

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

于 2012-11-03T21:08:09.373 回答
0

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

于 2012-11-05T21:13:40.667 回答