首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用iTextSharp (或iText)裁剪并将页面从一个PDF复制到另一个

如何使用iTextSharp (或iText)裁剪并将页面从一个PDF复制到另一个
EN

Stack Overflow用户
提问于 2018-03-23 20:12:53
回答 1查看 354关注 0票数 0

我编写了代码来执行以下操作:

  1. 取一个特定页面大小的PDF (例如8.5“x11”)
  2. 创建一个页面大小更大的新PDF (例如,17“x11”)
  3. 将原始PDF加到新的PDF上(例如,2向上,使生成的新PDF与原始PDF并排)

为此,我使用PdfWriter.GetImportedPage方法从原始PDF中获取当前页面,然后使用PdfContentByte.AddTemplate(page, x, y)方法将原始页面放置到新PDF的当前页面上。

我的新挑战是,在将原始PDF添加到新PDF之前,我需要裁剪原始PDF。例如,假设我要在输入PDF之前,先从原来的PDF中裁剪2“,输入PDF仍为8.5”x11“,新PDF仍为17”x11“,但新PDF的两份”副本“已从其顶部、右侧、底部和左侧移除2”。

希望这些图片能让这一切变得更清楚。这是我现在要做的,做一个2-向上的强加。(这件事运行得很顺利。)

但我需要做的是:

我知道我可以通过使用MediaBox或CropBox设置来改变PDF在查看器中的显示,但是AddTemplate并不尊重这些设置。我知道,使用AddTemplate,我可以使用转换矩阵来定位页面,或者缩放或旋转页面,但是我不想缩小原始的PDF,我想要裁剪它。

谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2018-03-23 20:27:59

我发现在将它添加到新的PDF之前,我可以使用导入页面的BoundingBox来裁剪它(通过AddTemplate)。

我的代码看起来是这样的:

代码语言:javascript
运行
复制
PdfImportedPage page = writer.GetImportedPage(pageNumber);

// Crop!
page.BoundingBox = new Rectangle(llx, lly, urx, ury);

// Add to new PDF
writer.DirectContent.AddTemplate(page, x, y);

这就行了!

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49457640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档