In C#, with opensource iTextSharp can be find in nuget package, we can easily rotate each pdf pages and save as new file, use below code
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
namespace PdfRotate
{
    class Program
    {
        static void Main(string[] args)
        {
            //INFO: Change
input and ouput path here
            string pdfFilePath = @"C:\Files\sample.pdf";
            string outputPath = @" C:\Files\sampleoutput.pdf
";
            //INFO: Change rotate
degree here to 90, 180 etc
            RotatePages(pdfFilePath,
outputPath, 180);            
        }
        private static void RotatePages(string pdfFilePath, string outputPath, int rotateDegree)
        {
            PdfReader reader = new PdfReader(pdfFilePath);
            int pagesCount = reader.NumberOfPages;
            for (int n = 1; n
<= pagesCount; n++)
            {
                PdfDictionary page =
reader.GetPageN(n);
                PdfNumber rotate =
page.GetAsNumber(PdfName.ROTATE);
                int rotation =
                        rotate == null ? rotateDegree : (rotate.IntValue +
rotateDegree) % 360;
                page.Put(PdfName.ROTATE, new PdfNumber(rotation));
            }
            PdfStamper stamper = new PdfStamper(reader, new FileStream(outputPath,
FileMode.Create));
            stamper.Close();
            reader.Close();
        }
    }
}
No comments:
Post a Comment