ByteScout PDF SDK - C# - Invisible Text Over Image - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

ByteScout PDF SDK – C# – Invisible Text Over Image

  • Home
  • /
  • Articles
  • /
  • ByteScout PDF SDK – C# – Invisible Text Over Image

ByteScout PDF SDK – C# – Invisible Text Over Image

Program.cs

using System.Diagnostics;
using Bytescout.PDF;

namespace InvisibleTextOverImage
{
    /// <summary>
    /// This example demonstrates how to create PDF document from scanned document image and add invisible text over it. 
    /// </summary>
    class Program
    {
        static void Main()
        {
            // Create new PDF document
            Document pdfDocument = new Document();
            pdfDocument.RegistrationName = "demo";
            pdfDocument.RegistrationKey = "demo";


            // Load image from file to System.Drawing.Image object (we need it to get the image resolution)
            System.Drawing.Image sysImage = System.Drawing.Image.FromFile(@".\scanned-invoice.png");
            // Compute image size in PDF units (Points)
            float widthInPoints = sysImage.Width / sysImage.HorizontalResolution * 72f;
            float heightInPoints = sysImage.Height / sysImage.VerticalResolution * 72f;

            // Create page of computed size
            Page page = new Page(widthInPoints, heightInPoints);
            // Add page to the document
            pdfDocument.Pages.Add(page);

            Canvas canvas = page.Canvas;

            // Create Bytescout.PDF.Image object from loaded image
            Image pdfImage = new Image(sysImage);
            // Draw the image
            canvas.DrawImage(pdfImage, 0, 0, widthInPoints, heightInPoints);

            // Dispose the System.Drawing.Image object to free resources
            sysImage.Dispose();

            // Create brush
            SolidBrush transparentBrush = new SolidBrush(new ColorGray(0));
            // ... and make it transparent
            transparentBrush.Opacity = 0;

            // Draw text with transparent brush
            Font font16 = new Font(StandardFonts.Helvetica, 16);
            canvas.DrawString("Your Company Name", font16, transparentBrush, 40, 40);
            // Draw another text
            Font font10 = new Font(StandardFonts.Helvetica, 10);
            canvas.DrawString("Your Address", font10, transparentBrush, 40, 80);

            
            // Save document to file
            pdfDocument.Save("result.pdf");

            // Cleanup 
            pdfDocument.Dispose();

            // Open result document in default associated application (for demo purpose)
            ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf");
            processStartInfo.UseShellExecute = true;
            Process.Start(processStartInfo);
        }
    }
}


  Click here to get your Free Trial version of the SDK

Tutorials:

prev
next