为有中文需求的客户提供多渠道中文技术支持.

Fri Nov 11, 2022 12:48 am

你好:
公司为了减省纸张,需要将多个档案合并成1个档案.

输入: 多个21cm(width)x11cm的PDF档案
输出: 1个A4的PDF档

举例来说, 3个PDF档会合并成1个2页的A4的PDF档案. 第1页上半部显示Sample1.pdf, 下半部显示Sample2.pdf.
第2页的资料会显示在上半部, 下半部空白.

请教使用SpirePdf要如何做到? 谢谢你!!

(附上3个21cmx11cm的PDF档)

tonychen1201
 
Posts: 20
Joined: Fri Mar 11, 2022 1:01 am

Fri Nov 11, 2022 3:26 am

您好,

感谢您的留言。
对于您的需求,请参考下面的代码:
如果您还有任何问题,欢迎随时联系。
Code: Select all
//加载初始文档
            PdfDocument Sample1 = new PdfDocument();
            Sample1.LoadFromFile(@"../../data/Sample1.pdf");

            PdfDocument Sample2 = new PdfDocument();
            Sample2.LoadFromFile(@"../../data/Sample2.pdf");

            PdfDocument Sample3 = new PdfDocument();
            Sample3.LoadFromFile(@"../../data/Sample3.pdf");

            //获取要合并的页面
            PdfPageBase SamplePageBase1 = Sample1.Pages[0];
            PdfPageBase SamplePageBase2 = Sample2.Pages[0];
            PdfPageBase SamplePageBase3 = Sample3.Pages[0];

            //新建合并文档
            PdfDocument newDoc = new PdfDocument();

            //给新文档添加两个大小为A4的页面
            PdfPageBase pageBase1 = newDoc.Pages.Add(PdfPageSize.A4);
            PdfPageBase pageBase2 = newDoc.Pages.Add(PdfPageSize.A4);

            //将Sample1.pdf绘制到新文档第一页上半部分     
            SamplePageBase1.CreateTemplate().Draw(pageBase1, new PointF(0, 0));

            //将Sample2.pdf绘制到新文档第一页下半部分
            SamplePageBase2.CreateTemplate().Draw(pageBase1, new PointF(0, pageBase1.Size.Height / 2));

            //将Sample3.pdf绘制到新文档第二页上半部分   
            SamplePageBase3.CreateTemplate().Draw(pageBase2, new PointF(0, 0));

            //保存文档
            newDoc.SaveToFile(@"../../output/result.pdf");


Sincerely
Abel
E-iceblue support team
Last edited by Abel.He on Fri Nov 11, 2022 5:54 am, edited 1 time in total.
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Fri Nov 11, 2022 3:53 am

It works. 谢谢提供解答!

tonychen1201
 
Posts: 20
Joined: Fri Mar 11, 2022 1:01 am

Fri Nov 11, 2022 5:55 am

感谢您的反馈。
如果您还有其他任何问题,欢迎随时联系。

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Return to 中文技术支持