diff --git a/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF.slnx b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF.slnx
new file mode 100644
index 00000000..717ead90
--- /dev/null
+++ b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Data/Input.pdf b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Data/Input.pdf
new file mode 100644
index 00000000..6086ffc8
Binary files /dev/null and b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Data/Input.pdf differ
diff --git a/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Image-to-Text-Replacement-in-PDF.csproj b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Image-to-Text-Replacement-in-PDF.csproj
new file mode 100644
index 00000000..44184d4e
--- /dev/null
+++ b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Image-to-Text-Replacement-in-PDF.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+ net8.0
+ Image_to_Text_Replacement_in_PDF
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Output/gitkeep.txt b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Output/gitkeep.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Program.cs b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Program.cs
new file mode 100644
index 00000000..dad7de8b
--- /dev/null
+++ b/Image Extraction/Image-to-Text-Replacement-in-PDF/.NET/Image-to-Text-Replacement-in-PDF/Program.cs
@@ -0,0 +1,53 @@
+using Syncfusion.Pdf;
+using Syncfusion.Pdf.Exporting;
+using Syncfusion.Pdf.Graphics;
+using Syncfusion.Pdf.Parsing;
+
+// Load the input PDF document
+using (PdfLoadedDocument document = new PdfLoadedDocument(Path.GetFullPath(@"Data/Input.pdf")))
+{
+ // Loop through every page in the PDF
+ foreach (PdfLoadedPage page in document.Pages)
+ {
+ PdfLoadedPage loadedPage = page as PdfLoadedPage;
+ // Get graphics object to draw on the page
+ PdfGraphics graphics = loadedPage.Graphics;
+ // Get all images present in the current page
+ PdfImageInfo[] imageInfos = loadedPage.GetImagesInfo();
+ // If no images found, skip this page
+ if (imageInfos == null || imageInfos.Length == 0) continue;
+ // Font for overlay text
+ PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12f);
+ // Center the overlay text inside the image area
+ PdfStringFormat centerFormat = new PdfStringFormat
+ {
+ Alignment = PdfTextAlignment.Center,
+ LineAlignment = PdfVerticalAlignment.Middle
+ };
+ // Save the current graphics state
+ graphics.Save();
+ // Draw overlay text ("Image removed") on top of each image area
+ foreach (PdfImageInfo info in imageInfos)
+ {
+ string overlayText = "Image removed";
+
+ graphics.DrawString(
+ overlayText,
+ font,
+ PdfBrushes.Red,
+ info.Bounds, // Draw the text inside the image area
+ centerFormat
+ );
+ }
+ // Restore the graphics state after drawing
+ graphics.Restore();
+ // Remove the images from the PDF page
+ foreach (PdfImageInfo info in imageInfos)
+ {
+ loadedPage.RemoveImage(info);
+ }
+ }
+ // Save the output PDF
+ document.Save(Path.GetFullPath(@"Output/Output.pdf"));
+}
+