如何向已有PDF指定位置插入一页

您好,感谢您的查看和帮助。

1,我想向已有PDF第一页插入一张空白页,大小是A4纸,并把图片添加到里面。

使用下面的代码,只能向最后一页插入空白页。
doc.Pages.Add();

@fhn123456

我们建议您阅读以下文章以实现您的要求。

使用 C# 将图像添加到 PDF

要将页面添加到 PDF 中,请阅读以下文章。
使用 C# 在 PDF 中添加页面

非常感谢您的回复和帮助!

1,我使用 var page = doc6.Pages.Insert(1);确实可以添加一个空白页。

        Aspose.Pdf.Document doc6 = new Aspose.Pdf.Document(@"E:\桌面\666\源文件\input.pdf");

        var page = doc6.Pages.Insert(1);

        //将新创建pdf页面设置成A4大小
        Aspose.Pdf.Page page2 = doc6.Pages[1];

        page.SetPageSize(Aspose.Pdf.PageSize.A4.Width, Aspose.Pdf.PageSize.A4.Height);

        var Height = doc6.Pages[1].GetPageRect(false).Height;
        var Width = doc6.Pages[1].GetPageRect(false).Width;

        doc6.Save(@"E:\桌面\666\源文件\03.pdf");

2,我看到API里面有这个代码,Page entity应该也可以直接添加一个A4大小的页面,我该如何使用它?
public Page Insert(int pageNumber, Page entity)

@fhn123456

您能否分享未在此处插入空白页面以进行测试的输入 PDF?

测试PDF文件:input.pdf (1.5 MB)

如何使用这个API插入A4大小的空白页:public Page Insert(int pageNumber, Page entity)

@fhn123456

Pages.Insert 方法在使用最新版本的 Aspose.PDF for .NET 22.11 时有效。 Insert 方法返回 Page 对象。 您可以使用它,如下所示. 请升级到最新版本的 Aspose.PDF for .NET 22.11.

Aspose.Pdf.Document doc6 = new Aspose.Pdf.Document(MyDir + @"input.pdf");

Aspose.Pdf.Page page = doc6.Pages.Insert(1);

page.SetPageSize(Aspose.Pdf.PageSize.A4.Width, Aspose.Pdf.PageSize.A4.Height);

var Height = doc6.Pages[1].GetPageRect(false).Height;
var Width = doc6.Pages[1].GetPageRect(false).Width;

doc6.Save(MyDir + @"22.10.pdf");

好吧,谢谢您的帮助和回复!

但我想知道这个API,Page entity 可不可以直接写入指定大小的页,比如A4大小。
public Page Insert(int pageNumber, Page entity)

我想这个PDF压缩一半,你们有相关的API吗。

@fhn123456

以下片段显示了如何将页面从一个 PDF 复制到另一个。 您可以在此代码段中检查 Pages.Insert 方法的使用情况。

//插入document2的最后一页作为document1的第5页
document1.Pages.Insert(5, document2.Pages[document2.Pages.Count]);

//将document2的最后一页添加为document1的下一页
document1.Pages.Add(document2.Pages[document2.Pages.Count]);