首先安装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 |
|
ActivePrinter |
|
ActiveSheet |
|
ActiveWindow |
|
ActiveWorkbook |
|
AutoRecover |
|
Calculation |
|
Caption |
|
Cells |
|
Columns |
|
COMAddIns |
|
CommandBars |
|
CopyObjectsWithCells |
|
Cursor |
|
CustomListCount |
|
CutCopyMode |
|
DefaultFilePath |
|
DefaultWorkbookName |
|
DefaultWorksheetName |
|
DisplayAlerts |
|
DisplayFormulaBar |
|
DisplayRecentFiles |
|
DisplayStatusBar |
|
FixedDecimal |
|
FixedDecimalPlaces |
|
Iteration |
|
MaxChange |
|
MaxIterations |
|
MoveAfterReturn |
|
MoveAfterReturnDirection |
|
Name |
|
Names |
|
Range |
|
RecentFiles |
|
ReferenceStyle |
|
Rows |
|
SaveAsFileType |
|
SaveBackupFileOnFirstSave |
|
Selection |
|
Sheets |
|
SheetsInNewWorkbook |
|
ShowChartTipNames |
|
ShowChartTipValues |
|
ShowStartupDialog |
|
StandardFont |
|
StandardFontSize |
|
StatusBar |
|
UserControl |
|
UserName |
|
Version |
|
Visible |
|
Windows |
|
Workbooks |
|
Worksheets |
|
方法 | 描述 |
---|---|
AddCustomList |
|
DeleteCustomList |
|
GetCustomListContents |
|
GetCustomListNum |
|
GetSaveAsFilename |
|
InchesToPoints |
|
OnKey |
|
Quit |
|
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 |
|
AttachedTemplate |
|
Bookmarks |
|
BuiltInDocumentProperties |
|
Comments |
|
Content |
|
CustomDocumentProperties |
|
DefaultTabStop |
|
Endnotes |
|
Fields |
|
Footnotes |
|
FullName |
|
GridDistanceHorizontal |
|
GridDistanceVertical |
|
GridOriginFromMargin |
|
GridOriginHorizontal |
|
GridOriginVertical |
|
GridSpaceBetweenHorizontalLines |
|
GridSpaceBetweenVerticalLines |
|
HasPassword |
|
Hyperlinks |
|
InlineShapes |
|
JustificationMode |
|
KerningByAlgorithm |
|
ListParagraphs |
|
Lists |
|
ListTemplates |
|
Name |
|
NoLineBreakAfter |
|
NoLineBreakBefore |
|
OpenEncoding |
|
PageSetup |
|
Paragraphs |
|
Password |
|
PasswordEncryptionAlgorithm |
|
PasswordEncryptionFileProperties |
|
PasswordEncryptionKeyLength |
|
PasswordEncryptionProvider |
|
Path |
|
PrintRevisions |
|
ProtectionType |
|
ReadOnly |
|
RemoveDateAndTime |
|
Revisions |
|
Saved |
|
SaveEncoding |
|
SaveFormat |
|
Sections |
|
Shapes |
|
ShowRevisions |
|
SnapToGrid |
|
SnapToShapes |
|
Styles |
|
Tables |
|
TablesOfContents |
|
TablesOfFigures |
|
TextLineEnding |
|
TrackRevisions |
|
UpdateStylesOnOpen |
|
UserControl |
|
Windows |
|
WordStat |
|
WritePassword |
|
方法 | 描述 |
---|---|
AcceptAllRevisions |
|
AcceptAllRevisionsShown |
|
BeginJob |
|
Close |
|
ClosePrintPreview |
|
DeleteAllComments |
|
DeleteAllCommentsShown |
|
EndJob |
|
ExportPdf |
|
FitToPages |
|
PrintPreview |
|
Protect |
|
Range |
|
Redo |
|
RejectAllRevisions |
|
RejectAllRevisionsShown |
|
Repaginate |
|
Save |
|
SaveAs |
|
SendMail |
|
Undo |
|
Unprotect |
|