AfxOleInit();
CAcroApp* m_pAcroApp=new CAcroApp;
if (!m_pAcroApp->CreateDispatch(TEXT("AcroExch.App")))
{
DisplayMsg(_T("Failed to create m_pAcroApp"));
break;;
}
CAcroAVDoc* m_pAcroAVDoc=new CAcroAVDoc;
if (!m_pAcroAVDoc->CreateDispatch(TEXT("AcroExch.AVDoc")))
{
//DisplayMsg(_T("Failed to create AVDoc"));
break;
}
m_pAcroAVDoc->Open(strPDFFilePath.GetBuffer(),_T(""));
CAcroPDDoc tempDoc;
tempDoc.AttachDispatch (m_pAcroAVDoc->GetPDDoc(),TRUE);
LPDISPATCH jso =tempDoc.GetJSObject();
if (jso==NULL)
{
//AfxMessageBox(_T("jso == null"));
}
DISPID dispId;
OLECHAR FAR* szMember = L"SaveAs";
HRESULT hr = jso->GetIDsOfNames(IID_NULL, &szMember, 1, LOCALE_SYSTEM_DEFAULT, &dispId);
if(FAILED(hr))throw (hr);
DISPPARAMS dispParams;
memset(&dispParams, 0, sizeof(dispParams));
dispParams.cArgs = 2;
CComVariant* pVars = new CComVariant[2];
pVars[1] = strTIFFilePath.GetBuffer();//L"d:\\test.tif";
pVars[0] = L"com.adobe.acrobat.tiff";
pVars[1].ChangeType(VT_BSTR);
pVars[0].ChangeType(VT_BSTR);
dispParams.rgvarg = pVars;
dispParams.cNamedArgs = 0;
EXCEPINFO excepInfo;
memset(&excepInfo, 0, sizeof(excepInfo));
CComVariant vaResult;
UINT nArgErr = (UINT)-1;
hr = jso->Invoke(dispId, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD, &dispParams, &vaResult, &excepInfo, &nArgErr);
delete[] pVars;
// Print all pages of the document
// itfAVDocument->PrintPagesSilent(0, nPages - 1, 0, true, true);
// Close the document
m_pAcroAVDoc->Close(true);
// Close Adobe Acrobat Writer
m_pAcroApp->Exit();