This class contains information for writing PDF417 and MicroPDF417 barcodes.
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="BarcodeWritePdf")]
public class BarcodeWritePdf
<DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="BarcodeWritePdf")>
Public Class BarcodeWritePdf
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="BarcodeWritePdf")]
public ref class BarcodeWritePdf
For a table containing information useful when writing PDF417 barcode data, see https://www.leadtools.com/sdk/barcode/pdf417-chart.
MicroPDF417 can only be printed in certain defined combinations of rows and columns. The possible value combinations are (wColumns x wRows):
using Leadtools.Services;
using Leadtools.Services.Barcode.ServiceContracts;
using Leadtools.Services.Barcode.ServiceImplementations;
byte[] ConvertFromStringArray(string[] data)
{
if (data == null || data.Length == 0)
return null;
List<byte[]> list = new List<byte[]>();
ASCIIEncoding ascii = new ASCIIEncoding();
int length = 0;
for (int i = 0; i < data.Length; i++)
{
byte[] bytes = ascii.GetBytes(data[i]);
list.Add(bytes);
length += bytes.Length;
length++;
}
byte[] ret = new byte[length];
int index = 0;
for (int i = 0; i < list.Count; i++)
{
byte[] bytes = list[i];
bytes.CopyTo(ret, index);
index += bytes.Length + 1;
}
return ret;
}
public void BarcodeWritePdfExample()
{
BarcodeServiceClient client = new BarcodeServiceClient();
RawBinaryData sourceBinaryData = new RawBinaryData();
sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "barcode1.tif"));
RasterConvertOptions convertOptions = new RasterConvertOptions();
convertOptions.Source = sourceBinaryData;
convertOptions.Destination = null;
convertOptions.Format = RasterImageFormat.RasPdf;
convertOptions.FirstPage = 1;
convertOptions.LastPage = 1;
convertOptions.BitsPerPixel = 24;
convertOptions.QualityFactor = 2;
LeadRectangle rc = new LeadRectangle();
rc.X = 100;
rc.Y = 100;
rc.Width = 0;
rc.Height = 0;
string[] barcodeText;
barcodeText = new string[1];
barcodeText[0] = "PDF417 Symbol";
BarcodeData data = new BarcodeData();
data.Unit = BarcodeUnit.ScanlinesPerPixels;
data.Location = rc;
data.Data = ConvertFromStringArray(barcodeText);
BarcodeColor barColor = new BarcodeColor();
barColor.BarColor = "Black";
barColor.SpaceColor = "White";
Barcode1d bar1d = new Barcode1d();
BarcodeWritePdf barPDF = new BarcodeWritePdf();
BarcodeWriteDatamatrix barDM = new BarcodeWriteDatamatrix();
BarcodeWriteQr barQR = new BarcodeWriteQr();
barPDF.AspectHeight = 0;
barPDF.AspectWidth = 0;
barPDF.Columns = 0;
barPDF.Rows = 0;
barPDF.EccLevel = BarcodePdf417EccLevelFlags.UsePercent;
barPDF.EccPercentage = 50;
barPDF.Justify = BarcodeJustifyFlags.Right;
barPDF.Module = 21;
barPDF.ModAspectRatio = 4;
WriteOptions options = new WriteOptions();
WriteBarcode2DPdf417 pdf417 = new WriteBarcode2DPdf417();
pdf417.Type = WriteBarcode2DPdf417Type.Pdf417;
pdf417.Data = data;
options.Add(pdf417);
WriteRequest request = new WriteRequest();
request.Code1d = bar1d;
request.CodeColor = barColor;
request.CodeDatamatrix = barDM;
request.CodePdf = barPDF;
request.CodeQr = barQR;
request.ConvertOptions = convertOptions;
request.TypeFlags = BarcodeMajorTypeFlags.BarcodesDatamatrixWrite;
request.Unit = BarcodeUnit.ScanlinesPerPixels;
request.WriteFlags = BarcodeWriteFlags.UseColors | BarcodeWriteFlags.Transparent | BarcodeWriteFlags.InitializationReader | BarcodeWriteFlags.DisableCompression;
request.WriteOptions = options;
WriteResponse response = client.Write(request);
if (response.Destination != null)
{
if (response.Destination is RawBinaryData)
{
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "BarcodeWritePdf.Pdf"), (response.Destination as RawBinaryData).Data);
}
}
client.Close();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools.Services
Imports Leadtools.Services.Barcode.ServiceContracts
Imports Leadtools.Services.Barcode.ServiceImplementations
Private Function ConvertFromStringArray(ByVal data As String()) As Byte()
If data Is Nothing OrElse data.Length = 0 Then
Return Nothing
End If
Dim list As New List(Of Byte())
Dim ascii As ASCIIEncoding = New ASCIIEncoding()
Dim length As Integer = 0
Dim i As Integer = 0
Do While i < data.Length
Dim bytes As Byte() = ascii.GetBytes(data(i))
list.Add(bytes)
length += bytes.Length
length += 1
i += 1
Loop
Dim ret As Byte() = New Byte(length - 1) {}
Dim index As Integer = 0
i = 0
Do While i < list.Count
Dim bytes As Byte() = list(i)
bytes.CopyTo(ret, index)
index += bytes.Length + 1
i += 1
Loop
Return ret
End Function
Public Sub BarcodeWritePdfExample()
Dim client As BarcodeServiceClient = New BarcodeServiceClient()
Dim sourceBinaryData As RawBinaryData = New RawBinaryData()
sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "barcode1.tif"))
Dim convertOptions As RasterConvertOptions = New RasterConvertOptions()
convertOptions.Source = sourceBinaryData
convertOptions.Destination = Nothing
convertOptions.Format = RasterImageFormat.RasPdf
convertOptions.FirstPage = 1
convertOptions.LastPage = 1
convertOptions.BitsPerPixel = 24
convertOptions.QualityFactor = 2
Dim rc As LeadRectangle = New LeadRectangle()
rc.X = 100
rc.Y = 100
rc.Width = 0
rc.Height = 0
Dim barcodeText As String()
barcodeText = New String(0) {}
barcodeText(0) = "PDF417 Symbol"
Dim data As BarcodeData = New BarcodeData()
data.Unit = BarcodeUnit.ScanlinesPerPixels
data.Location = rc
data.Data = ConvertFromStringArray(barcodeText)
Dim barColor As BarcodeColor = New BarcodeColor()
barColor.BarColor = "Black"
barColor.SpaceColor = "White"
Dim bar1d As Barcode1d = New Barcode1d()
Dim barPDF As BarcodeWritePdf = New BarcodeWritePdf()
Dim barDM As BarcodeWriteDatamatrix = New BarcodeWriteDatamatrix()
Dim barQR As BarcodeWriteQr = New BarcodeWriteQr()
barPDF.AspectHeight = 0
barPDF.AspectWidth = 0
barPDF.Columns = 0
barPDF.Rows = 0
barPDF.EccLevel = BarcodePdf417EccLevelFlags.UsePercent
barPDF.EccPercentage = 50
barPDF.Justify = BarcodeJustifyFlags.Right
barPDF.Module = 21
barPDF.ModAspectRatio = 4
Dim options As WriteOptions = New WriteOptions()
Dim pdf417 As WriteBarcode2DPdf417 = New WriteBarcode2DPdf417()
pdf417.Type = WriteBarcode2DPdf417Type.Pdf417
pdf417.Data = data
options.Add(pdf417)
Dim request As WriteRequest = New WriteRequest()
request.Code1d = bar1d
request.CodeColor = barColor
request.CodeDatamatrix = barDM
request.CodePdf = barPDF
request.CodeQr = barQR
request.ConvertOptions = convertOptions
request.TypeFlags = BarcodeMajorTypeFlags.BarcodesDatamatrixWrite
request.Unit = BarcodeUnit.ScanlinesPerPixels
request.WriteFlags = BarcodeWriteFlags.UseColors Or BarcodeWriteFlags.Transparent Or BarcodeWriteFlags.InitializationReader Or BarcodeWriteFlags.DisableCompression
request.WriteOptions = options
Dim response As WriteResponse = client.Write(request)
If Not response.Destination Is Nothing Then
If TypeOf response.Destination Is RawBinaryData Then
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "BarcodeWritePdf.Pdf"), (TryCast(response.Destination, RawBinaryData)).Data)
End If
End If
client.Close()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET