首先安装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的文件.

//完成后的效果是在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);
        }
    }
}

 

该对象代表 ET 应用程序。包含可返回最高级对象的属性和方法。

Class Application

说明

如要使用另一模块的自动功能来控制WPS,要使用 CreateObject 或者 GetObject 函数来返回 WPS Application对象。

属性列表

属性 描述
ActiveCell 该属性返回一个 Range 对象,该对象代表活动窗口的活动单元格。Range 类型,只读。
ActivePrinter 该属性返回或设置活动的打印机的名称。String 类型,可读写。
ActiveSheet 该属性返回指定工作簿中的活动工作表。Object 类型,只读。
ActiveWindow 该属性返回应用程序中的活动窗口。Window 类型,只读。
ActiveWorkbook 该属性返回应用程序中的活动工作簿。Workbook 类型,只读。
AutoRecover 该属性返回一个 AutoRecover 对象,该对象在规定的时间间隔内对所有的文件格式进行备份。AutoRecover 类型,只读。
Calculation 该属性返回或设置应用程序的计算模式。ETCalculation 类型,可读写。
Caption 该属性返回或设置主窗口标题栏中的名称。String 类型,可读写。
Cells 该属性返回活动工作表中的所有单元格。Range 类型,只读。
Columns 该属性返回活动工作表中所有的列。Range 类型,只读。
COMAddIns 该属性返回应用程序当前所安装的 COM 加载宏的集合。COMAddIns 类型,只读。
CommandBars 该属性返回应用程序有效的内置及自定义命令栏的集合。Object 类型,只读。
CopyObjectsWithCells 该属性返回或设置对象是否与单元格一同剪切、复制、提取和排序。Boolean 类型,可读写。
Cursor 该属性返回或设置应用程序中鼠标指针的形状。ETMousePointer 类型,可读写。
CustomListCount 该属性返回应用程序中自定义序列的数量。Long 类型,只读。
CutCopyMode 该属性返回或设置剪切或复制模式的状态。Long 类型,可读写。
DefaultFilePath 该属性返回或设置应用程序保存文件时使用的默认路径。String 类型,可读写。
DefaultWorkbookName 该属性返回或设置默认的工作薄名称。String 类型,可读写。
DefaultWorksheetName 该属性返回或设置应用程序默认的工作表名称。Stirng 类型,可读写。
DisplayAlerts 该属性返回或设置在宏运行时是否显示特定的警告和消息。Boolean 类型,可读写。
DisplayFormulaBar 该属性返回或设置编辑栏是否可见。Boolean 类型,可读写。
DisplayRecentFiles 该属性返回或设置在“文件”菜单中是否显示最近使用过的文件的名称。Boolean 类型,可读写。
DisplayStatusBar 该属性返回或设置状态栏是否显示。Boolean 类型,可读写。
FixedDecimal 该属性返回或设置所有输入数据的小数位数格式是否由 FixedDecimalPlaces 属性来设定。Boolean 类型,可读写。
FixedDecimalPlaces 该属性返回或设置所有输入数据的小数位数。Long 类型,可读写。
Iteration 该属性返回或设置应用程序是否使用迭代来处理循环引用。Boolean 类型,可读写。
MaxChange 该属性返回或设置应用程序处理循环引用时迭代之间的最大变化值。Double 类型,可读写。
MaxIterations 该属性返回或设置应用程序处理循环引用的最大迭代次数。Long 类型,可读写。
MoveAfterReturn 该属性返回或设置在按下 Enter (回车键) 后活动单元格的位置是否改变。Boolean 类型,可读写。
MoveAfterReturnDirection 该属性返回或设置用户按下 Enter (回车键) 时活动单元格选定框的移动方向。ETDirection 类型,可读写。
Name 该属性返回应用程序的名称。String 类型,只读。
Names 该属性返回 ET 应用程序的 Names 集合。Names 类型,只读。
Range 该属性返回一个 Range 对象,表示活动工作表中一个单元格或单元格区域。Range 类型,只读。
RecentFiles 该属性返回一个 RecentFiles 集合,该集合代表最近使用的文件列表。RecentFiles 类型,只读。
ReferenceStyle 该属性返回或设置显示单元格和行、列标题的引用样式。ETReferenceStyle 类型,可读写。
Rows 该属性返回活动工作表所有的行。Range 类型,只读。
SaveAsFileType 该属性返回或设置“另存为”时文件的类型。Variant 类型,可读写。
SaveBackupFileOnFirstSave 该属性返回或设置在第一次保存时是否生成备份文件。Boolean 类型,可读写。
Selection 该属性返回在活动窗口中选定的对象。Object 类型,只读。
Sheets 该属性返回活动工作簿中工作表的集合。Sheets 类型,只读。
SheetsInNewWorkbook 该属性返回或设置应用程序中自动插入到新工作簿中的工作表数量。Long 类型,可读写。
ShowChartTipNames 该属性返回或设置图表提示名称是否显示。Boolean 类型,可读写。
ShowChartTipValues 该属性返回或设置图表的提示值是否显示。Boolean 类型,可读写。
ShowStartupDialog 该属性返回或设置应用程序的“新建工作簿”任务窗格是否显示。Boolean 类型,可读写。
StandardFont 该属性返回或设置应用程序中标准字体的名称。String 类型,可读写。
StandardFontSize 该属性返回或设置标准字体的大小,以磅为单位。Long 类型,可读写。
StatusBar 该属性返回或设置状态栏中的文本信息。String 类型,可读写。
UserControl 该属性返回或设置 ET 应用程序是否由用户创建或启动。Boolean 类型,可读写。
UserName 该属性返回或设置当前用户的名称。String 类型,可读写。
Version 该属性返回应用程序的版本号。String 类型,只读。
Visible 该属性返回或设置应用程序是否可见。Boolean 类型,可读写。
Windows 该属性返回所有工作簿中窗口的集合。Windows 类型,只读。
Workbooks 该属性返回打开的工作簿的集合。Workbooks 类型,只读。
Worksheets 该属性返回活动工作簿中工作表的集合。Worksheets 类型,只读。

方法列表

方法 描述
AddCustomList 该方法用于添加自定义序列。
DeleteCustomList 该方法用于删除一个自定义序列。
GetCustomListContents 该方法用于返回一个自定义序列的内容。
GetCustomListNum 该方法用于返回自定义序列的序列号。
GetSaveAsFilename 该方法用于显示标准的“另存为”对话框并获取文件名。
InchesToPoints 该方法用于将度量单位从英寸转换为磅。
OnKey 该方法用于按特定键或特定的组合键时运行指定的过程。
Quit 该方法用于退出 ET 应用程序。
Redo 该方法用于恢复最后一次的用户界面操作。
Run 该方法用于运行一个宏或者调用一个函数。
SetDefaultChart 该方法用于指定应用程序新建图表时使用的图表模板的名称。
Terminate 该方法用于结束应用程序对象的生命周期。
Undo 该方法用于撤消最后一次的用户界面操作。

事件列表

事件 描述
WorkbookOpen 该事件在当打开一个工作簿时触发。
WorkbookBeforeClose 该事件在任一打开的工作簿要关闭时立即触发。
WorkbookBeforeSave 该事件在保存任一打开工作簿之前触发。
WorkbookActivate 该事件在激活任一工作簿时触发。
WorkbookDeactivate 该事件在打开的工作簿由活动转为非活动状态时触发。
SheetActivate 该事件在激活任何一张表时触发。
SheetDeactivate 该事件在任一工作表由活动状态转为非活动状态时触发。
SheetBeforeDoubleClick 该事件在双击任何工作表时触发。
SheetBeforeRightClick 该事件在用鼠标右键单击任一工作表时触发。
WindowActivate 该事件在工作簿的窗口激活时触发。
WindowDeactivate 该事件在工作簿的窗口变为非活动状态时触发。

 

该对象代表 WPS 的一篇文档。
Document 对象是 Documents 集合中的一个元素。Documents 集合包含 WPS 应用程序当前打开的所有文档。

Class Document

说明

用 Documents(index) 可返回单个的 Document 对象,其中 index 是文档的名称或索引序号。

属性列表

属性 描述
ActiveWindow 该属性返回应用程序当前的活动窗口。Window 类型,只读。
AttachedTemplate 该属性返回或设置一个与活动文档相关联的模板。Template 类型,可读写。
Bookmarks 该属性返回文档中所有书签的集合。Bookmarks 类型,只读。
BuiltInDocumentProperties 该属性返回文档中所有内置属性的集合。Object 类型,只读。
Comments 该属性返回文档中批注的集合。Comments 类型,只读。
Content 该属性返回文档中文字和图形部分的区域。Range 类型,只读。
CustomDocumentProperties 该属性返回文档中所有自定义属性的集合。Object 类型,只读。
DefaultTabStop 该属性返回或设置文档中默认制表位的间隔,以磅作为度量单位。Single 类型,可读写。
Endnotes 该属性返回文档中所有尾注的集合。Endnotes 类型,只读。
Fields 该属性返回文档中所有域的集合。Fields 类型,只读。
Footnotes 该属性返回文档中所有脚注的集合。Footnotes 类型,只读。
FullName 该属性返回文档的完整名称。String 类型,只读。
GridDistanceHorizontal 该属性返回或设置 WPS 文档中网格线的水平间距。Single 类型,可读写。
GridDistanceVertical 该属性返回或设置 WPS 文档中网格线的垂直间距。Single 类型,可读写。
GridOriginFromMargin 该属性返回或设置文档中的网格起点是否使用页边距。Boolean 类型,可读写。
GridOriginHorizontal 该属性返回或设置文档中网格线的水平起点位置。Single 类型,可读写。
GridOriginVertical 该属性返回或设置文档中网格线的垂直起点位置。Single 类型,可读写。
GridSpaceBetweenHorizontalLines 该属性返回或设置在屏幕上是否显示网格线的水平间隔。Long 类型,可读写。
GridSpaceBetweenVerticalLines 该属性返回或设置在屏幕上是否显示网格线的垂直间隔。Long 类型,可读写。
HasPassword 该属性返回当前文档是否需要密码才能打开。Boolean 类型,只读。
Hyperlinks 该属性返回文档中所有超链接的集合。Hyperlinks 类型,只读。
InlineShapes 该属性返回文档中所有嵌入式图形对象。InlineShapes 类型,只读。
JustificationMode 该属性返回或设置文档中字符间距的调整量。WpsJustificationMode 类型,可读写。
KerningByAlgorithm 该属性返回或设置是否调整文档中的半角西文字符与标点符号的间距。Boolean 类型,可读写。
ListParagraphs 该属性返回文档中所有编号段落的集合。ListParagraphs 类型,只读。
Lists 该属性返回文档中的所有项目符号和编号列表的集合。Lists 类型,只读。
ListTemplates 该属性返回文档中所有的列表模板。ListTemplates 类型,只读。
Name 该属性用于返回 Document 对象的名称。String 类型,只读。
NoLineBreakAfter 该属性返回或设置文档中的每一行不能出现在末尾位置的字符。String 类型,可读写。
NoLineBreakBefore 该属性返回或设置文档中的每一行不能出现在开始位置的字符。String 类型,可读写。
OpenEncoding 该属性返回文档在打开时使用的编码类型。WpsEncoding 类型,只读。
PageSetup 该属性返回与文档相关联的 PageSetup 对象。PageSetup 类型,可读写。
Paragraphs 该属性返回文档中段落的集合。Paragraphs 类型,只读。
Password 该属性用于设置在打开文档必须使用的密码。String 类型,只写。
PasswordEncryptionAlgorithm 该属性返回用密码加密文档时所用的算法。String 类型,只读。
PasswordEncryptionFileProperties 该属性返回是否对密码保护的文档的文件属性加密。Boolean 类型,只读。
PasswordEncryptionKeyLength 该属性返回用密码加密文档时所用的密码键长。Long 类型,只读。
PasswordEncryptionProvider 该属性返回用密码加密文档时所用的密码提供程序。String 类型,只读。
Path 该属性返回文档的磁盘或 Web 路径。String 类型,只读。
PrintRevisions 该属性返回或用于设置在打印文档的同时是否打印修订标记。Boolean 类型,可读写。
ProtectionType 该属性返回文档的保护类型。WpsProtectionType 类型,只读。
ReadOnly 该属性返回当前文档是否为只读文档。Boolean 类型,只读。
RemoveDateAndTime 该属性设置或返回是否在文档中存储修订的日期和时间元数据。Boolean 类型,可读写。
Revisions 该属性返回文档中所有修订的集合。Revisions 类型,只读。
Saved 该属性返回或设置文档或模板从上一次保存后是否一直没有更改。Boolean 类型,可读写。
SaveEncoding 该属性返回或设置保存文档时使用的编码。WpsEncoding 类型,只读。
SaveFormat 该属性返回文档或文件转换器的文件格式。String 类型,只读。
Sections 该属性返回文档中节的集合。Sections 类型,只读。
Shapes 该属性返回文档、页眉或页脚中的所有 Shape 对象的集合。Shapes 类型,只读。
ShowRevisions 该属性返回或设置是否在屏幕上显示对文档的修订。Boolean 类型,可读写。
SnapToGrid 该属性返回或设置文档中的对象是否与网格对齐。Boolean 类型,可读写。
SnapToShapes 该属性返回或设置文档中的对象是否与其它对象对齐。Boolean 类型,可读写。
Styles 该属性返回文档中所有样式的集合。Styles 类型,只读。
Tables 该属性返回文档中所有的表格。Tables 类型,只读。
TablesOfContents 该属性返回文档中所有目录的集合。TablesOfContents 类型,只读。
TablesOfFigures 该属性返回文档中所有图表目录的集合。TablesOfFigures 类型,只读。
TextLineEnding 该属性返回或设置在保存为文本文件时候文档的段落分隔符的方式。WpsLineEndingType 类型,可读写。
TrackRevisions 该属性返回或设置是否标记对文档的修改。Boolean 类型,可读写。
UpdateStylesOnOpen 该属性返回或设置在每次打开文档时,是否依照其附属的模板更新文档样式。Boolean 类型,可读写。
UserControl 该属性返回或设置文档或应用程序是否由用户创建或打开的。Boolean 类型,可读写。
Windows 该属性返回文档中所有窗口的集合。Windows 类型,只读。
WordStat 该属性返回文档中字数统计的信息。WordStat 类型,只读。
WritePassword 该属性设置一个保存文档时所需的密码。String 类型,只写。

方法列表

方法 描述
AcceptAllRevisions 该方法用于接受对当前活动文档的所有修订。
AcceptAllRevisionsShown 该方法用于接受显示在屏幕上的所有的修订。
BeginJob 该方法用于标识将一系列的操作当成一个事务操作的开始。
Close 该方法用于关闭一个文档。
ClosePrintPreview 该方法用于将文档从打印预览状态切换到普通视图状态。
DeleteAllComments 该方法用于删除文档中所有的批注。
DeleteAllCommentsShown 该方法用于删除文档中显示在屏幕上的所有批注。
EndJob 该方法用于标识将一系列的操作当成一个事务操作的结束。
ExportPdf 该方法用于将活动文档转换为 pdf 格式并导出。
FitToPages 该方法用于缩小文本的字体大小,使文档的页数减少。
PrintPreview 该方法用于将文档从普通视图切换到打印预览视图。
Protect 该方法用于保护当前文档,防止其被更改。
Range 该方法用于返回文档中的一个区域。
Redo 该方法用于恢复最后一次或最后一系列撤消的操作。
RejectAllRevisions 该方法用于拒绝对当前活动文档的所有修订。
RejectAllRevisionsShown 该方法用于拒绝显示在屏幕上的所有的修订。
Repaginate 该方法用于对整篇文档重新分页。
Save 该方法用于保存文档。
SaveAs 该方法使用新的名称或格式来保存当前文档。
SendMail 该方法用于打开一个邮件窗口,将当前文档作为附件并通过邮件服务器发送。
Undo 该方法用于撤消最后一次或最后一系列操作。
Unprotect 该方法用于清除对文档的保护。

posted on 2009-11-23 19:10  freedom831215  阅读(1678)  评论(0编辑  收藏  举报