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);
}
posted @ 2024-06-01 15:03  xhubobo  阅读(8)  评论(0编辑  收藏  举报