c#

itext c#能进行PDF分割吗

小樊
90
2024-12-12 22:24:04
栏目: 编程语言

是的,iText 是一个用于处理 PDF 文件的库,它提供了丰富的功能,包括 PDF 分割。在 C# 中,你可以使用 iTextSharp 或 iText 7(iText 的最新版本)来实现 PDF 分割。

以下是一个使用 iText 7 进行 PDF 分割的简单示例:

using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas;
using iText.Kernel.Pdf.Writer;

namespace PdfSplitExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputPath = "path/to/your/input.pdf";
            string outputPath = "path/to/your/output.pdf";

            SplitPdf(inputPath, outputPath);
        }

        public static void SplitPdf(string inputPath, string outputPath)
        {
            using (PdfReader reader = new PdfReader(inputPath))
            {
                int numberOfPages = reader.NumberOfPages;
                for (int i = 1; i <= numberOfPages; i++)
                {
                    string pageNumber = i.ToString();
                    string outputPathPage = $"{outputPath}_{pageNumber}.pdf";
                    SplitAndSavePdf(reader, outputPathPage, 0, i - 1);
                }
            }
        }

        public static void SplitAndSavePdf(PdfReader reader, string outputPath, int startPage, int endPage)
        {
            using (PdfWriter writer = new PdfWriter(outputPath))
            {
                PdfDocument pdfDocument = new PdfDocument(reader, writer);
                for (int i = startPage; i <= endPage; i++)
                {
                    pdfDocument.AddPage(pdfDocument.GetPage(i));
                }
                pdfDocument.Close();
            }
        }
    }
}

在这个示例中,我们首先读取输入 PDF 文件,然后遍历每一页并将其保存到单独的 PDF 文件中。请注意,这个示例仅适用于简单的 PDF 分割,如果你需要更复杂的分割功能,你可能需要查阅 iText 官方文档以获取更多详细信息。

0
看了该问题的人还看了