vc 保存html,vc打开文件保存文件对话框,保存的时候html转pdf

本文介绍了CReportEditDoc类中关于文件打开和保存的处理程序。使用CFileDialog实现文件选择对话框,支持HTML和PDF格式的文件操作,包括打开、保存HTML文件及通过wkhtmltopdf转换为PDF。

void CReportEditDoc::OnFileOpen()

{

// TODO: 在此添加命令处理程序代码

CFileDialog dlg(TRUE, //TRUE为OPEN对话框,FALSE为SAVE AS对话框

NULL,

NULL,

OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,

(LPCTSTR)_TEXT("Report Files (*.html)|*.html|All Files (*.*)|*.*||"),

NULL);

if(dlg.DoModal()==IDOK)

{

m_szFilePathName=dlg.GetPathName(); //文件名保存在了FilePathName里

}

else

{

return;

}

OnOpenDocument(m_szFilePathName);

}

void CReportEditDoc::OnFileSave()

{

// TODO: 在此添加命令处理程序代码

CString FilePathName;

CFileDialog dlg(FALSE, //TRUE为OPEN对话框,FALSE为SAVE AS对话框

_T("html"),

NULL,

OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_EXPLORER,

(LPCTSTR)_TEXT("Report Files (*.html)|*.html|Report Files (*.pdf)|*.pdf||"),

NULL);

if(dlg.DoModal()==IDOK)

{

FilePathName = dlg.GetPathName();

}

else

{

return;

}

CString szFiter = FilePathName.Right(4);

if(szFiter == _T("html"))

OnSaveDocument(FilePathName);

else if(szFiter == _T(".pdf"))

{

//先保存一个临时html文件

CString szTempFileName;

szTempFileName = ReturnPath() + _T("\\wkhtmltopdf\\temp.html");

//删除临时文件

::DeleteFile(szTempFileName);

OnSaveDocument(szTempFileName);

CString szParam = _T("\""); //解决路径中有空格

szParam += szTempFileName;

szParam += _T("\"");

szParam += _T(" ");

szParam +=_T("\"");

szParam += FilePathName;

szParam += _T("\"");

CString szExePathName = ReturnPath() + _T("\\wkhtmltopdf\\wkhtmltopdf.exe");

//执行转换

HINSTANCE rel = ShellExecute(NULL,NULL,szExePathName,szParam,NULL,SW_HIDE);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值