• PDF417 barcode download

在VC ++中打印条形码

To print PDF417 barcode in VC++ application, you need Barcodesoft BCSPDF417 true type font and cruflbcs.dll.

If you download and install the demo of Barcodesoft PDF417 software on your computer, you will find crUFLBCS.dll from
"C:\Program Files\Common Files\Barcodesoft\Fontutil\" folder.

If you don't find cruflbcs.dll on your computer, please download it from PDF417 Barcode VC++.

crUFLBCS.dll is a COM object with IPDF417 interface.
You can find detailed information about IPDF417 interface from readme.html.

To call the methods of IPDF417 interface from VC++, you can use either Late Binding or Early Binding.

Late binding is used when type information of an object is unavailable at compile time.

Early binding requires the client to get access to the type library before compile.

Late Binding



Your codes to create PDF417 barcode run slower than using Early Binding.

However, your codes are version-independent as long as COM interface and method parameters remain unchanged.
CoInitialize(NULL);
CLSID clsid;
if (FAILED(::CLSIDFromProgID(L"cruflbcs.PDF417.1", &clsid)))
return 0;
IDispatch* pIDispatch = NULL;
if (FAILED(::CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, IID_IDispatch, (void**)&pIDispatch)))
return 0;
LPOLESTR szNameEncode = L"Encode";
DISPID dispid_encode;
HRESULT hr = pIDispatch->GetIDsOfNames(IID_NULL, &szNameEncode, 1, LOCALE_SYSTEM_DEFAULT, &dispid_encode);
CComBSTR bstrResult;
VARIANTARG v[1];
v[0].vt = VT_BSTR; v[0].bstrVal = SysAllocString(L"Barcodesoft Sample");
DISPPARAMS dispParams = { v, NULL, 1, 0 };
VARIANT vResult;
hr = pIDispatch->Invoke( dispid_encode, IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD, &dispParams, &vResult, NULL, NULL);
if (FAILED(hr))
return 0;
pIDispatch->Release();
CoUninitialize();

Early Binding



Your codes to create pdf417 barcode in VC++ application run faster than using Late Binding.

1. Import type library. Don't forget to call CoInitialize() before using COM interface.

2. If you want to use T2OLE macro to convert LPTSTR into LPOLESTR, you need to call USES_CONVERSION macro first.

3. You may either call Encode method or EncodeCR method to encode PDF417 barcode with options.

#include
#include
#import "cruflbcs.dll"
using namespace cruflBCS;
USES_CONVERSION;
CoInitialize(NULL);
_bstr_t bstrOutput;
char pszToEncode[] = "Barcodesoft Sample";
try
{
cruflBCS::IPDF417Ptr pBCSPDF417(__uuidof(CBCSPDF417));
bstrOutput = pBCSPDF417->Encode(T2OLE(pszToEncode));
}
catch (const _com_error& e)
{
_tprintf(_T("Error: 0x%08x %s\n"), e.Error(), e.ErrorMessage());
}
CoUninitialize();

mfc wrapper barcode

Use MFC to Generate Wrapper Class



If you use VC++ 6 to generate PDF417 barcode , press Ctrl + W to start Class Wizard. Then click "Add Class" button, choose "From a type library".
Choose crUFLBCS.dll, then select all Interfaces you want to add wrappers and click OK.

If you use Visual Studio 2003 or above to create PDF417 barcode ,
1. On the Project menu, select Add Class.
2. Select MFC Class from Typelib from the list of templates.
3. For Add Class from, select Registry.
4. In the list of available type libraries, find crUFLBCS.
5. From the list of interfaces in that type library, select all classes for which you want to add wrappers.
6. Click Finish.

Please don't forget to call OleInitialize(NULL) before using the following code snippet to generate PDF417 barcode.

CString strOutput;
IPDF417 *pPDF417Obj = new IPDF417();
if ( pPDF417Obj->CreateDispatch("cruflbcs.PDF417.1")
strOutput = pPDF417Obj->Encode("Barcodesoft Sample");

  • PDF417 barcode download