开通会员
  • 尊享所有功能
  • 文件大小最高200M
  • 文件无水印
  • 尊贵VIP身份
  • VIP专属服务
  • 历史记录保存30天云存储
开通会员
您的位置:首页 > 帮助中心 > vc word pdf-如何用vc将word文档转化为pdf
默认会员免费送
帮助中心 >

vc word pdf-如何用vc将word文档转化为pdf

2022-11-24 13:44:18

如何用vc将word文档转化为pdf

如何用vc将word文档转化为pdf
word可以转变成pdf吗?pdf是adobe公司的产品,word是微软的产品哈。只有装了1g多的专业版adobe pdf才有这个功能性的组件。看看adobe官网的sdk手册,说不定有提供的dll接口的

关于如何用vc读取word表格的问题

关于如何用vc读取word表格的问题
我现在是在做利用vc 实现word表格与access数据库相互转换的系统 ,在读取word表格数据,并转换到acces出了问题,怎么样读取word文档的表格数据?
我只能写出读取word文本的程序 但是肯定不行的 请大家帮忙改正下 我需要读取表格数据,对应到access里面 我有 m_strid, m_strname, m_nscore

void cdb005dlg::onbuttonread()
{
// todo: add your control notification handler code here
clsid clsid;
hresult hr;
hr = clsidfromprogid(l"word.application",&clsid);
if(failed(hr))
{
afxmessagebox(_t("您没有安装office"));
return;
}

iunknown *punknown=null;
idispatch *pdispatch=null;
_application app=null;

hr = getactiveobject(clsid, null, &punknown);
if(failed(hr))
{
afxmessagebox(_t("没有正在运行中的ms word"));
return;
}
hr = punknown->queryinterface(iid_idispatch, (lpvoid *)&app);
if(failed(hr))
{
punknown->release();
afxmessagebox(_t("没有取得application"));
return;
}
punknown->release();
punknown = null;

selection sel = app.getselection();
if(!sel)
{
sel.releasedispatch();
afxmessagebox(_t("没有正在编辑的ms word"));
return;
}
sel.wholestory(); //全部选择
cstring str = sel.gettext(); //取得文本
m_strreada = str; //显示到编辑窗中
updatedata(false);

sel.releasedispatch();
app.releasedispatch();
///////

if(m_noperate == 1) //增加
{
updatedata(true);
if(m_strid.isempty())
{
afxmessagebox(_t("学生学号不能为空."));
return;
}
if(m_strname.isempty())
{
afxmessagebox(_t("学生姓名不能为空."));
return;
}
cstring strsql;
strsql.format(_t("insert into studentinfo values('%s','%s',%d)"), m_strid, m_strname, m_nscore);
try
{
m_pconnection->execute(_bstr_t(strsql), 0, adcmdtext);
}
catch(_com_error e)
{
afxmessagebox(_t("增加记录失败!"));
}
afxmessagebox(_t("增加记录成功!"));
freshlist();
}

在vc中如何将数据导入word中

在vc中如何将数据导入word中
在给企业开发的项目中,客户经常要求将 在给企业开发的项目中,客户经常要求将数据汇总显示并打印。站在程序员的立场上,简单数据的汇总打印可以采用vb自带报表,对复杂的数据用水晶报表或第三方打印控件。在企业中,汇总数据另一个目的是为了便于交流和共享资源,报表的格式通常固定,内容可以自己调整,他们对 excel 和 word 情有独钟。
刚完成的项目中,客户要求将汇总的数据以三种方式进行显示和打印:autocad、excel 和 word 文档中。前两种方式网上资源很多,对 word 文档我找到例子不是很多。由于需要和 autocad 开发程序结合,不能将 word 文档以 ole 的方式 嵌入到程序中,文档只能在内存中形成,这将占用大量的cpu资源,另开一个线程进行处理,线程间以发送消息的方式进行通信。
首先在vc引入word, 对格式相同的地方一定使用模版的方式进行处理,这可以大大的提高运行速度,word中的模版为*.dot。加载模版的代码为:
sdocs=sapp.getdocuments();
sdocs.attachdispatch(sapp.getdocuments(),true);
colevariant vfalse((long)0),vtrue((long)1);
sdoc.attachdispatch(sdocs.add(colevariant(_variant_t(strfilename)), vfalse,vfalse, vtrue));
需要注意的是,如果word中使用到表格,vba录制的全是selection对象的处理方法,在vc中使用selection对象的moveup和movedown函数时会出现不确定现象(如果你知道为什么的话请告诉我)。如果你需要绘制表格,不要用程序来动态形成,绘制表格的代码是很繁琐的,而且在页眉中绘制单元格是很难控制的。可以先在模版中绘出你要的表格格式,然后用程序复制单元格或者直接使用模版中的单元格。由于我做的项目表格的行数不确定,我采用的是复制单元格的方式(速度比较慢,谁有更好的方法?)。

vc下操作word,按指定格式把替换文本。

vc下操作word,按指定格式把替换文本。
word里面录制宏看下,然后用对应的ole方法操作
selection.font.bold = wdtoggle
selection.font.underlinecolor = wdcolorautomatic
selection.font.underline = wdunderlinesingle
如果你引用了office的lib,可以直接使用这些枚举,如果用的自动化接口,可以查下这些枚举对应的值,直接给属性赋值也可以
您已连续签到 0 天,当前积分:0
  • 第1天
    积分+10
  • 第2天
    积分+10
  • 第3天
    积分+10
  • 第4天
    积分+10
  • 第5天
    积分+10
  • 第6天
    积分+10
  • 第7天

    连续签到7天

    获得积分+10

获得10积分

明天签到可得10积分

咨询客服

扫描二维码,添加客服微信