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.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

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

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Barcode SDK Home Page

Explore ByteScout Barcode SDK Documentation

Explore Samples

Sign Up for ByteScout Barcode SDK Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Barcode SDK Home Page

Explore ByteScout Barcode SDK Documentation

Explore Samples

Sign Up for ByteScout Barcode SDK Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next