Can I improve this code and make it more beautiful? For example, I am using a switch statement and for each page but I only add edits to page 1 and page 2?
byte[] b = null;
MemoryStream stream = new MemoryStream(buffer);
string _Number = "4.2021";
string _disclaimer = "Text";
using (MemoryStream returnMemoryStream = new MemoryStream())
{
PdfReader = new PdfReader(stream);
PdfDocument pdfDocument = new PdfDocument(PdfReader, new PdfWriter(returnMemoryStream));
int numberOfPages = pdfDocument.GetNumberOfPages();
for (int i = 1; i <= 2; i++)
{
PdfPage pdfPage = pdfDocument.GetPage(i);
PdfCanvas canvasPage = new PdfCanvas(pdfPage);
switch (i)
{
case 1:
int versionpage1X = 735;
int versionpage1Y = 248;
canvasPage.BeginText()
.SetFontAndSize(PdfFontFactory
.CreateFont(StandardFonts.HELVETICA_BOLD), 34)
.MoveText(versionpage1X, versionpage1Y)
.SetFillColor(ColorConstants.WHITE)
.ShowText(_versionNumber)
.EndText();
break;
case 2:
int versionpage2X = 760;
int versionpage2Y = 573;
canvasPage.BeginText()
.SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.HELVETICA_BOLD), 21)
.MoveText(versionpage2X, versionpage2Y)
.SetFillColor(ColorConstants.WHITE)
.ShowText(_versionNumber)
.EndText();
float disclaimerpage2X = 75;
float disclaimerpage2Y = 26;
iText.Kernel.Geom.Rectangle rectangle = new iText.Kernel.Geom.Rectangle(disclaimerpage2X, disclaimerpage2Y, 883, 81);
Canvas canvas = new Canvas(canvasPage, rectangle);
Paragraph p = new Paragraph()
.Add(_disclaimer)
.SetFont(PdfFontFactory.CreateFont(StandardFonts.HELVETICA))
.SetFontColor(ColorConstants.BLACK)
.SetFontSize(12)
.SetTextAlignment(TextAlignment.LEFT);
canvas.Add(p);
canvas.Close();
//Image
float mapimageX = 111.318f;
float mapimageY = 130.791f;
float mapimageWidth = 755.454f;
float mapimageHeight = 432.094f;
ImageData imageData = ImageDataFactory.Create(@"PathtoImage.png");
iText.Kernel.Geom.Rectangle imagerectangle = new iText.Kernel.Geom.Rectangle(mapimageX, mapimageY, mapimageWidth, mapimageHeight);
canvasPage.AddImageFittedIntoRectangle(imageData, imagerectangle,true);
break;
}
}
pdfDocument.Close();
b = returnMemoryStream.ToArray();
}