- 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
}