- iTextSharp 5.5.13.2
- stackoverflow.com – Split PDF into multiple PDFs using iTextsharp
ติดตั้ง
PM> Install-Package iTextSharp -Version 5.5.13.2
หน้าแรกของ PDF คือหน้าที่ 1
using iTextSharp.text; using iTextSharp.text.pdf; using System; using System.Reflection; namespace ConsoleApp1 { class Program { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); static void Main(string[] args) { try { log.Info("*********************************"); log.Info("************* BEGIN *************"); log.Info(AppDomain.CurrentDomain.FriendlyName); string sourcePDFpath = "iptest.pdf"; string outputPDFpath = "optest.pdf"; int startpage = 1; int endpage = 1; ExtractPages(sourcePDFpath, outputPDFpath, startpage, endpage); log.Info("************** END **************"); log.Info(""); } catch (Exception ex) { log.Error(ex.Message); log.Error(ex.ToString()); } } // end main private static void ExtractPages(string sourcePDFpath, string outputPDFpath, int startpage, int endpage) { PdfReader reader = null; Document sourceDocument = null; PdfCopy pdfCopyProvider = null; PdfImportedPage importedPage = null; reader = new PdfReader(sourcePDFpath); sourceDocument = new Document(reader.GetPageSizeWithRotation(startpage)); pdfCopyProvider = new PdfCopy(sourceDocument, new System.IO.FileStream(outputPDFpath, System.IO.FileMode.Create)); sourceDocument.Open(); for (int i = startpage; i <= endpage; i++) { importedPage = pdfCopyProvider.GetImportedPage(reader, i); pdfCopyProvider.AddPage(importedPage); } sourceDocument.Close(); reader.Close(); } } // end class }