diff --git a/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF.slnx b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF.slnx new file mode 100644 index 00000000..8b4d6c55 --- /dev/null +++ b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Add-image-as-background-in-PDF.csproj b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Add-image-as-background-in-PDF.csproj new file mode 100644 index 00000000..7c322dff --- /dev/null +++ b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Add-image-as-background-in-PDF.csproj @@ -0,0 +1,15 @@ + + + + Exe + net8.0 + Background_image + enable + enable + + + + + + + diff --git a/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Data/Image.jpg b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Data/Image.jpg new file mode 100644 index 00000000..3b2b7a60 Binary files /dev/null and b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Data/Image.jpg differ diff --git a/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Output/gitkeep.txt b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Output/gitkeep.txt new file mode 100644 index 00000000..e69de29b diff --git a/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Program.cs b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Program.cs new file mode 100644 index 00000000..85c6dd4e --- /dev/null +++ b/Images/Add-image-as-background-in-PDF/.NET/Add-image-as-background-in-PDF/Program.cs @@ -0,0 +1,57 @@ +using Syncfusion.Drawing; +using Syncfusion.Pdf; +using Syncfusion.Pdf.Graphics; + +// Create the new PDF document +using (PdfDocument document = new PdfDocument()) +{ + // Add a new page to the document + PdfPage page = document.Pages.Add(); + // Get the client size + SizeF clientSize = page.GetClientSize(); + // Load the background image from disk + using FileStream imageStream = new FileStream( + Path.GetFullPath(@"Data/Image.jpg"), + FileMode.Open, + FileAccess.Read + ); + PdfBitmap image = new PdfBitmap(imageStream); + // Save the current graphics state, apply transparency, draw the image to cover the page, then restore. + PdfGraphicsState state = page.Graphics.Save(); + page.Graphics.SetTransparency(0.2f); // 20% opacity for the background image + page.Graphics.DrawImage( + image, + new PointF(0, 0), + new SizeF(clientSize.Width, clientSize.Height) + ); + page.Graphics.Restore(state); + // Define a small margin for the text content. + const float margin = 10f; + // Text bounds: fill the page within margins. + RectangleF textBounds = new RectangleF( + margin, + margin, + clientSize.Width - margin * 2, + clientSize.Height - margin * 2 + ); + // Body font for the paragraph. + PdfFont bodyFont = new PdfStandardFont(PdfFontFamily.TimesRoman, 16, PdfFontStyle.Regular); + // Sample paragraph text. + string paragraphText = + "Adventure Works Cycles, the fictitious company on which the AdventureWorks sample databases " + + "are based, is a large, multinational manufacturing company. The company manufactures and sells " + + "metal and composite bicycles to North American, European and Asian commercial markets. While " + + "its base operation is located in Washington with 290 employees, several regional sales teams " + + "are located throughout their market base."; + // Create a text element and configure layout to paginate if content exceeds current page. + PdfTextElement textElement = new PdfTextElement(paragraphText, bodyFont, PdfBrushes.Black); + PdfLayoutFormat layoutFormat = new PdfLayoutFormat + { + Break = PdfLayoutBreakType.FitPage, // Fit within page bounds + Layout = PdfLayoutType.Paginate // Continue to subsequent pages if needed + }; + // Draw the text paragraph in the defined bounds. + textElement.Draw(page, textBounds, layoutFormat); + // Save the PDF document to disk. + document.Save(Path.GetFullPath(@"Output/Output.pdf")); +}