网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP.Net实现将Word转换PDF格式

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
;//删除转换的日志文件

word.Quit();
WScript.Echo("isuccess");//成功
WScript.Quit(0);
}
catch(x)
{
word.Quit();
WScript.Echo("isfail");//失败
WScript.Quit(0);
}

  然后测试该脚本程序

  启动MS-DOS,输入如下命令:

c:\>cscript //nologo c:\ConvertDoc2PDF.js c:\test.doc c:\

  说明:

  运行成功后将看到test.pdf文档了

  c:\test.doc参数对应的是脚本程序中的files(0)

  c:\参数对应的是脚本程序中的files(1)

  你可以安照该脚本改写成,支持多个参数,使用FOR循环,一次转换多个WORD文档,此处没有使用多个文件转换功能,是考虑到,该段脚本放在C#的线程中执行,这样一来也可以转换多个WORD文档.

  四:使用C#调用ConvertDoc2PDF.js脚本

  新建一个C#的WINDOWS应用程序,添加一个按钮button1

  添加一个函数,函数名StartConvertPDF

public void StartConvertPDF()
{
 Process proc = new Process();
 proc.StartInfo.FileName = "cmd.exe";
 proc.StartInfo.WorkingDirectory = @"c:\";
 proc.StartInfo.CreateNoWindow = true;
 proc.StartInfo.UseShellExecute = false;
 proc.StartInfo.RedirectStandardInput = true; //输入重定向

 proc.Start();
 proc.StandardInput.WriteLine(@"cscript //nologo c:\ConvertDoc2PDF.js c:\test.doc c:\");
 proc.StandardInput.WriteLine("exit");
 proc.WaitForExit();
}

  然后在按钮的CLICK事件中添加调用线程的代码

private void button1_Click(object sender, System.EventArgs e)
{
//定义线程序
Thread thConvert = new Thread(new ThreadStart(StartConvertData));
thConvert.Start();
}

  注意:在测试上面的C#程序时,必须添加如下命名空间

using System.Diagnostics;
using System.Threading;

  五:健壮的C#调用代码(实际考虑,可放在B/S系统中)

  完成第4步的C#测试后,细心的读者,可能看到一点问题,那就是如何得到脚本运行后输出的结果,如何给线程中调用的StartConvertData方法传递参数

  1:传递参数,此话说来也可用一篇教程告诉大家线程中方法如何来传递参数,现在就讲一个方案,此种方案很多,我采用一个类,初始化这个类,然后调用该类的方法作为线程执行的方法

  2:得到脚本的输出结果,使用Process对象的输出重定向,就是说改变输出方向,使脚本不输出到控制台(MS-DOS窗口),而是重定向输出到C#程序中,并采用线程的异步回调方法,显示脚本运行结果。

  添加一个新类,类名为ToPdf

using System;
using System.Diagnostics;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Doc2Pdf
{
public class ToPdf
{
private string strWord = "";//此处的WORD文件不含路径
private string sPath = "";
public string sExecResult = "";
public bool bSuccess = false;

public ToPdf(string sParamWord,string sParamPath)
{
strWord = sParamWord;
sPath = sParamPath;
}

public void StartConvertPDF()
{
Process proc = new Process();
   proc.StartInfo.FileName = "cmd.exe";
   proc.StartInfo.WorkingDirectory = sPath;
   proc.StartInfo.CreateNoWindow = true;
   proc.StartInfo.UseShellExecute = false;
   proc.StartInfo.RedirectStandardInput = true;//标准输入重定向
proc.StartInfo.RedirectStandardOutput = true;//标准输出重定向

   proc.Start();
proc.StandardInput.WriteLine("cscript //nologo "+sPath+"ConvertDoc2PDF.js "+sPath+strWord+ " "+sPath);
proc.StandardInput.WriteLine

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号