c#调用cmd命令,将doc转换为 pdf

c#调用cmd命令,将doc转换为 pdf
 
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

namespace Tools
{
   /// <summary>
   /// doc文件转换为pdf文件
   /// </summary>
    public class DocToPdf
    {
        private string savePath = "";
        /// <summary>
        /// doc文件路径,包括完整文件名
        /// </summary>
        public string docFile;
        /// <summary>
        /// ConvertDoc2PDF.js目录,不包括文件名
        /// </summary>
        public string jsPath;
        /// <summary>
        /// 接收的cmd运行的结果
        /// </summary>
        public string sExecResult = "";
        /// <summary>
        /// 是否成功
        /// </summary>
        public bool bSuccess = false;
        /// <summary>
        ///
        /// </summary>
        /// <param name="sDocFile">源doc路径,包括文件名</param>
        /// <param name="sPdfPath">目的pdf目录</param>
        public DocToPdf(string sDocFile, string sPdfPath)
        {
            docFile = sDocFile;
            savePath = sPdfPath;
        }
        /// <summary>
        /// 开始转换
        /// </summary>
        public void StartConvertPDF()
        {
            Process proc = new Process();
            proc.StartInfo.FileName = "cmd.exe";
            proc.StartInfo.WorkingDirectory = jsPath;
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardInput = true;//标准输入重定向
            proc.StartInfo.RedirectStandardOutput = true;//标准输出重定向
            proc.Start();
            proc.StandardInput.WriteLine("cscript //nologo "+jsPath+"ConvertDoc2PDF.js "+docFile+" "+savePath);
            //proc.StandardInput.WriteLine("exit");
            sExecResult = proc.StandardOutput.ReadToEnd();//返回脚本执行的结果
            proc.WaitForExit();
            proc.Close();
        }
        /// <summary>
        /// 转换完成后的回调函数
        /// </summary>
        /// <param name="ar">IAsyncResult对象</param>
        public void EndConvertPDF(System.IAsyncResult ar)//ar参数必须写,是线程执行完成后的回调函数
        {
            if (sExecResult.IndexOf("isuccess") != -1) bSuccess = true;
            else if (sExecResult.IndexOf("isfail") != -1) bSuccess = false;
            //如果放在B/S系统,你可以在此处写数据库,是成功还是失败,并用一个WEBService程序不断检查数据库,此WEBService程序不放在该回调用函数中
            //如果放在C/S系统,回调函数可以不放在类中,以便在窗体程序中调用结果
        }

    }
}

 

要安装软件环境,转换时似乎很费cpu和内存。。。

 

时间: 2024-11-17 03:00:14

c#调用cmd命令,将doc转换为 pdf的相关文章

nodejs调用cmd命令实现复制目录

  本文给大家介绍的是如何在nodejs中调用CMD命令,从而实现目录的复制,非常的实用,有需要的小伙伴可以参考下. 工作中一直需要对一些官网进行文件复制,并且替换内部的一些信息,以前都是手动操作的,或者通过自己写的firefox扩展来进行文件操作的. 现在前端有nodejs了,为什么不用nodejs写个一键式的呢~~ 1.复制目录 复制文件的时候,如果直接创建一个不存在的文件目录下就不成功了.要上级目录存在才可以.(nodejs API接触时间不长,如有有误,谢谢指正). 这样在写入文件的时候

nodejs调用cmd命令实现复制目录_node.js

工作中一直需要对一些官网进行文件复制,并且替换内部的一些信息,以前都是手动操作的,或者通过自己写的firefox扩展来进行文件操作的. 现在前端有nodejs了,为什么不用nodejs写个一键式的呢~~ 1.复制目录 复制文件的时候,如果直接创建一个不存在的文件目录下就不成功了.要上级目录存在才可以.(nodejs API接触时间不长,如有有误,谢谢指正). 这样在写入文件的时候就检测一下目录是否存在,不存在则判断上级目录,之后一级一级目录创建回来,之后就可以复制文件了 var dirCache

python调用cmd命令行制作刷博器_python

复制代码 代码如下: import webbrowser as webimport timeimport os count=0while count<10:    count=count+1    #你要刷的博客    web.open_new_tab("这里是博客地址")    time.sleep(1)else:    os.system('taskkill /F /IM  360se.exe') 这里主要学到三个知识点: 1.Python的线程原来是在time模块下 2.P

Windows系统中Java调用cmd命令及执行exe程序的方法_java

Java调用cmd命令,并输出显示信息: package com.anxin.cmd.test; import java.io.BufferedReader; import java.io.InputStreamReader; public class Command { public static void main(String[] args) { try { Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("cmd /c di

C# 调用cmd命令

/***************************************************************** * C# 调用cmd命令 * 说明: * 本文记录一下C#怎么调用cmd命令. * * 2016-7-3 深圳 南山平山村 曾剑锋 ****************************************************************/ 一.参考文章: C#程序调用cmd执行命令 http://www.cnblogs.com/babyco

cmd-用C#调用CMD时,实现同步输出结果,而不是等命令执行完了后再输出。

问题描述 用C#调用CMD时,实现同步输出结果,而不是等命令执行完了后再输出. 用C#调用CMD时,如何实现同步输出结果,而不是等命令执行完了后再输出. 解决方案 JAVA中调用CMD命令,并输出执行结果 解决方案二: 用管道跟命令通信,获取它的输出.

PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法_PowerShell

     单独使用一种脚本来完成一项任务是理想的状态,而现实的情况往往是,因为历史原因.或者团队组成,你不得不将多种脚本或者程序组合在一起,来完成某项任务.本文的讨论范围是Cmd命令与PowerShell命令之间的组合与调用.      毋庸置疑,Cmd命令与PowerShell命令之间的调用有两个方向.即在Cmd命令中调用PowerShell的命令,以及在PowerShell脚本中调用Cmd命令.需要说明的是,这里的调用分两个层次:一.简单的在其中一个的环境中执行另外一个命令,完成部分工作:二

vbscript下调用 Dir 命令的方法_vbs

问: 嗨,Scripting Guy!我想做一些看上去非常简单的事情:在脚本中调用 dir 命令.但是好像不起作用.怎样实现我的想法呢? -- CR, 墨西哥城,墨西哥 答: 你好, CR.从你的邮件来看,你想做一件类似如下所示的简单工作: Set objShell = CreateObject("Wscript.Shell") objShell.Run("dir"), 1, TRUE 但是,您并没有得到一个当前文件夹中所有文件的列表,而是得到了一条信息 The s

用VB编写一个可以在ASP环境下调用的运行CMD命令的组件

有时我们在管理服务器时为了安全起见会禁用Windows Scripting Host,这样能防止某些不法用户利用WSH生成一个WebShell,对服务器造成很大的安全隐患.但如果我们又想禁用WSH,又想使用自己的WebShell用于服务器的管理怎么办呢?这里介绍了一种实现ASP中运行CMD并显示结果的组件编程.希望对大家能有所帮助. 首先我们新建一个ActiveDLL工程,命名为ASPCMD,新建的类命名为CMDShell.在"Project"的"Referenct"