This sample source code below will display you how to add custom images to pdf document with barcode sdk in C#. ByteScout Premium Suite is the bundle that includes twelve SDK products from ByteScout including tools and components for PDF, barcodes, spreadsheets, screen video recording. It can add custom images to pdf document with barcode sdk in C#.
This prolific sample source code in C# for ByteScout Premium Suite contains various functions and other necessary options you should do calling the API to add custom images to pdf document with barcode sdk. Simply copy and paste in your C# project or application you and then run your app! Complete and detailed tutorials and documentation are available along with installed ByteScout Premium Suite if you’d like to learn more about the topic and the details of the API.
You can download free trial version of ByteScout Premium Suite from our website to see and try many others source code samples for C#.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
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");
}
}
}
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: