首先安装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 | 该方法用于清除对文档的保护。 |