2010-05-25 66 views

回答

9

使用iTextSharp没有直接的方法从PDF中删除页面。

但是,您可以从PDF中复制所需的所有页面,并跳过不想要的页面。在你的情况下,你会复制除第一页以外的所有内容。

我写了一个方法,它基于我在this blog entry上找到的代码。

+0

如果投票人的回答是最好的,拜托,是有礼貌,并给他/她一个点。 – Phil 2010-06-14 21:34:44

+3

@ jay-riggs博客条目消失了:( – fabsenet 2015-02-05 21:04:11

2

PdfReader reader_SecondPdf = new PdfReader(pdf_of_Second_File);

 for (j = 2; j <= reader_SecondPdf.NumberOfPages; j++) 
    { 

    } 
2

利用iText 7(感谢@mkl)

public static void ExtractPagesFromPdf(string inputFile, string outputFile, int start, int end) 
    { 
     PdfReader inputPdf = new PdfReader(inputFile); 
     PdfDocument docIn = new PdfDocument(inputPdf); 

     PdfWriter outputWriter = new PdfWriter(outputFile); 
     PdfDocument docOut = new PdfDocument(outputWriter); 

     // retrieve the total number of pages 
     int pageCount = docIn.GetNumberOfPages(); 

     if (end < start || end > pageCount) 
     { 
      end = pageCount; 
     } 

     var merge = new PdfMerger(docOut); 

     merge.Merge(docIn, start, end); 

     merge.Close(); 
    } 

从archive.org快照使用iTextSharp的5.x的 http://web.archive.org/web/20110619070947/http://www.jamesewelch.com:80/2008/11/14/how-to-extract-pages-from-a-pdf-document/

+0

Hhmmm,至少在目前的iText版本中有更好的方法来做到这一点;可能不会在@JayR的答案时......尽管...... – mkl 2017-04-21 15:47:36