C#使用PdfPig分割合并PDF
使用打印机扫描双面文档后,页码是交错且倒置的,因此想到使用C#获取PDF页面后重新排列,组成符合预期的PDF文件。基本思想就是分别获取2个PDF文档的页码,然后根据页码规则重新生成PDF文件。
经查询发现PdfPig库能够轻松实现PDF文件重新排列,该类库基于Apache-2.0 license,GitHub上有1.5k Stars,地址为:https://github.com/UglyToad/PdfPig。
下面是使用PdfPig进行PDF文件重新排列的示例代码:
private async Task MergePdfAsync() { //打开PDF文件 using var document1 = PdfDocument.Open(@"D:\test1.pdf"); using var document2 = PdfDocument.Open(@"D:\test2.pdf"); //创建PDF文档 var builder = new PdfDocumentBuilder(); for (var i = 0; i < document1.NumberOfPages; i++) { builder.AddPage(document1, i + 1); builder.AddPage(document2, 5 - i); } //保存PDF文件 var documentBytes = builder.Build(); await File.WriteAllBytesAsync(@"newPdf.pdf", documentBytes); }