猿问

如何将PDF文档拆分为小文档

我需要将一个文档拆分为几个小文档。例如,如果文档有7页,我需要生成7个pdf。


在iTextSharp中,我使用以下代码,效果很好。但是,在iText 7中,不可能以相同的方式进行操作。


iTextSharp旧代码

var reader = new PdfReader(src);

for (int i = 1; i <= reader.NumberOfPages; i++)

{

    var document = new Document();

    var copy = new PdfCopy(document, new FileStream(result + i + ".pdf", FileMode.Create));

    document.Open();

    copy.AddPage(copy.GetImportedPage(reader, i));

    document.Close();

}

iText 7,但不起作用


我发现的第一个问题是PdfSplitter,这可能会将我的pdf拆分为小pdf。但是,即使我的测试pdf也有7页,甚至GetNumberOfPages()返回数字7,拆分文档的数量也仅为1。


在此链接的文档中以某种方式显示了如何拆分文档。但是,我不知道如何对提到的方法进行类似的处理-getNextPdfWriter


第二个问题

即使我只有一个文件,它也为空。我想知道如何设置合适的作者来创建正确的pdf。分别设置阅读器以读取拆分文档的内容。


string result = outputPath + @"/page00";

using (pdfDocument = new PdfDocument(new PdfReader(pdfPath)))

{


    var splitter = new PdfSplitter(pdfDocument);

    var splittedDocs = splitter.SplitByPageCount(pdfDocument.GetNumberOfPages());


    for (int i = 0; i < pdfDocument.GetNumberOfPages(); i++)

    {

        //how to set reader to read the content of splitted docs. Or how to set writer for splitted doc.

        var pdfDoc = new PdfDocument(new PdfWriter(new FileStream(result + i + ".pdf", FileMode.Create)));

        pdfDoc.Close();

        splittedDocs[i].Close();

    }

}

问题

如何使用iText 7在.NET Core中正确地将文档拆分为小的文档


交互式爱情
浏览 117回答 1
1回答
随时随地看视频慕课网APP
我要回答