2010-05-25 177 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