sales@e-iceblue.com    |    028-81705109    |    2181348176    |    微信扫一扫    |    EN-US   |    论坛

C# PDF 重叠页面

有时候,我们会需要将多个不同PDF页面重叠为一个页面,该文将从下面两个方面介绍如何使用C#重叠PDF页面。


两个PDF文件里各有一个页面,重叠成一个页面。该示例文档一是文字,文档二是一张图片,通过Spire.PDF重叠后,会将图片和文字叠加并形成一个新的PDF图文并存的文档。

C# PDF 重叠页面

//加载两个PDF文档

PdfDocument doc1 = new PdfDocument();
doc1.LoadFromFile("Sample1.pdf");
PdfDocument doc2 = new PdfDocument();
doc2.LoadFromFile("Sample2.pdf");


//创建模板
PdfTemplate template = doc1.Pages[0].CreateTemplate();

foreach (PdfPageBase page in doc2.Pages)
{
    //设置透明度和重叠样式
    page.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);

    //将第一个页面的内容写人第二个页面,并设置其位置
    page.Canvas.DrawTemplate(template, new PointF(0, 120));
}

//保存文档
doc2.SaveToFile("Overlay1.pdf");
System.Diagnostics.Process.Start("Overlay1.pdf");

C# PDF 重叠页面


同一个PDF文件里有2个页面。重叠成一个页面。我们将第二页的数据写入第一页后,再删除掉原来的第二页,这样就会获得一个新的PDF页面,并包含了先前两页的所有内容。

C# PDF 重叠页面

//加载示例文档
PdfDocument doc = new PdfDocument("Sample.pdf");

//创建模板
PdfTemplate template = doc.Pages[1].CreateTemplate();

//获取第一个页面
PdfPageBase page1 = doc.Pages[0];

//获取第二个页面
PdfPageBase page2 = doc.Pages[1];

//设置透明度和重叠样式 
page2.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);

//将第二页中的内容写入第一页并设置其位置
page1.Canvas.DrawTemplate(template, new PointF(0, 30));

//删除第二页
doc.Pages.RemoveAt(1);

//保存文档
doc.SaveToFile("Overlay2.pdf");

C# PDF 重叠页面