C#

C#将WORD转PDFhtml教程

时间:2013-6-19 22:54:35  作者:WPF之家  来源:http://www.wpf123.com  查看:815  评论:0
内容摘要:首先安装WORD和WPS(2005个人版就OK了)操作WPS配置说明using WPS;1.运行Dcomcnfg.exe 2.组件服务――计算机――我的电脑――DCOM配置――找到WPS文档 3.点击属性 4.选择“安全性”&...
首先安装WORD和WPS(2005个人版就OK了)
操作WPS配置说明
using WPS;
1.运行Dcomcnfg.exe 
2.组件服务――计算机――我的电脑――DCOM配置――找到WPS文档 
3.点击属性 
4.选择“安全性” 
5.选定“使用自定义访问权限”和“使用自定义启动权限” 
6.分别编辑权限,添加Everyone(ASPNET,VS Developers,Debugger User)
7.选择“身份标识”,在选定“交互式用户” 即可 

9.在Web.config里加 <identity impersonate="true"/>
转换为WPS打开,转化为PDF
    WPS.Application WPSApp;
    object MissingValue=Type.Missing;
    WPSApp = new WPS.ApplicationClass();
    WPSApp.Visible = false;
    object Unknown =Type.Missing;
    String upPath;
    upPath=Server.MapPath("tempup\\" +Request.Cookies["code"].Value +"\\");   
    if(!Directory.Exists(upPath))   
     Directory.CreateDirectory(upPath); 
    object wpsurl = upPath +upfile.PostedFile.FileName.Substring(upfile.PostedFile.FileName.LastIndexOf("\\"),upfile.PostedFile.FileName.Length - upfile.PostedFile.FileName.LastIndexOf("\\"));
    //string wpsurl=Source2.ToString();
    object wpsurls=wpsurl+".pdf";
    WPS.Document WPSDocument = WPSApp.Documents.Add(ref wpsurl, false, 0, true);
    WPSDocument.ExportPdf(wpsurl+".pdf","","");
    db.dbconn conn = new dbconn();
    string sql;
    sql=@"update maindata set pdf_furl='"+wpsurls+"'";
    conn.doexecsql(sql);

    object save = false;
            
    WPSApp.Quit(ref save,ref Unknown,ref Unknown);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(WPSApp);  

//使用WPS导出PDF,要运行此实例,需要C盘下有一个Demo.wps的文件.

//当然同样如果用"Demo.doc"那么程序里也要相应更改

//完成后的效果是在C盘下有一个Demo.pdf文件.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

//添加反射命名空间
using System.Reflection;

namespace CShapeWpsToPdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            object WpsApp;
            object[] args = new object[1];
            Type wpsAppName;
            string progID = "Wps.Application";
            wpsAppName = Type.GetTypeFromProgID(progID);

            //创建一个WPS实例
            WpsApp = Activator.CreateInstance(wpsAppName);
            args[0] = true;

            //设置为可见
            wpsAppName.InvokeMember("Visible", BindingFlags.SetProperty, null, WpsApp, args);

            //得到Documents对象
            Object wpsDocs = wpsAppName.InvokeMember("Documents", BindingFlags.GetProperty, null, WpsApp, null);

              //设置关键参数即可,例如: 在打开的方法中,只要指定打开的文件名与是否可见
            args = new object[15];
            args[0] = @"C:\Demo.wps";
            args[11] = true;

            //打开C盘下的Demo.wps
            Object wpsDoc = wpsAppName.InvokeMember("Open", BindingFlags.InvokeMethod, null, wpsDocs, args);
            args = new object[3];

            //生成PDF
            args[0] = @"C:\Demo.pdf";
            wpsAppName.InvokeMember("ExportPdf", BindingFlags.InvokeMethod, null, wpsDoc, args);
        }
    }
}


标签:identity 计算机 安全性 个人版 false 

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。本文出自“wpf之家”,请务必保留此出处:http://www.wpf123.com

相关评论
Copyright © 2009-2014 WPF之家(http://www.wpf123.com/) All rights reserved
 Powered by WPF之家
鄂ICP备13006396号