ByteScout BarCode Generator SDK - C# - Add Custom Images To PDF Document - ByteScout

ByteScout BarCode Generator SDK – C# – Add Custom Images To PDF Document

  • Home
  • /
  • Articles
  • /
  • ByteScout BarCode Generator SDK – C# – Add Custom Images To PDF Document

How to add custom images to PDF document in C# and ByteScout Barcode SDK

The tutorial shows how to add custom images to PDF document in C#

Learn how to add custom images to PDF document in C# with this source code sample. ByteScout Barcode SDK is the fully featured library to generate barcodes. Supports QR Code, Code 39, Code 128, UPC, GS1, GS-128, PDF417, Datamatrix and many other barcode types. Includes various options for barcode generation to ensure output quality, add barcodes to new or existing pdf files and images and you can use it to add custom images to PDF document with C#.

This code snippet below for ByteScout Barcode SDK works best when you need to quickly add custom images to PDF document in your C# application. In your C# project or application you may simply copy & paste the code and then run your app! Code testing will allow the function to be tested and work properly with your data.

Trial version of ByteScout Barcode SDK is available for free. Source code samples are included to help you with your C# app.

Try ByteScout Barcode SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

Program.cs
      
using System.Diagnostics; using System.Drawing; using Bytescout.BarCode; // This example demostrates adding of barcode together with some custom images (e.g. target marks) to PDF document. // Also shows the manual calculation of barcode size from inches to pixels and document units (points). // Task: place Code39 barcode of 2" x 3/8" size at 2" from top-right corner and two target marks at 1" from top-right and bottom-left corners. namespace AddBarcodeToPdfDocument { class Program { static void Main(string[] args) { // Create Barcode instance and set it up Barcode barcode = new Barcode("demo", "demo"); barcode.Symbology = SymbologyType.Code39; barcode.Value = "00090112"; barcode.DrawCaption = true; barcode.CaptionFont = new Font("Courier", 12f, FontStyle.Bold, GraphicsUnit.Point); barcode.DrawQuietZones = false; barcode.ResolutionX = barcode.ResolutionY = 300; // High resolution for better quality on document scaling and printing. // Compute barcode image dimension from inches to pixels at 300 DPI: int barHeight = (int) (3f/8*300); // = 3/8" * 300 DPI = height of bars int captionHeight = (int) barcode.CaptionFont.GetHeight(barcode.ResolutionY); int captionGap = (int) (1f/8*300); // = 1/8" gap int barcodeImageWidth = 2*300; // = 2" * 300 DPI = width of barcode int barcodeImageHeight = barHeight + captionGap + captionHeight + 28; // 28 = height of watermark text (painted in Trial version only) // Get final barcode image: barcode.BarHeight = barHeight; barcode.FitInto(barcodeImageWidth, barcodeImageHeight, UnitOfMeasure.Pixel); Image barcodeImage = barcode.GetImage(); // Arrays of images and points to apply to PDF document Image[] images = new Image[3]; Point[] points = new Point[3]; // Compute coordinates of barcode image and target marks ar 72 DPI // (page size is 8.5" x 11", PDF document resolution is always 72 DPI): int x = (int) (8.5f*72 - 2*72 - barcodeImageWidth/300f*72); // = page width - 2" - barcodeImageWidth at 72 DPI = X coordinate to put the barcode image int y = 2*72; // = 2" - Y coordinate to put the barcode image // Put barcode image into array images[0] = barcodeImage; points[0] = new Point(x, y); // Load target mark image. // TargetMark.png is 1/8" 300 DPI image (38x38 pixels) Image targetMarkImage = Image.FromFile("TargetMark.png"); // Coordinates of top-right target mark x = (int)(8.5f*72 - 1*72 - 1f/8*72); // = pageWidth - 1" - target mark width (1/8") at 72DPI = X coordinate to put the barcode image y = 1*72; // = 1" - Y coordinate to put the barcode image // Put first target mark image into array images[1] = targetMarkImage; points[1] = new Point(x, y); // Coordinates of bottom-left target mark x = 1*72; // = 1" y = (int)(11f*72 - 1*72 - 1f/8*72); // = page height - 1" - target mark height (1/8") at 72DPI // Put second target mark image into array images[2] = targetMarkImage; points[2] = new Point(x, y); // Draw images on all PDF document pages. barcode.DrawImagesToPDF("wikipedia.pdf", -1 /*all pages*/, images, points, "result.pdf"); // Cleanup barcodeImage.Dispose(); targetMarkImage.Dispose(); barcode.Dispose(); // Open the result document in default associated application Process.Start("result.pdf"); } } }

Try ByteScout Barcode SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

VIDEO

ON-PREMISE VERSION INFORMATION

Get 60 Day Free Trial or Visit ByteScout Barcode SDK Home Page

Explore ByteScout Barcode SDK Documentation

Get ByteScout Barcode SDK Free Training

WEB API

Get Your Free API Key

Explore Web API Documentation

Tutorials:

prev
next