1
如何将现有PDF调整为另一种格式。我不想裁剪pdf,它必须缩小。 (印刷问题)Itextsharp调整大小(如缩小,而不是裁剪,不压缩)pdf从210x297到197x279
当我尝试这一点,因为PDF是裁剪而不是缩小
document.SetPageSize(new Rectangle(558.40f, 790.83f)); // 558.40f == 197mm
如何将现有PDF调整为另一种格式。我不想裁剪pdf,它必须缩小。 (印刷问题)Itextsharp调整大小(如缩小,而不是裁剪,不压缩)pdf从210x297到197x279
当我尝试这一点,因为PDF是裁剪而不是缩小
document.SetPageSize(new Rectangle(558.40f, 790.83f)); // 558.40f == 197mm
最有可能的,因为PDF不会变焦基于页面的大小这是行不通的。当你设置页面大小时,我指的是页面元素MediaBox,你正在定义渲染区域的物理大小。无论渲染区域如何,页面上的所有内容都被绘制为相同的比例。
为了改变这种情况,您需要截取内容流并预先执行矩阵操作来完成所需的比例。我不知道你是否能在iTextSharp的做到这一点,但实际操作PDF为m,如果插入这样的:
sx sy 0 0 0 0 m
其中SX和SY是浮动的代表在X和Y,你的规模数字想申请。在你的情况中,你将X从210更改为197,这是X中的.938比例。Y从297变为279,因此这是0.939的比例,所以你想要插入:
.938 .939 0 0 0 0 m
插入到内容流中,除了更改MediaBox外,还会影响该更改。
嗯,你有更多的信息在哪里改变流?我不是字节[] pdf专家:) – MichaelD 2010-04-23 20:17:47