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

简介: c#调用cmd命令,将doc转换为 pdf using System; using System.Collections.Generic; using System.
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和内存。。。

 

相关文章
|
3月前
|
Web App开发 JavaScript 前端开发
网页VUE纯前端在线预览编辑Office,支持doc/docx、xls/xlsx、ppt/pptx、pdf等格式
随着互联网技术的不断发展,越来越多的企业开始采用在线办公模式,微软Office Word 是最好用的文档编辑工具,然而doc、docx、xls、xlsx、ppt、pptx等格式的Office文档是无法直接在浏览器中直接打开的,如果可以实现Web在线预览编辑OffIce,肯定会还带来了更高效、便捷的办公体验,为我们的工作带来了更多可能性。
545 0
|
存储 Java Linux
Springboot 超简单实现在线预览,Word文档 doc、xlsx、pdf、txt等
Springboot 超简单实现在线预览,Word文档 doc、xlsx、pdf、txt等
2019 0
Springboot 超简单实现在线预览,Word文档 doc、xlsx、pdf、txt等
|
JavaScript
Vue~在线预览doc、docx、pdf、img文件
Vue~在线预览doc、docx、pdf、img文件
5087 0
|
6月前
|
C#
命令调用C#程序, 路径参数解析错误
命令调用C#程序, 路径参数解析错误
|
7月前
|
前端开发
前端实现在线预览文档(pdf、doc文件)
前端实现在线预览文档(pdf、doc文件)
|
9月前
|
C#
C#利用委托实现命令按钮跨窗体控制
C#利用委托实现命令按钮跨窗体控制
78 0
|
存储 JavaScript 前端开发
C#(.NET)面试题:做一个能自定定义输入命令的表格程序
C#(.NET)面试题:做一个能自定定义输入命令的表格程序
110 0
C#(.NET)面试题:做一个能自定定义输入命令的表格程序
|
Java Apache Maven
利用java实现doc转换pdf
word目前应该是现在最主流的编辑软件了吧,基本每个人都会用到,功能也十分强大,应用人群广泛,但是他也存在一些问题,比如,不同软件或者不同操作系统之间传输时,格式会发生变化,这种变化很让人恼火。所以现在越来越多的人把word转换成pdf格式文件,以保证文件格式不发生变化。
3299 0
|
前端开发 C# 数据格式
C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
原文:C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
1215 0
|
C#
【C#/WPF】图像变换的Undo撤销——用Stack命令栈
原文:【C#/WPF】图像变换的Undo撤销——用Stack命令栈 需求: 图层中有一张图片,可以对该图层进行平移、缩放、旋转操作,现在要求做Undo撤销功能,使得图层回复上一步操作时的状态。
842 0