PDF417 BarCode ActiveX Control


Методы PDF417 ActiveX



AboutBox
Открывает окно "О программе".

Синтаксис
object.AboutBox()
Возвращаемое значение
Не возвращает значение.



ShowProperties
Отрывает окно свойств PDF417 ActiveX.

Синтаксис
object.ShowProperties()
Возвращаемое значение
Не возвращает значение.



SaveToImageFile
Сохраняет изображение штрихкода в файл.

Синтаксис
object.SaveToImageFile(cx, cy, sFileName, [lRes,] [dm])
Параметры
cxВещественное значение определяет ширину картинки штрихкода.
cyВещественное значение определяет высоту картинки штрихкода.
sFileNameСтрока определяет имя файла.
lResНеобязательное (по умолчанию 0). Определяет разрешение картинки.
dmНеобязательное (по умолчанию dmPixels). Определяет единицы измерения, которые используются для задания cx и cy. См. Примечание.
Возвращаемое значение
Не возвращает значение.
Примечание
Формат, в котором будет сохранен файл зависит от расширения имени файла. Например, если задать sFileName как "img1.jpg", то штрихкод будет сохранен в JPEG.
Допускаются такие расширения - "wmf", "emf", "bmp", "jpg", "jpeg", "gif", "tiff", "png".

Параметр dm parameter может иметь следующие значения:
dmMils = 0, mils(0.001 inches)
dmInches = 1, inches
dmMM = 2, millimeters
dmPixels = 3, pixels

Если размер изображения (cx, cy) задается не в пикселах, его реальный размер будет вычисляться использую разрешение картинки - lRes.

Внимание! Для нормальной работы этой функции необходимо наличие библиотеки GDI+ (gdiplus.dll) на вашем PC, эта библиотека поставляется в составе Windows XP и выше. Если у вас нет такой библиотеки, то вы можете загрузить ее здесь, а затем скопировать ее в папку ../Windows/System32/.
Примеры
'1.
'Сохранить изображение PDF417 в файл JPEG формата. Размер изображения будет 260x70 точек, разрешение 96 dpi.

Call PDF417Ctrl1.SaveToImageFile(260, 70, "c:\pdf417.jpg")

'2.
'Сохранить изображение PDF417 в файл JPEG формата. Размер изображения будет 30x15 миллиметров, разрешение 300 dpi.

Call PDF417Ctrl1.SaveToImageFile(30, 15, "c:\pdf417.jpg", 300, dmMM)



PartialWritePicture Method
Сохраняет изображение штрихкода в существующий файл картинки. При этом штрихкод может занимать только необходимую часть файла.

Синтаксис
object.PartialWritePicture(sFileName, x, y, width, height)
Параметры
sFileNameСтрока определяющая имя файла.
xЦелое определяющее X координату штрихкода.
yЦелое определяющее Y координату штрихкода.
widthЦелое определяющее ширину штрихкода.
heightЦелое определяющее высоту штрихкода.
Возвращаемое значение
Не возвращает значение.
Примечание
Image файл определяемый параметром sFileName может быть следующих форматов "bmp", "jpg", "jpeg", "gif", "tiff" и "png".
Examples
Call PDF417.PartialWritePicture("c:\1.jpg", 10, 10, 130, 40)

PDF417 Barcode ActiveX сохраняет изображение штрихкода в существующий файл картинки

Используя этот метод, можно добавить к любому вашему image файлу штрихкод, который может использоваться для идентификации файла или для иных целей.



CopyToClipboard
Копирует изображение штрихкода в буфер обмена. После этого вы можете использовать Ctrl+V для вставки штрихкода.

Синтаксис
object.CopyToClipboard(cx, cy)
Параметры
cxЦелое значение определяющее ширину штрихкода
cyЦелое значение определяющее высоту штрихкода
Возвращаемое значение
Не возвращает значение.



DrawPDF417ToSize
Рисует PDF417 штрих код в контекст устройства. Вы можете использовать этот метод как для отображения на экран РС, так и для принтера.

Синтаксис
object.DrawPDF417ToSize(X, Y, CX, CY, dm, [hDC])

Параметры

XВещественное значение определяющее X координату штрихкода.
YВещественное значение определяющее Y координату штрихкода.
CXВещественное значение определяющее ширину шрихкода.
CYВещественное значение определяющее высоту шрихкода.
dmНеобязательное (по умолчанию dmPixels). Определяет единицы измерения cx и cy. См. здесь.
hDCНеобязательное (по умолчанию 0). Хэндл контекста устройства, который будет использовать для рисования. Если этот параметр не определен или равен нулю, то будет использоваться хэндл принтера.

Возвращаемое значение

Не возвращает значение.
Примеры
'Нарисовать PDF417 на экран.
Call PDF417Ctrl1.DrawPDF417ToSize(0, 0, 270, 90, dmPixels, Form1.hDC)


'Напечатать PDF417 штрихкод
'Открыть текущий принтер

Call PDF417Ctrl1.BeginPrint("")

'напечатать PDF417 в X=10 mm, Y=10 mm, ШИРИНА=25 mm, ВЫСОТА=12 mm
Call PDF417Ctrl1.DrawPDF417ToSize(10, 10, 25, 12, dmMM)

Call PDF417Ctrl1.EndPrint



BeginPrint
Открывает доступ к принтеру.

Синтаксис
object.BeginPrint(sPrinterName)
Параметры
sPrinterNameСтрока определяющая имя принтера. Имя принтера можно увидеть в папке Принтеры Панели Управления.
Если имя пустое, будет открыт принтер по умолчанию.
Возвращаемое значение
Не возвращает значение.
Примечания
Эта функция должна быть вызвана первой, до начала использования других функций печати.



EndPrint
Закрывает принтер. После этого нельзя применять функции печати.

Синтаксис
object.EndPrint()
Возвращаемое значение
Не возвращает значение.



NewPage
Начинает новую страницу.

Синтаксис
object.NewPage()
Возвращаемое значение
Не возвращает значение.



EndPage
Заканчивает страницу.

Синтаксис
object.EndPage()
Возвращаемое значение
Не возвращает значение.



GetPrinterHDC
Функция возвращает хэндл принтера ранее открытого c помошью ф-ии BeginPrint.

Синтаксис
object.GetPrinterHDC()

Возвращаемое значение
HDC



SetPrinterHDC
Устанавливает хэндл принтера, который будет применяться для печати. Если вызвана эта ф-я, то можно не вызывать BeginPrint. В этом случае все управление закрытием/открытием принтера и т.п. будет осуществляется вне ABarCode-ActiveX контрола.

Синтаксис
object.SetPrinterHDC(hDC)
Параметры
hDCЗначение определяющее хэндл принтера.
Возвращаемое значение
Не возвращает значение.
Пример
Printer.CurrentX = 2048
Printer.Print "SBarCode.com, VB Example"

'PDF417-ActiveX будет использовать объект принтера Visual Basic
Call PDF417Ctrl1.SetPrinterHDC(Printer.hDC)

'напечатать PDF417 штрихкод
Call PDF417Ctrl1.DrawPDF417ToSize(10, 10, 30, 15, dmMM)
Call PDF417Ctrl1.DrawPDF417ToSize(70, 10, 30, 15, dmMM)

Printer.EndDoc



BinaryWritePicture
Эта функция аналогична SaveToImageFile, но в отличии от сохранения изображения в файл она представляет его как массив байт.

Синтаксис
object.BinaryWritePicture(sFmt, CX, CY)

Параметры

sFmtString that specifies the file name extension.
The following extensions can be used - "wmf", "emf", "bmp", "jpg", "jpeg", "gif", "tiff" and "png".
CXAn integer that defines the barcode width
CYAn integer that defines the barcode height

Возвращаемое значение

Variant определяющее safe array байт.
Примечания
Этот метод может быть очень удобным для пересылки изображения штрихкода через Интернет. Например, он может использоваться на IIS сервере.

Внимание! Для нормальной работы этой функции необходимо наличие библиотеки GDI+ (gdiplus.dll) на вашем PC, эта библиотека поставляется в составе Windows XP и выше. Если у вас нет такой библиотеки, то вы можете загрузить ее здесь, а затем скопировать ее в папку ../Windows/System32/.

Пример
Здесь приведен пример ASP страницы поставляемой вместе с нашим PDF417-ActiveX.
<%
' pdf417.asp
' (c) 1999-2005 www.SBarCode.com

'отправить картинку в GIF формате
Response.ContentType = "image/gif"
Response.BinaryWrite Barcode.BinaryWritePicture("gif", 270, 100)

SET Barcode=nothing
%>
			
Примечание
Этот метод требует Server лицензии.



GetPDF417Size
Этот метод вычисляет размеры, которые должен иметь PDF417 штриход для получения нужного размера модуля. Модуль - это наименьший элемент PDF417 штрихкода, который кодирует один бит информации.

Синтаксис
object.GetPDF417Size(module, xRes, yRes, dmIn, dmOut, width, height)
Параметры
moduleВещественное значение определяющее модуль PDF417.
xResЦелое определяющее разрешение (в dpi) вдоль оси X.
yResЦелое определяющее разрешение (в dpi) вдоль оси Y.
dmIn Это значение определяет единицы, в которых задан module.
dmOut Это значение определяет единицы, в которых будут выданы width, height.
widthПеременная, которая получает ширину PDF417.
heightПеременная, которая получает высоту PDF417.
Примеры
Напечатать PDF417 с размером модуля равным 40 Mils. PDF417 будет начинаться с X=10 mm, Y=10 mm
'открыть текущий принтер
Call PDF417Ctrl1.BeginPrint("")

'получить разрешение принтера (в dpi)
Dim dpiX As Long, dpiY As Long
dpiX = GetDeviceCaps(Printer.hdc, LOGPIXELSX)
dpiY = GetDeviceCaps(Printer.hdc, LOGPIXELSY)

'получить необходимые размеры PDF417 штрихкода  в единицах определяемых параметром dmOut
Dim Width, Height
Call PDF417Ctrl1.GetPDF417Size(40, dpiX, dpiY, dmMils, dmMM, Width, Height)

'напечатать PDF417
Call PDF417Ctrl1.DrawPDF417ToSize(10, 10, Width, Height, dmMM)

'закрыть принтер
Call PDF417Ctrl1.EndPrint


Сохранить PDF417 в файл с модулем равным 4 пиксела.
'если dmIn и dmOut определяются в пикселах, вам не нужно задавать разрешение (xRes, yRes), но оно не может быть равно 0.
Dim Width, Height
Call PDF417Ctrl1.GetPDF417Size(4, 1, 1, dmPixels, dmPixels, Width, Height)

Call PDF417Ctrl1.SaveToImageFile(Width, Height, "c:\pdf417.bmp")



FreezeEncode
Этот метод приостанавливает кодировку PDF417. Применение этого метода имеет смысл в высоконагруженных приложениях, например, web сервисах, и т.п.

Синтаксис
object.FreezeEncode(bFreeze)
Параметры
bFreezeBoolean that specifies whether to pause encoding the PDF417 or not.
Возвращаемое значение
Не возвращает значение.
Пример

Вам нужно изменить сразу несколько свойств PDF417. Каждый раз когда вы устанавливаете какое-либо свойство (DataToEncode, CompactionMode, ErrorCorrectionLevel и др.) PDF417 перекодируется, т.е. вычисляются коды Reed-Solomon, заново строиться PDF417, и т.п. Это забирает много процессорного времени. Для улучшения производительности приложения, вы можете остановить это перекодирования, а после установки всех свойств возобновить его.
PDF417Ctrl1.FreezeEncode (True)
PDF417Ctrl1.DataToEncode = "1234567"
PDF417Ctrl1.CompactionMode = cmByte
PDF417Ctrl1.ErrorCorrectionLevel = ecl_2
PDF417Ctrl1.FreezeEncode (False)





  www.SBarCode.com