Really without using itextSharp will be complicated, there is another NPOI.XWPF.UserModel library, perhaps this code can help you, in this example the code actually decreases the size of the pages, therefore decreasing the size of the pdf too: / p>
const double scale = 0.5;
using (FileStream inputStream = new FileStream(@"..\..\../inputdocuments/PackingLightBrochure.pdf", FileMode.Open, FileAccess.Read))
{
// open the source document
Document documentIn = new Document(inputStream);
// create the target document
Document documentOut = new Document();
// enumerate the pages in the source document
foreach (Page originalPage in documentIn.Pages)
{
// calculate a new size of the page
double scaledWidth = originalPage.Width * scale;
double scaledHeight = originalPage.Height * scale;
// append a scaled version of the original page to the target document
Page scaledPage = new Page(scaledWidth, scaledHeight);
documentOut.Pages.Add(scaledPage);
PageShape pageShape = new PageShape(originalPage, 0, 0, scaledPage.Width, scaledPage.Height);
scaledPage.VisualOverlay.Add(pageShape);
}
// write the target document to disk
using (FileStream outFile = new FileStream(@"..\..\output.pdf", FileMode.Create, FileAccess.Write))
{
documentOut.Write(outFile);
}
}
I saw this example on this site: link