ByteScout PDF SDK - C# - Invisible Text Over Image - ByteScout

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

[csharp]
using System.Diagnostics;
using Bytescout.PDF;

namespace InvisibleTextOverImage
{
///

/// This example demonstrates how to create PDF document from scanned document image and add invisible text over it.
///

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);
}
}
}

[/csharp]


  Click here to get your Free Trial version of the SDK

Tutorials:

prev
next