Hi,
We are finding some issues while trying to set a water mark image on spire pdf using .net core. Here is the code to attach the water mark. The images are embedded as a resource in a DLL file. I have attached a sample PDF as a reference. The highlighted code seems to have some issue with dynamic height and width. We are using latest spire version 5.10.0.
We have a working code as a .net DLL with old spire version and now we are trying to convert that code to .net core
Stream wpWatermarkStream = null;
System.Drawing.Image wpWatermark = null;
wpWatermarkStream = GetImageStream(watermarkImage);
wpWatermark = GetImage(watermarkImage);
int imgWidth = wpWatermark.Size.Width;
int imgHeight = wpWatermark.Size.Height;
if (wpWatermark != null)
{
foreach (PdfPageBase loPage in loPDF.Pages)
{
loPage.BackgroundImage = wpWatermarkStream;
loPage.BackgroundRegion = new RectangleF(foatWatermarkPositionX, foatWatermarkPositionY, imgWidth, imgHeight);
}
}
private System.Drawing.Image GetImage(string image)
{
Assembly assembly = Assembly.GetExecutingAssembly();
System.Drawing.Image retImage = null;
foreach (var resourceName in assembly.GetManifestResourceNames())
{
if (!string.IsNullOrEmpty(resourceName) && resourceName.Contains(image))
{
using (var stream = assembly.GetManifestResourceStream(resourceName))
{
retImage = System.Drawing.Image.FromStream(stream, true);
break;
}
}
}
return retImage;
}
private Stream GetImageStream(string image)
{
Assembly assembly = Assembly.GetExecutingAssembly();
Stream streamImg = null;
foreach (var resourceName in assembly.GetManifestResourceNames())
{
if (!string.IsNullOrEmpty(resourceName) && resourceName.Contains(image))
{
streamImg = assembly.GetManifestResourceStream(resourceName);
}
}
return streamImg;
}
Regards,
Prashant