#include "udcwrapper.h"
#include <atlconv.h>
void GetPageFormatsList()
{
CString sMessage, sNumber;
IPrinter *pUDC;
pUDC = new IPrinter;
pUDC->CreateDispatch("UDCWrapper.Printer");
pUDC->SetPrinterName("Universal Document Converter");
IProfile prof = pUDC->GetProfile( pUDC->GetDefaultProfile() );
VARIANT strings = prof.GetPageFormatesList();
if( ( strings.vt & VT_ARRAY ) && ( strings.vt & VT_BSTR ) )
{
USES_CONVERSION;
SAFEARRAY *pSA = strings.parray;
BSTR *bstrArray;
SafeArrayAccessData( pSA, (void**)&bstrArray );
for( DWORD i = 0; i < pSA->rgsabound->cElements; i++ )
{
sNumber.Format("%d. ", i + 1);
sMessage = sMessage + sNumber + W2A( bstrArray[i] ) + "\n";
}
SafeArrayUnaccessData( pSA );
}
VariantClear( &strings );
pUDC->ReleaseDispatch();
delete pUDC;
MessageBox(0, sMessage, "List of Available Page Formats", MB_OK);
}
|