Edraw Office Viewer Component User Guide

Overview

Edraw Office Viewer Component contains a standard ActiveX control that acts as an ActiveX document container for hosting Office documents (including Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft Project, and Microsoft Visio documents) in a custom form or Web page. The control is lightweight and flexible, and gives developers new possibilities for using Office in a custom solution.

The control is designed to handle specific issues that make using ActiveX documents from a non-top-level host window difficult, and serves as a starting place for constructing your own embedded object file viewer or editor as an ActiveX control.

It is a great solution for companies wishing to display read-only Word document data and Excel sheet to their employees while restricting modifications to the underlying data. You can play the PowerPoint file in the same window. You can also display password protected Word documents without supplying passwords to your users - keep your confidential data safe and secure! With the office component it is easy to upload or download file between server and client via HTTP/FTP.

Product Home: http://www.ocxt.com

Company Home: http://www.edrawsoft.com

Online Demo: http://www.ocxt.com/online-demo/

Support Mail: support@ocxt.com

Sales online: https://www.regnow.com/softsell/nph-softsell.cgi?item=14621-2

Requirement

The Server: Windows or Unix Server.

The Client: Office 97, Office 2000, Office XP, Office 2003 or Office 2007

It can be easily integrated into applications written in languages that support ActiveX control such as Visual C++, Visual Basic, Delphi, C++ Builder and .Net languages. Support Office automation to custom your application. Include abundant sample codes in the install folder. You can also get the full c++ source codes.

OCX Information

Name: Edraw Office Viewer Component

File Name: officeviewer.ocx

CLSID: 6BA21C22-53A5-463f-BBE8-5CF7FFA0132B

Version: 5,6,578,1

Release Date: 2009-2-18

OCX Size: 359KB

CAB Size: 202KB

Requirement

The client needs Microsoft Office installed. If the user needs to view the Microsoft Word document in a form, the user's computer must install the Microsoft Word.


Edraw Office Viewer Component License Agreement

1 INTRODUCTION
1.1 This License Agreement ("Agreement") is an agreement between you and EdrawSoft. Please read these terms and conditions carefully before downloading any software and applicable documentation as they contain important information about your rights and obligations. It governs your use of the software ("the Software") supplied to you by EdrawSoft and related documentation. In particular, we draw your attention to clause 8 (limitation of liability).
By downloading, installing or otherwise using the Software you agree to be legally bound by this License Agreement as it may be modified and posted on our website from time to time.
1.2 If you do not wish to be bound by this Agreement, then you may not download or use the Software.
2 LICENSE
2.1 Specific conditions of use which apply to the type of license you have acquired from EdrawSoft are:
2.1.1 Evaluation License for non-chargeable Software: You may use the Software freely within your organization to access whether it meets your needs.
2.1.2 Single Developer License:
(a) You may install and use the Software on any number of computers or terminals within your organization.
(b) You may incorporate the Software, or portions of the Software, into your own software for use within your own organization.
(c) You may not distribute the Software, or any portions of the Software, or related documentation to any other organization or to any person external to your organization.
2.1.3 Company Distribution License:
(a) You may copy, install and use the Software on any number of computers or terminals within your organization royally free.
(b) You may incorporate the Software, or portions of the Software, into your own software products for distribution to other people or organizations provided the appropriate copyright of EdrawSoft is acknowledged on all media containing, and documentation relating to, such software products.
(c) You may not distribute the Software, or any portion of the Software, to any third party unless it is incorporated into your own software products whose functionality exceeds the functionality of the Software and which do not compete directly with the Software.

(d) Your product can't be any component or library for sale.
2.1.4 Source Code License:
(a) You may modify the Source code then compile the new version.
(b) No Sale. The licenses granted under this Agreement do not constitute a sale of the Software or any portion or copy of it.
(c) You can't distribute the source code to any other organization or any person external to your organization.

(d) Your product can't be any component or library for sale.
3 RESTRICTIONS ON USE
3.1.1 You may make a reasonable number of copies of the Software solely for backup and recovery purposes. Any such copies shall in all respects be subject to the terms and conditions of this Agreement.
3.1.2 You shall not make copies of the Software additional to those expressly permitted in this License Agreement.
3.1.3 You shall not copy any written documentation accompanying the Software.
3.1.4 You shall not remove or obscure any copyright and trademark notices or other proprietary notices relating to the Software. All notices must be duplicated as it appears on the Software on all authorized copies.
3.1.5 You shall not reverse engineer, decompile or disassemble the Software except to the extent expressly permitted by any applicable local laws which may over-rule this restriction.
3.1.6 You may not distribute any portions of the Software to any third party except under the terms of a Developer Distribution License if you have acquired such a license from EdrawSoft.
3.1.7 You may not rent or lease the Software but you may transfer the Software and accompanying documentation on a permanent basis provided that (i) you retain no copies and (ii) the recipient agrees to the terms of the License Agreement you are transferring and (iii) you notify EdrawSoft of the transfer in writing.
3.1.8 You shall not use the Software in any way other than in a manner specifically licensed under this Agreement.
3.1.9 You shall not display the Software on a public bulletin board, website, chat room or by any other unauthorized means.
4 INTELLECTUAL PROPERTY RIGHTS
MS Word, MS Excel, MS PowerPoint, Visio, Project are the products of Microsoft. If you use Edraw Office Viewer Component, you need install the full version MS Office in your computer. The copyright, patents, trade marks and all other intellectual property rights in the Software and related documentation are owned by and remain the property of EdrawSoft or its suppliers and are protected by national laws and international treaty provisions. You do not obtain any rights in the Software other than those expressly granted in this Agreement.
5 TERMINATION
This Agreement is effective until terminated. This Agreement will terminate automatically if you fail to comply with any provision of this Agreement. Upon notice of termination from EdrawSoft you shall destroy the documentation and all copies of the Software promptly.
6 UPDATE POLICY
EdrawSoft may create, from time to time, updated versions of the Software. EdrawSoft will make any such updated versions available to licensees who have paid the update fee. If you acquire an updated version of the Software then all copies of the previous version must be destroyed and not used, except for one copy which may be retained solely for archival purposes.
7 WARRANTY
7.1 Subject to the limitations upon its liability set out in clause 8, EdrawSoft warrants that:
7.1.1 for a period of 90 days from you purchasing the Software, it will materially conform to the electronic documentation provided with it; and
7.1.2 with respect to any physical diskette(s), the same shall be free from defects in materials and workmanship for a period of 90 days from purchase.
7.2 In the event of notification within the warranty period stated in clause 7.1, EdrawSoft shall replace the defective Software and/or diskette(s). Your remedy for breach of the warranties set out in clause 7.1 shall be limited to replacement of the defective materials and shall not encompass any other damages.
7.3 Save as stated herein, EdrawSoft expressly disclaims all other conditions, warranties, terms and undertakings, expressed or implied, statutory or otherwise, relating to the Software and related documentation or technical support including but not limited to warranties of quality, performance, satisfactory quality or fitness for a particular purpose.
8 LIMITATION OF LIABILITY
8.1 Nothing in this Agreement shall limit EdrawSoft's liability for:
8.1.1 fraud or other criminal act;
8.1.2 personal injury or death caused by our negligence;
8.1.3 any other liability that cannot be excluded by law.
8.2 Subject to clause 8.1, EdrawSoft accepts no liability for any indirect or consequential loss or damage, or for any loss of data, profit, revenue, anticipated savings or business, however caused and even if foreseeable or made known to EdrawSoft.
8.3 Except as provided in clause 8.1, EdrawSoft’s maximum liability to you for any cause whatsoever will be limited to the amount paid for the Software.
9 SEVERABILITY
If a Court or other competent authority decides that any provision of this Agreement is void or otherwise ineffective in whole or in part then any other part and the other terms and conditions of this Agreement shall continue in full force and effect.
10 THIRD PARTY RIGHTS
The parties do not intend that any term of this Agreement shall be enforceable solely by virtue of the Contracts (Rights of Third Parties) Act 1999 by any person who is not a party to this Agreement.
11 ENTIRE AGREEMENT
This Agreement constitutes the entire agreement between the parties with respect to the subject matter of this Agreement and supersedes all previous agreements, arrangements or undertakings between the parties relating to the subject matter of this Agreement and any representations or warranties previously given or made to it.
12 ASSIGNMENT
You may not assign this Agreement nor any of its rights or obligations hereunder nor sub-license the use (in whole or in part) of the Software without EdrawSoft's prior consent.
13 NOTICES
13.1 All notices shall be given:
13.1.1 to EdrawSoft via e-mail at support@edrawsoft.com;
13.1.2 to you at either the e-mail or postal address you provide during any ordering process.
13.2 Notice will be deemed received when an e-mail is received in full (or else on the next business day if it is received on a weekend or a public holiday in the place of receipt) or 3 days after the date of posting.
14 GOVERNING LAW
This Agreement is governed by and interpreted in accordance with English law. Any disputes or claims relating to this Agreement shall be subject to the exclusive jurisdiction of the English Courts.


Order

It’s fast, easy and convenient to order Edraw Office Viewer Component!

We offer several convenient purchase options: credit card, Invoice, fax, PayPal or wire transfer.

After successful ordering, the license information and the download information will be sent to your email address. For your protection, your payment will be processed by the RegNow.

For more information on what we do with your card details, please visit our privacy policy.

Order EDraw Office Viewer Component

Our standard Customer Support Center hours are Mon-Fri., 8:00-5:00 CET.
Our Support Center representatives are here to help solve any problems you may have and/or to answer any questions you may have.
You may reach us by simply emailing us at support@ocxt.com and one of our representatives will be in contact with you.

FAQ

How long will I receipt the full version after I have put an order?
We send the license information and download files within a business day.

What's difference about between company license and individual license?
The company license allows a company distribute their products with our component royally free. the individual license can't be distributed for commerce use.

The full version includes a digital signature?
Yes. We signed component and CAB files with digital signature in the full version. It's safe to download.

How to get receipt/invoice?
After ordering we can get your receipt online at http://www.regnow.com/cs/orderStatus. At that link, the customer will be asked to enter the last 5 digits of their credit card number and their email address to reach the receipt. If the order was not paid by credit card then the customer should contact orders@regnow.com for assistance. We will respond you in one business day.

License Type of Edraw Office Viewer Component

Specific conditions of use which apply to the type of license you have acquired from EdrawSoft are:

  1. Evaluation License for non-chargeable Software: You may use the Software freely within your organization to access whether it meets your needs.
  2. Single Developer License: (non-commercial purposes):
    (a) You may install and use the Software on any number of computers or terminals within your organization.
    (b) You may incorporate the Software, or portions of the Software, into your own software for use within your own organization.
    (c) You may not distribute the Software, or any portions of the Software, or related documentation to any other organization or to any person external to your organization.
  3. Company Distribution License (Royalty Free for a Business Environment or Government):
    (a) You may copy, install and use the Software on any number of computers or terminals within your organization royally free.
    (b) You may incorporate the Software, or portions of the Software, into your own software products for distribution to other people or organizations provided the appropriate copyright of EdrawSoft is acknowledged on all media containing, and documentation relating to, such software products.
    (c) You may not distribute the Software, or any portion of the Software, to any third party unless it is incorporated into your own software products whose functionality exceeds the functionality of the Software and which do not compete directly with the Software.
  4. Source Code License:
    (a) You may modify the Source code then compile the new version.
    (b) No Sale. The licenses granted under this Agreement do not constitute a sale of the Software or any portion or copy of it.
    (c) You can’t distribute the source code to any other organization or any person external to your organization.


How to convert the trial copy to full version

After you finish the order successfully, we will send your the official version and a license email within a business day.

Steps:

1. Cover your trial copy with the official version in your project.

2. You can find the license name and license key in the email which we sent to you within a business day.

3. Set the follow two properties for the Office Viewer Component.

Web Application:

<html>

<head></head>

<script language="javascript">
function OA1_NotifyCtrlReady()
{
document.OA1.LicenseName = "your license name";
document.OA1.LicenseKey = "the key";
}
</script>
<SCRIPT LANGUAGE=javascript FOR=OA1 EVENT=NotifyCtrlReady>
<!--
OA1_NotifyCtrlReady();
//-->
</SCRIPT>

<body>

    <object classid="clsid:6BA21C22-53A5-463F-BBE8-5CF7FFA0132B" id="OA1"
    width="674" height="500">
<param name="TitlebarColor" value="-2147483635">
<param name="TitlebarTextColor" value="-2147483634">
<param name="BorderColor" value="-2147483632">
<param name="BackColor" value="-2147483643">
<param name="ForeColor" value="-2147483640">
<param name="BorderStyle" value="1">
<param name="Titlebar" value="1">
<param name="Toolbars" value="1">
<param name="Menubar" value="0">
<param name="ActivationPolicy" value="0">
<param name="FrameHookPolicy" value="0">
<param name="MenuAccelerators" value="1">
</object>

VB, C# or Other Desktop Application:

You can set the properties in the component properties dialog.

What's different between the two version?

The official version removed the function limitation in the trial version.

The official version has removed the 30 time trial period limitation.

The official version won't visit our internet site when exit the component.

The official version won't popup the trial remainder box.

The official version has a digital certification. So it's safe for web application.

How to get the full C++ source code?

You need order the source code license so that you can get the source code to backup or modify.


How to add Office ActiveX Control to your Visual Basic 6.0 project

1. From the Project Menu select Components…

2. Select control “Edraw Office Viewer Component” in the controls table

3. Click the OK Button

4. The control will now appear in your toolbox

5. Drag and drop the control on your form

How to add Edraw Office Viewer Component to your .NET project

1. Open .NET

2. Right-click on the toolbox and select "Choose Items…"

3. Select the COM Components Tab

4. Check Edraw Office Viewer Component and click OK Button

5. The control should appear in the toolbox as "Edraw Office Viewer Component"

6. Double-click on the control to add to your form

7. Resize and move the control on the form as desired

8. Add a button to the form

9. Double-click on the button to access code editor and enter the following code within the Click event:

'Note: Modify code to point to an existing office document file on your web server

EdrawOfficeViewer1.Open "http://www.ocxt.com/demo/sample.doc"

10. Change the anchor property of EdrawOfficeViewer1 to Top, Bottom, Left, Right

11. Run the application and click on the button. The Word Document should appear!

For ASP.NET or PHP project, you needn't add the component to the toolbar. View the Samples\ASP.NET\readme.txt file in the install folder.

How to add Edraw Office Viewer Component to your Access Form

1. Open Access

2. Create a new blank database

3. Create a new form in Design View. You should now be in design mode

4. From the Insert Menu select "ActiveX Control..."

5. Select WordViewer.WordView and click the OK Button

6. The control should appear on the form

7. Resize and move the control on the form as desired

8. Add a button to the form. If the wizard appears cancel it

9. Right-click on the button to invoke the popup menu

10. Select "Build Event..." then select Code Builder and click OK Button

11. You should be inside the Visual Basic Development Environment

12. Within the Command_Click enter the following code:

'Note: Modify code to point to an existing Word Document file on your web server

EdrawOfficeViewer1.Open "http://www.ocxt.com/demo/sample.doc"

13. Save your changes and close Visual Basic

14. Save the form and close it

15. Double-click on the form to run it.

16. Click the button. The Word Document should appear!

17. Experiment by changing the file path to a local file such as:

EDrawOfficeViewer1.Open "c:\test.xls"


Methods

1. Create new documents

Function: HRESULT CreateNew([in] BSTR ProgIdOrTemplate);

Description: Creates a new document based on the ProgId or Template file provided.

Parameter:

ProgIdOrTemplate: Program Id or Template ID. The following shows the possible values for this parameter.

Excel Spreadsheet: progID is “Excel.Sheet”;

Excel Chart: ProgID is “Excel.Chart”;

PowerPoint Presentation: ProgID is “PowerPoint.Show”;

Project: ProgID is “MSProject.Project”;

Visio Drawing: ProgID is “Visio.Drawing”;

Word Document: ProgID is “Word.Document”.

Return Value:

Nonzero if successful; otherwise 0.

The component allows you to create new documents for any ActiveX document type that is registered on the system. A user can use the custom function that you provide to create new documents.

Create a blank word document:

If WebOffice.OfficeProgramIsInstalled Then

Try{

OfficeViewer1. CreateNew "Word.Document "

}

Catch{

MessageBox "Failed to create the Word document"

}

End If

Create a blank excel sheet:

OfficeViewer1. CreateNew "Excel.Sheet "

2. Open documents

Function: HRESULT Open([in] VARIANT Document, [in, optional] VARIANT ProgId, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);

Description: Opens a document from a file, URL.

Parameters:

Document: A full disk path or web url.

ProgId: Described as “CreateNew” function.

Return Value:

Nonzero if successful; otherwise 0.

You can open and edit Office documents that exist on a local drive or a web url. You can call the Open method directly and give the control a specific file to open. If you haven’t specified the ProgId, the component will open the file with the default program. Otherwise it will open the file with the special program.

Some sample codes to demo how to open a file:

VBScript:

<script language="vbscript">

Sub OpenDoc()

OfficeViewer1.Open "c:\testfile.doc"

‘OfficeViewer1.Open “c:\testfile.rtf”, “Word.Document”

‘OfficeViewer1.Open “ http://www.ocxt.com/demo/sample.xls ”

‘OfficeViewer1.Open “ http://www.ocx.com/demo/sample.mht ”, “Word.Document”

End Sub

</script>

JavaScript:

<script language="JavaScript">

Function OpenDocument()

{

OfficeViewer1. Open("http://www.ocx.com/demo/sample.mht", “Word.Document”);

//OfficeViewer1.Open(“c:\testfile.ppt”);

}

Visual C++

BOOL OpenDocument(CString sPath)

{

VARIANT varPath, varOpt;

varPath.vt = VT_BSTR; varPath. boolVal = sPath. AllocSysString();

varOpt.vt = VT_ERROR;

varOpt.scode = DISP_E_PARAMNOTFOUND;

Try{

OfficeViewer1.Open(varpath, varOpt, varOpt, varOpt);

}

Catch(e){

AfxMessageBox("Failed to open the office document.");

}
}

3. Save Documents

Function: HRESULT Save([in, optional] VARIANT SaveAsDocument, [in, optional] VARIANT OverwriteExisting, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);

Description: Saves the document to specified location or its original location.

Parameters:

SaveAsDocument: The file save path. If it’s NULL, the opened file will save to its original location.

OverwriteExisting: Whether to overwrite the exist file.

WebUsername: User name for uploading file to the web server.

WebPassword: User password for uploading file to the web server.

Return Value:

Nonzero if successful; otherwise 0.

You can save the opened file to a local disk file without prompt message with the function. You can also save to a Web folder on a remote server if that server supports either Microsoft FrontPage
Server Extensions (FPSE) or the Web Distributing Authoring and Versioning (WebDAV) protocol extension for HTTP. If you want to save the file to the server, you need call the HTTP support methods mentioned later.

VBScript:

<script language="vbscript">

Sub OpenDoc()

OfficeViewer1.Save "c:\testfile.doc"

‘OfficeViewer1.Save “c:\testfile.rtf””

‘OfficeViewer1.Save “http://www.ocxt.com/demo/NewFileName.xls”

‘OfficeViewer1.Save “https://www.ocxt.com/demo/savefile.doc”, “UserName”, “Password”

End Sub

</script>

JavaScript:

<script language="JavaScript">

Function OpenDocument()

{

OfficeViewer1. Save ("https://www.ocxt.com/demo/Uploadfile.php?FileID=20070511", “UserName”, “Password”);

//OfficeViewer1. Save (“c:\testfile.ppt”);

}

Visual C++

BOOL OpenDocument(CString sPath)

{

VARIANT varPath, varOpt;

varPath.vt = VT_BSTR; varPath. boolVal = sPath. AllocSysString();

varOpt.vt = VT_ERROR;

varOpt.scode = DISP_E_PARAMNOTFOUND;

OfficeViewer1.Save(varpath, varOpt, varOpt);
}

4. Save As

Function: HRESULT SaveAs([in] BSTR FilePath, [in, optional] VARIANT FileFormat);

Description: Saves the document to specified location with the specified format.

Parameters:

FilePath: The file save path.

FileFormat: You can referent the enum variable in the end of document. It can be a value of PpSaveAsFileType, XlSaveAsFileType or WdSaveFileType.

Return Value:

Nonzero if successful; otherwise 0.

If you haven’t specify the parameter of FileFormat, the SaveAs method will save the opened document with the default file format.

<script language="vbscript">

Sub SaveAs()

‘Save the opened Word file to HTML format

OfficeViewer1.SaveAs "c:\testfile.html", 8

‘Save the opened Word file to RTF format

‘OfficeViewer1.SaveAs “c:\testfile.rtf”, 6

‘Save the opened PowerPoint file to metafile.

‘OfficeViewer1.SaveAs “c:\testfile.emf”, 15

End Sub

</script>

5. Call the Standard Open Dialog

Function: HRESULT OpenOfficeFileDialog();

Description: Call the standard file dialog to open the office document.

Return Value:

Nonzero if successful; otherwise 0.

<script language="vbscript">

Sub OpenLocalFile()

OfficeViewer1. OpenOfficeFileDialog

End Sub

</script>

6. Call the Standard Save Dialog

Function: HRESULT SaveOfficeFileDialog();

Description: Call the standard file dialog to save the office document.

Return Value:

Nonzero if successful; otherwise 0.

<script language="vbscript">

Sub SaveLocalFile()

OfficeViewer1. SaveOfficeFileDialog

End Sub

</script>

7. Show Dialog

Function: HRESULT ShowDialog([in] ShowDialogType DlgType);

Description: Displays a modal dialog of the given type for user action.

Parameters:

DlgType: It can be a value of ShowDialogType.

Return Value:

Nonzero if successful; otherwise 0.

With the function, you can call the New, Open, Save, Save Copy, Print, Page Setup or Properties dialog in the Microsoft Office.

typedef enum ShowDialogType

{

DialogNew = 0,

DialogOpen,

DialogSave,

DialogSaveCopy,

DialogPrint,

DialogPageSetup,

DialogProperties

} ShowDialogType;

<script language="vbscript">

Sub SaveLocalFile()

OfficeViewer1. ShowDialog 6 ‘Show Properties Dialog

‘OfficeViewer1.ShowDialog 5 ‘ShowPage Setup Dialog

End Sub

</script>

8. Print

Function: HRESULT PrintOut([in, optional] VARIANT PromptUser, [in, optional] VARIANT PrinterName, [in, optional] VARIANT Copies, [in, optional] VARIANT FromPage, [in, optional] VARIANT ToPage, [in, optional] VARIANT OutputFile);

Description: Prints current document to specific printer with settings.

Parameters:

PromptUser: Indicates whether the user is prompted for the value of the parameter.

PrinterName: Indicates the name of printer. Gets an empty string if the default printer is used.

Copies: Sets the number of copies of the document to print.

FromPage: Sets the page number of the first page to print.

ToPage: Sets the number of the last page to print.

OutputFile: Sets the name of an optional file to which trace replay output is streamed.

Return Value:

Nonzero if successful; otherwise 0.

With the function, you can print the document without user prompt.

<script language="vbscript">

Sub PrintOut()

OfficeViewer1. PrintOut

‘OfficeViewer1.PrintOut false, “PDF Virtual Printer”, 2, 1,10

End Sub

</script>

9. Print Preview

Function: HRESULT PrintPreview();

Description: Starts a print preview (if document supports it).

Return Value:

Nonzero if successful; otherwise 0.

Function: HRESULT EndPrintPreview();

Description: Exits a current print preview.

With the function, you can preview the print.

<script language="vbscript">

Sub PrintPreview()

If OfficeViewer1.IsOpen Then

Dim bResult = OfficeViewer1. Printview

If bResult = False Then

OfficeViewer1.EndPrintPreview

MsgBox ”Fail to prview the document.”

End If

End If

End Sub

10. Close Document

Function: HRESULT Close();

Description: Closes the currently open document.

Return Value:

Nonzero if successful; otherwise 0.

11. HTTP Upload File

Function: HRESULT HttpInit();

Description: Initializes the HTTP connection.

Function: HRESULT HttpAddpostString([in] BSTR Name, [in] BSTR Value);

Description: Adds the post parameter.

Parameters:

Name: The parameter name.

Value: The parameter value.

Function: HRESULT HttpAddPostOpenedFile([in, optional] VARIANT NewFileName);

Description: Adds the opened office file to post queue.

Parameters:

NewFileName: The new file name for the upload file.

Function: HRESULT HttpAddPostFile([in] BSTR LocalFilePath, [in] BSTR NewFileName);

Description: Adds the post file.

Parameters:

LocalFilePath: The full file path needs to upload to the server. It the parameter is NULL, the function will add the file which is opening in the component.

NewFileName: The new file name for the upload file.

Function: HRESULT HttpPost([in] BSTR WebUrl,[in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);

Description: Sends the specified request to the HTTP server.

Parameters:

WebUrl: A string containing the web url from which uploads data via HTTP.

WebUsername: A string containing the user name.

WebPassword: A string containing the access password.

Return Value:

Nonzero if successful; otherwise 0.

The follow code is demo how to upload the opened file to server with the HTTP mode. It can also post multiple files in a post request.

<script language="vbscript">

Sub UploadFile()

OfficeViewer1.HttpInit

OfficeViewer1.HttpAddpostString "author", "anyname"

OfficeViewer1.HttpAddpostString "Data", "2007-5-15"

OfficeViewer1.HttpAddPostOpenedFile

OfficeViewer1.HttpPost "http://localhost:1320/Samples/UploadAction.aspx"

End Sub

</script>

Note: If you try to save the opened file to remote server with the “HTTP” methods, you need write a receipt page in your web server. Because the component uploads the file by HTTP mode. The follow is some sample code.

ASP.NET:

//Default.aspx

<script language="vbscript">

Sub SavetoServer()

OfficeViewer1.HttpInit

OfficeViewer1.HttpAddpostString "author", "anyname"

OfficeViewer1.HttpAddpostString "Data", "2007-5-15"

OfficeViewer1.HttpAddPostOpenedFile

OfficeViewer1.HttpPost "http://localhost:1320/Samples/UploadAction.aspx"

'OfficeViewer1.Save "http://localhost:1320/UploadAction.aspx?author=name&Data=2”

End Sub

</script>

//UploadAction.aspx.cs file

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.IO;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Xml;

using System.Drawing.Imaging;

using System.Text.RegularExpressions;

public partial class UploadAction : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (Request. QueryString["author"] == "name" && Request. QueryString["Data"] == "2")

{

Response.Write("0\n");

Response.Write("We have receipted the right param from Office ActiveX Control.");

}

if (Request.Files.Count == 0)

{

Response.Write("0\n");

Response.Write("There isn't file to upload.");

Response.End();

}

if (Request.Files[0].ContentLength == 0)

{

Response.Write("0\n");

Response.Write("Failed to receipt the data.\n\n");

Response.End();

}

string fullFileName = Server.MapPath(Request.Files[0].FileName);

Request.Files[0].SaveAs(fullFileName);

Response.Write("Upload Successfully.");

Response.End();

}

}

PHP:

<?php

header("http/1.1 200 OK");

$user = iconv("UTF-8", "UNICODE", $_POST['user']);

$passwd = iconv("UTF-8", "UNICODE", $_POST['passwd']);

$sql = sprintf("username=%s passwd=%s", $user,$passwd);

echo $sql;

$sql = sprintf("file=%s size=%s error=%s tmp=%s", $_FILES['trackdata']['name'],$_FILES['trackdata']['size'],$_FILES['trackdata']['error'],$_FILES['trackdata']['tmp_name']);

echo $sql;

$handle = fopen($_FILES['trackdata']['name'],"w+");

if($handle == FALSE)

{

exit("Create file error!");

}

$handle2 = fopen($_FILES['trackdata']['tmp_name'],"r");

$data = fread($handle2,$_FILES['trackdata']['size']);

echo $data;

fwrite($handle,$data);

fclose($handle2);

fclose($handle);

exit(0);

?>

ASP: (review the full code in the install folder\samples\asp\)

<%@Language=VBScript %>

<!-- #include file="./include/upload.inc" -->

<!--#include file="./include/conn.asp"-->

<%

Set Uploader = New UpFile_Class

Uploader.NoAllowExt="cs;vb;js;exe"

Uploader.GetData (Request.TotalBytes)

Request.TotalBytes

if Uploader.isErr then

select case Uploader.isErr

case 1

Response.Write "Fail to receipt the data."

case 2

Response.Write "The file is too big to upload"

End select

'Response.End

End if

Dim id

If "" <> Request.QueryString("id") then

id = Request.QueryString("id")

End if

if id<>0 then

Sql="SELECT * from doc where doc.id = "&id

else

Sql="SELECT * from doc"

End if

rs.Open Sql,conn,1, 3

for each formName in Uploader.file

set file=Uploader.file(formName)

If id<>0 then

If("" = Request.QueryString("isAip")) Then

rs("DocContent") = Uploader.FileData(formname)

rs("DocID") = Uploader.Form("DocID")

rs("DocTitle") = Uploader.Form("DocTitle")

rs("DocType") = Uploader.Form("DocType")

Else rs("AipContent") = Uploader.FileData(formname)

rs("state") = 2

End if

Else

rs.AddNew

rs("DocID") = Uploader.Form("DocID")

rs("DocTitle") = Uploader.Form("DocTitle")

rs("DocContent") = Uploader.FileData(formname)

rs("Docdate") = Now()

rs("DocType") = Uploader.Form("DocType")

rs("state") = 1

End If

set file=nothing

rs.Update

exit for

next

rs.Close

Set rs=Nothing

conn.close

set conn = Nothing

Set Uploader = Nothing

%>

JSP:

jsp:

<%@ page contentType="text/html; charset=UTF-8" %>

<%@ page language="java" import="com.jspsmart.upload.File>

<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />

<%

String sPath="C:\\"

mySmartUpload.initialize(pageContext);

mySmartUpload.upload();

String TempName=mySmartUpload.getRequest().getParameter("TempName");

mySmartUpload.save(sPath);

File myFile =mySmartUpload.getFiles().getFile(0);

%>

12. HTTP Download File

Function: HRESULT HttpDownloadFileToTempDir([in] BSTR WebUrl, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword, [out,retval] VARIANT*vFilePath);

Description: Downloads a file from a remote server then save it to OA temporary directory with HTTP.

Parameters:

WebUrl: A string containing the web url from which downloads data via HTTP. The WebUrl must include the file extend name so that the component know the file type. For example: http://www.ocxt.com/Getfile.aspx?ID=1002&FileName=guid.docx , or http://www.ocxt.com/sample.xls.

WebUsername: A string containing the user name.

WebPassword: A string containing the access password.

Return Value:

Local temporary file path to save the download file.

The component provides the method to download file from a server then save to a local disk file. Support Http and HTTPS.

<script language="vbscript">

Sub DownloadFile()

Dim sPath;

sPath = OfficeViewer1.HttpDownloadFileToTempDir “http://www.ocxt.com/demo/1.doc”

MsgBox sPath

End Sub

</script>

Note: You should make sure you the file exists in the web site firstly. A simple method is to enter the WebUrl in the Internet Explore. If IE can download the file, the component can do it too.

FAQ: If you are using Windows 2003 as your server, you maybe need to add the mime types to Internet Information Server.

13. HTTP Open File From Server Directory

Function: HRESULT HttpOpenFileFromServerDir([in] BSTR WebUrl, [in, optional] VARIANT ProgId, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);

Description: Opens a file from a remote server directory with HTTP/HTTPS.

Parameters:

WebUrl: A string containing the web url from which downloads data via HTTP. The WebUrl must include the file extend name so that the component know the file type. For example: http://www.ocxt.com/Getfile.aspx?ID=1002&FileName=guid.docx , or http://www.ocxt.com/sample.xls.

ProgId: Described as “CreateNew” function.

WebUsername: A string containing the user name.

WebPassword: A string containing the access password.

Return Value:

Nonzero if successful; otherwise 0.

The component provides the method to download file from a server then save to a local disk file. Support Http and HTTPS.

<script language="vbscript">

Sub DownloadFile()

OfficeViewer1.HttpOpenFileFromServerDir “http://www.ocxt.com/demo/sample.doc”

End Sub

</script>

14. HTTP Open File From Stream

Function: HRESULT HttpOpenFileFromStream([in] BSTR WebUrl, [in, optional] VARIANT ProgId, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);

Description: Opens a file from a stream with the HTTP/HTTPS.

Parameters:

WebUrl: A string containing the web url from which downloads data via HTTP. The WebUrl must include the file extend name so that the component know the file type. For example: http://www.ocxt.com/Getfile.aspx?ID=1002&FileName=guid.docx , or http://www.ocxt.com/sample.xls.

ProgId: Described as “CreateNew” function.

WebUsername: A string containing the user name.

WebPassword: A string containing the access password.

Return Value:

Nonzero if successful; otherwise 0.

Either you want to open an appointed file or open a file from database, for client side, all what you need do is the same, like following:

<script language="vbscript">

Sub DownloadFile()

m_oEdrawOfficeViewer.HttpInit();
m_oEdrawOfficeViewer.HttpAddpostString(L"DocumentID", L"Tester.doc");
m_oEdrawOfficeViewer.HttpOpenFileFromStream(strDownloadPath,varOpt,varOpt,varOpt);

End Sub

</script>

Before you call function HttpOpenFileFromStream, you should do two things, one is to initialize http for clearing all parameters and cookies in http, another thing is to appoint the file or database record. And then use HttpOpenFileFromStream to send the request to the destinated webpage. Before HttpOpenFileFromStream send request, it will add a couple of parameters automatically.
m_OAHttp.AddPostArgument(L"EDA_GETSTREAMDATA", L"EDA_YES"); This couple of parameters tell the destinated webpage OfficeViewer will received file as stream.

At the web side, webpage will decide to read which file or database reacord accordding to the post parameters. And you should add boundary flag 'EDA_STREAMBOUNDARY' to file data, following is the asp.net demo.

if (Request.Params["EDA_GETSTREAMDATA"]
== "EDA_YES")
{
String fullFileName = Server.MapPath(Request.Params["DocumentID"]);
Byte[] fs = File.ReadAllBytes(fullFileName);

  Response.Write("Get Stream
Successfully!");
Response.Write("EDA_STREAMBOUNDARY");
Response.BinaryWrite(fs);
Response.Write("EDA_STREAMBOUNDARY");
}

asp:

If l_bWrSreamBoundary
Then Response.Write "EDA_STREAMBOUNDARY"
While Not l_stream.EOS And Response.IsClientConnected
Response.BinaryWrite(l_stream.Read(l_nChunkSize))
Wend l_stream.Close
If l_bWrSreamBoundary
Then Response.Write EDA_STREAMBOUNDARY"

15. FTP Upload/Download File

Function: HRESULT FtpConnect([in] BSTR WebUrl, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);

Description: Creates a FTP connect.

Function: HRESULT FtpDownloadFile([in] BSTR RemoteFile, [in] BSTR LocalFile);

Description: Download a file from remote server then save it to local file with FTP.

Parameters:

RemoteFile: The remote file path which saves to FTP site.

LocalFile: The full file path which downloads to the local disk.

Function: HRESULT FtpUploadFile([in] BSTR LocalFile, [in] BSTR RemoteFile, [in, optional] VARIANT OverWrite);

Description: Uploads a local disk file to remote server with FTP.

Parameters:

LocalFilePath: The full file path needs to upload to the server. It the parameter is NULL, the function will add the file which is opening in the component.

RemoteFile: The remote file path which saves to FTP site.

OverWrite: Overwrites the exsited file if the same file exists at the FTP server.

Function: HRESULT FtpDisConnect();

Description: Closes the FTP Connect.

Return Value:

Nonzero if successful; otherwise 0.

The follow code is demo how to download a file to local disk with the FTP mode.

<script language="vbscript">

Sub UploadFileviaFTP()

OfficeViewer1. FtpConnect “ftp.ocxt.com”, “username”, “password”

OfficeViewer1. FtpDownloadFile “ftp.ocx.com/archieve/001.doc”, “c:\temp.doc”

OfficeViewer1. FtpDisConnect

End Sub

</script>

16. Executes a Specified OLE Command

Function: HRESULT ExecOleCommand([in] long dwOleCmdID, [in, optional] VARIANT dwOptions, [in, optional] VARIANT* vInParam, [in, out, optional] VARIANT* vInOutParam);

Description: Calls IOleCommandTarget::Exec on embedded object.

Parameters:

dwOleCmdID: The command to be executed. This command must belong to the group specified with pguidCmdGroup.

dwOptions: Values taken from the OLECMDEXECOPT enumeration, which describe how the object should execute the command.

vInParam: Pointer to a VARIANTARG structure containing input arguments. Can be NULL.

vInOutParam: Pointer to a VARIANTARG structure to receive command output. Can be NULL.

Return Value:

Nonzero if successful; otherwise 0.

17. Enable/Disable the File Commands

Function: HRESULT SetEnableFileCommand([in] FileCommandType Item, [in] boolean bNewValue);

Description: Sets whether a specific action item is enabled.

Parameters:

Item: An enumerable value of FileCommandType.
 bNewValue: New value for the file command.

Function: HRESULT GetEnableFileCommand([in] FileCommandType Item);

Description: Returns whether a specific action item is enabled.

Parameters:

Item: An enumerable value of FileCommandType.

Return Value:

Nonzero if a specific action item is enabled; otherwise 0.

You can enable or disable items on the File menu by using the two functions. For example, the following code disables the Print Preview command.

typedef enum FileCommandType

{

FileNew = 0,

FileOpen,

FileClose,

FileSave,

FileSaveAs,

FilePrint,

FilePageSetup,

FileProperties,

FilePrintPreview

} FileCommandType;

HTML

<script language="vbscript">

Sub EnablePrintPreviewButton()

OfficeViewer1. EnableFileCommand(8) = false

End Sub

</script>

ASP.NET

SuPrivate Sub Form_Load()

OfficeViewer1.EnableFileCommand(FilePrint) = False

End Sub

18. Whether Is Office Installed

Function: HRESULT OfficeProgramIsInstalled([in] BSTR ProgIdOrTemplate);

Description: Returns whether the client installs the special program.

Parameters:

ProgIdOrTemplate: Program Id or Template ID. The following shows the possible values for this parameter.

Return Value:

Nonzero if the client installs the special office program; otherwise 0.

You can use the function to judge whether the client installs the office program.

<script language="vbscript">

Sub JudgeInstallOffice()

If OfficeViewer1. OfficeProgramIsInstalled“Word.Document” = false Then

MsgBox “The client hasn’t installed the Microsoft Word.”

ELSE

OfficeViewer1.Open “ http://www.ocx.com/demo/sample.doc ”

End If

</script>

19. Activate the Document Object

Function: HRESULT Activate();

Description: Activates the current document object.

You can use the function to activate the document object in the component when you need to set the focus for the object.

20. Get Dispatch Interface to support the Office Automation

Function: IDispatch* ActiveDocument();

Description: Returns the Automation interface of the document object.

Function: IDispatch* Application ();

Description: Returns the Automation interface of the application.

The control also supports a property called Dispatch that allows you to obtain a reference to the IDispatch interface of the embedded object. From this interface you can automate the object to perform tasks, edit parts of the document, or gather information about what a user has added or removed. For example, if you have a Word document open, you can use code that resembles the following to add a line of text:

<script language="vbscript">

Sub OfficeAutomationDemo()

OfficeViewer1.CreateNew "Word.Document"

Set objWord = OfficeViewer1.ActiveDocument

objWord.Content.Text = "This was added by Automation"

End Sub

</script>

21. Protect Document / Read Only

Function: HRESULT OfficeProtectDocument([in, optional] VARIANT Password);

Description: Protects the opened file from modification for Word and Excel. Read Only.

Parameters:

Password: An optional password to protect the document.

Return Value:

Nonzero if successful; otherwise 0.

Function: HRESULT OfficeUnProtectDocument([in, optional] VARIANT Password);

Description: Cancels the protect from modification for Word and Excel.

Parameters:

Password: An optional password to unprotect the document. The password should be the value which protects the document.

Return Value:

Nonzero if successful; otherwise 0.

The control also supports Read Only mode for Microsoft Word Document and Microsoft Excel Sheet. In the Read Only mode, the component will prevent any action attempts to modify the document. In other word, you can’t copy or paste the content in the document too.

<script language="vbscript">

Sub OpenWithReadOnly()

OfficeViewer1.Toolbars False

OfficeViewer1.Titlebar False

OfficeViewer1.Open “http://www.ocxt.com/demo/sample.doc”

OfficeViewer1.OfficeProtectDocument

End Sub

</script>

You can set the protect type by setting the first character of "Password" parameter.

AllowOnlyRevisions = 0: User can only add revision marks to the document.

AllowOnlyComments = 1: User can only modify comments in the document.

AllowOnlyFormFields = 2: User can only enter data in the form fields in the document.

ReadOnly = 3: No changes are allowed to the document. Available since Microsoft Word 2003.

For example:

<script language="vbscript">

Sub OpenWithReadOnly()

OfficeViewer1.Toolbars False

OfficeViewer1.Titlebar False

OfficeViewer1.Open “http://www.ocxt.com/demo/sample.doc”

OfficeViewer1.OfficeProtectDocument "2password" 'AllowOnlyFormFields = 2

'OfficeViewer1.OfficeProtectDocument "3password" 'ReadOnly = 3

'OfficeViewer1.OfficeProtectDocument "1password" 'AllowOnlyComments = 1

End Sub

</script>

22. Disable Hot Key

Function:

HRESULT DisableSaveHotKey([in] boolean bDisable);

Description: Disables the Save Hot Key.
 HRESULT DisableCopyHotKey([in] boolean bDisable);

Description: Disables the Copy Hot Key.
 HRESULT DisablePrintHotKey([in] boolean bDisable);

Description: Disables the Print Hot Key.
 HRESULT DisableFileHotKey([in] boolean bDisable);

Description: Disables the File Hot Key.

Disables the special hot keys. You can use them to prevent the user from printing document, copy and paste.

<script language="vbscript">

Sub OpenWithReadOnly()

OfficeViewer1.DisableCopyHotKey True

OfficeViewer1.DisableSaveHotKey True

OfficeViewer1.DisableFileHotKey True

OfficeViewer1.DisablePrintHotKey True

OfficeViewer1.Open “http://www.ocxt.com/demo/sample.doc”

OfficeViewer1.OfficeProtectDocument

End Sub

</script>

23. Play Slide Show in the Same Window

Function: HRESULT PlaySlideShow([in] boolean SameWindow);

Description: Plays the PowerPoint slide show file in the same window or full screen.

Parameters:

SameWindow: If it is true, the component will play the slideshow in the same window. Otherwise it will play slide show in full screen mode.

Return Value:

Nonzero if successful; otherwise 0.

The method allow the developer to play the Microsoft PowerPoint file in a custom window.

<script language="vbscript">

Sub PlaySlideShow()

IF OfficeViewer1.IsOpened Then

OfficeViewer1.SlideShowPlay False, False, False, False

End If

End Sub

</script>

24 Switch View Type

Function: HRESULT OfficeSwitchViewType([in] long ViewType);

Description: Switches to the different view for office program.

Parameters:

ViewType: You can referent the enum variable in the end of document. It can be a value of PpViewType, WdViewType or XlViewType.

Return Value:

Nonzero if successful; otherwise 0.

The method allow the developer to play the Microsoft PowerPoint file in a custom window.

<script language="vbscript">

Sub SwitchView()

OfficeViewer1. OfficeSwitchViewType 12 ‘ppViewMasterThumbnails

‘OfficeViewer1. OfficeSwitchViewType 7 ‘wdReadingView

‘OfficeViewer1. OfficeSwitchViewType 6 ‘wdWebView

End Sub

</script>

25. Show/Hide Revisions

Function: HRESULT OfficeShowRevisions([in] boolean ShowRevisions);

Description: Shows/Hides the revisions for the office program.

Parameters:

ShowRevisions: A new value to show/hide revisions.

Return Value:

Nonzero if successful; otherwise 0.

The method allow the developer to show or hide the revisions for the office program.

<script language="vbscript">

Sub ShowRevisions()

OfficeViewer1.OfficeShowRevisionsFalse

End Sub

</script>

26. Get Temporary Path

Function: HRESULT GetTempFilePath([out,retval] BSTR* strValue);
 Description: Gets a temporary file path.

The method will return a temporary file path. So you can save the opened file to the file path.

27. Clear Temporary Files

Function: HRESULT ClearTempFiles();
 Description: Clears these temporary files created by the component. The function won't delete any other files out of OA temporary directory.

The method will clear these temporary files created by the component. The function won't delete any other files out of OA temporary directory.

28. Get File Extend Name

Function: HRESULT GetOpenedFileExt([out,retval] BSTR* strValue);
 Description: Gets the file extend of the current opened file.

The method will get the file extend of the current opened file.

29. Get Opened File Type

Function: HRESULT GetOpenedFileType([out,retval] OpenedFileType* nType);

Description: Gets the file type of the current opened file.

The method will get the file type of the current opened file.


Properties

  1. Show/Hide Toolbars

Property: boolean Toolbars;

Description: Shows/Hides the toolbars.

The property allow the developer to show or hide the toolbars in the office program.

<script language="vbscript">

Sub ToggleTitlebar()

If OfficeViewer1.Toolbars = False Then

OfficeViewer1.Toolbars = True

Else

OfficeViewer1.Toolbars = False

End If

End Sub

</script>

You can hide the toolbar when you play the slide show too.

<script language="vbscript">

Sub PalySlideInSameWindows()

OfficeViewer1.Open “c:\testfile.ppt”

OfficeViewer1. PlaySlideShow True

OfficeViewer1.Toolbars = False

End Sub

</script>

  2. Show/Hide Titlebar

Property: boolean Titlebar;

Description: Shows/Hides the titlebar.

The method allow the developer to show or hide the titlebar in the top of the component.

<script language="vbscript">

Sub ToggleTitlebar()

If OfficeViewer1.Titlebar = False Then

OfficeViewer1. Titlebar = True

Else

OfficeViewer1. Titlebar = False

End If

End Sub

</script>

In the titlebar there is a icon in the left. Click it you can find a menubar.

  3. Show/Hide Menubars

Property: boolean Menubar;

Description: Shows/Hides the Menubar.

The property allows the developer to show or hide the menubar. The menubar will display when you click the icon in the titlebar too.

<script language="vbscript">

Sub ToggleTitlebar()

If OfficeViewer1. Menubar = False Then

OfficeViewer1. Menubar = True

Else

OfficeViewer1. Menubar = False

End If

End Sub

</script>

  4. Modify the Caption

Property: BSTR Caption;

Description: Set the caption of the titlebar.

The property allows the developer to modify the caption in the titlebar.

<object classid="clsid:053AFEBA-D968-435F-B557-19FF76372B1B" id="EDrawOfficeViewer1" width="657" height="452">

<param name="Caption" value="EDraw Office Viewer Component">

</object>

  5. Is Dirty

Function: HRESULT IsDirty([out,retval] VARIANT_BOOL* pbool);

Description: Returns True/False if file has been altered or needs save.

<script language="vbscript">

Sub TestProperty()

If OfficeViewer1.IsDirty = True Then

MsgBox “The document has been modified.”

Else

MsgBox “The document hasn’t been modified.”

End If

End Sub

</script>

  6. Is Opened

Function: HRESULT IsOpened([out,retval] VARIANT_BOOL* pbool);

Description: Returns True/Fase if file has been opened.

<script language="vbscript">

Sub TestProperty()

If OfficeViewer1. IsOpened = True Then

OfficeViewer1.Close

End If

End Sub

</script>

  7. Is ReadOnly

Function: HRESULT IsReadOnly([out,retval] VARIANT_BOOL* pbool);

Description: Returns True/Fase if the opened file is read only.

<script language="vbscript">

Sub TestProperty()

If OfficeViewer1. IsReadOnly Then

MsgBox "We can't save the document at the opened location."

End If

End Sub

</script>

  8. Document Full Name

Function: HRESULT DocumentFullName([out,retval] BSTR* pbstr);

Description: Returns full document path name for object.

<script language="vbscript">

Sub SaveDoc()

Dim sPath As String

sPath = OfficeViewer1. DocumentFullName

If sPath.Length != 0 Then

OfficeViewer1.Save OfficeViewer1. DocumentFullName

Else

MsgBox "We can't save the document at the empty path."

End If

End Sub

</script>

  9. Document Name

Function: HRESULT DocumentName([out,retval] BSTR* pbstr);

Description: Returns just the document name (excluding path).

  10. License Name

Function: Gets/Sets the license name.

HRESULT LicenseName([in] BSTR bstr);
HRESULT LicenseName([out,retval] BSTR* pbstr);

Description: Gets/Sets the license name.

  11. License Key

Function: Gets/Sets the license key.

HRESULT LicenseKey([in] BSTR bstr);
HRESULT LicenseKey([out,retval] BSTR* pbstr);

Description: Gets/Sets the license key.

<script language="vbscript">

Sub GetOpenedDocName()

Dim sName As String

MsgBox sName

End Sub

</script>

  12. Modify the Border Style

Property: short BorderStyle;

Description: Set the caption of the titlebar.

The property allows the developer to modify the border style. It can be the follow value:

typedef enum BorderStyle

{

BorderNone = 0,

BorderFlat,

Border3D,

Border3DThin

} BorderStyle;

<object classid="clsid:053AFEBA-D968-435F-B557-19FF76372B1B" id="EDrawOfficeViewer1" width="657" height="452">

<param name="BorderStyle" value="2">

</object>

  13. Set the Color Scheme

Properties:

OLE_COLOR BorderColor;

OLE_COLOR BackColor;

OLE_COLOR ForeColor;

COLOR TitlebarColor;

OLE_COLOR TitlebarTextColor;

Description: Set the color scheme for the component.

<object classid="clsid:053AFEBA-D968-435F-B557-19FF76372B1B" id="EDrawOfficeViewer1" width="657" height="452">

<param name="BorderColor" value="-2147483632">

<param name="BackColor" value="-2147483643">

<param name="ForeColor" value="-2147483640">

<param name="TitlebarColor" value="-2147483635">

<param name="TitlebarTextColor" value="-2147483634">

</object>

  14. Localize the File Menubars

Properties:

BSTR FileMenu;

BSTR FileMenu_New;

BSTR FileMenu_Open;

BSTR FileMenu_Close;

BSTR FileMenu_Save;

BSTR FileMenu_SaveAs;

BSTR FileMenu_PageSetup;

BSTR FileMenu_PrintPreview;

BSTR FileMenu_Print;

BSTR FileMenu_Properties;

Description: Set the caption of file menu.

The component allows the developer to localize the file menubars by setting the above properties.

<object classid="clsid:053AFEBA-D968-435F-B557-19FF76372B1B" id="EDrawOfficeViewer1" width="657" height="452">

<param name="FileMenu" value="&amp;File">

<param name=" FileMenu_New" value="&amp;New... Ctrl+N ">

<param name=" FileMenu_Open" value="&amp;Open... Ctrl+O ">

<param name=" FileMenu_Close" value="&amp;Close ">

<param name=""FileMenu_Save" value="&amp;Save Ctrl+S ">

<param name=" FileMenu_SaveAs" value=" Save &amp;As...">

<param name=" FileMenu_PageSetup" value=" Page Set&amp;up...">

<param name=" FileMenu_PrintPreview" value=" Print Pre&amp;view ">

<param name=" FileMenu_Print" value="&amp;Print...">

<param name=" FileMenu_Properties" value=" Propert&amp;ies ">

<param name=" FileMenu_ExitPrintPreview" value=" E&amp;xit PrintPreview ">

</object>


Automation Functions

The Edraw Office Viewer Component provides some simple automation functions. You can call them directly. Or you can get the dispatch interface then do the automation by yourself.

Get Dispatch Interface to support the Office Automation

Function: HRESULT ActiveDocument([out,retval] IDispatch** ppdisp);

Description: Returns the Automation interface of the document object.

Function: Application([out,retval] IDispatch** ppdisp);

Description: Returns the Automation interface of the application.

The control also supports a property called Dispatch that allows you to obtain a reference to the IDispatch interface of the embedded object. From this interface you can automate the object to perform tasks, edit parts of the document, or gather information about what a user has added or removed. For example, if you have a Word document open, you can use code that resembles the following to add a line of text:

<script language="vbscript">

Sub OfficeAutomationDemo()

OfficeViewer1.CreateNew "Word.Document"

Set objWord = OfficeViewer1.ActiveDocument

objWord.Content.Text = "This was added by Automation"

End Sub

</script>

or

<script language="vbscript">

Sub OfficeAutomationDemo()

OfficeViewer1.CreateNew "Word.Document"

Set objApp = OfficeViewer1.Application

objApp.DisplayScrollBars = False

End Sub

</script>

or

<script language="vbscript">

Sub OfficeAutomationDemo()

OA1.Open "C:\\test.doc"
Set objWord = OA1.ActiveDocument
dd = objWord.Application.Selection.EndKey 6 'move the cursor to the end of document
OA1.WordInsertBreak 6
OA1.WordInsertText "Insert signature"

End Sub

</script>

Office Automation Functions

helpstring("Shows/Hides the office objects.")
HRESULT OfficeObjectVisable([in] VARIANT_BOOL Visible);

helpstring("Shows/Hides the specified toolbar.")
HRESULT OfficeToolbarVisible([in] BSTR ToolbarName, [in] VARIANT_BOOL Visible);

helpstring("Shows/Hides the rulers in the office program.")
HRESULT OfficeDisplayRulers([in] VARIANT_BOOL Visible);

helpstring("Shows/HIdes the grid lines in the office program.")
HRESULT OfficeDisplayGridLines([in] VARIANT_BOOL Visible);

helpstring("Protects the opened file from modification for Word and Excel. Read Only.")
HRESULT OfficeProtectDocument([in, optional] VARIANT Password);

helpstring("Cancels the protect from modification for Word and Excel.")
HRESULT OfficeUnProtectDocument([in, optional] VARIANT Password);

helpstring("Switches to the different view for office program.")
HRESULT OfficeSwitchViewType([in] VARIANT ViewType);

helpstring("Shows/Hides the revisions for the office program.")
HRESULT OfficeShowRevisions([in] VARIANT_BOOL bOfficeShowRevisions);

helpstring("Shows/Hides the revisions for the office program.")
HRESULT OfficeViewZoomTo([in] long ZoomFactor);

Word Automation Functions

helpstring("Copies the whole content to the clipboard.")
WordCopyToClipboard();

helpstring("Copies the whole content to the clipboard as picture.")
HRESULT WordCopyToClipboardAsPicture();

helpstring("Pastes to the opened Word file from the clipboard data.")
HRESULT WordPasteFromClipboard();

helpstring("Pastes to the opened Word file from the clipboard data with special format.")
HRESULT WordPasteSpecialFromClipboard([in] WdPasteDataType lFormatType, [in] VARIANT_BOOL vFloatOverText);

helpstring("Inserts a file to opened Word file.")
HRESULT WordInsertFile([in] BSTR FilePath);

helpstring("Inserts text content to opened Word file.")
HRESULT WordInsertText([in] BSTR Text);

helpstring("Inserts a picture to opened Word file.")
HRESULT WordInsertPicture([in] BSTR FilePath, [in] VARIANT_BOOL InlineObject);

helpstring("Inserts a break to opened Word file.")
HRESULT WordInsertBreak([in] WdBreakType BreakType);

helpstring("Go to the specified item in the Word document.")
HRESULT WordGotoItem([in] WdGoToItem What, [in] WdGoToDirection Which, [in, optional] VARIANT Count, [in, optional] VARIANT Name);

helpstring("Replaces all the specified string value with another string value.")
HRESULT WordReplace([in] BSTR Text, [in] BSTR ReplaceText, [in] VARIANT_BOOL MatchWholeWord, [in] VARIANT_BOOL MatchCase);

helpstring("Compares and merges documents then displays it in the current windows.")
HRESULT WordMergeAndCompare([in] BSTR TargetFilePath);

helpstring("Returns the current page index in the word.")
HRESULT WordGetCurrentPageIndex([out,retval] long* nIndex);

helpstring("Returns the total page counts in the word.")
HRESULT WordGetTotalPageCounts([out,retval] long* nCount);

Excel Automation Functions

helpstring("Adds a new worksheet to an opened Excel file.")
HRESULT ExcelAddWorkSheet([in] int Index);

helpstring("Deletes a new worksheet from an opened Excel file.")
HRESULT ExcelDeleteWorkSheet([in] int Index);

helpstring("Activates the worksheet by the index.")
HRESULT ExcelActivateWorkSheet([in] int Index);

helpstring("Returns the counts of worksheets in the opened workbook.")
HRESULT ExcelGetWorkSheetCount([out,retval] long* Count);

helpstring("Populates a specified cell with a string value.")
HRESULT ExcelSetCellValue([in] int Column, [in] int Row, [in] BSTR Value);

helpstring("Returns the contents of the specified cell.")
HRESULT ExcelGetCellValue([in] int Column, [in] int Row, [out,retval] BSTR* Value);

helpstring("Sets the height of the specified rows.")
HRESULT ExcelSetRowHeight([in] int Row, [in] double Height);

helpstring("Sets the width of the specified columns.")
HRESULT ExcelSetColumnWidth([in] int Column, [in] double Width);

helpstring("Deletes the specified row.")
HRESULT ExcelDeleteRow([in] int Row);

helpstring("Deletes the specified column.")
HRESULT ExcelDeleteColumn([in] int Column);

helpstring("Inserts a new row after the specified row.")
HRESULT ExcelInsertRow([in] int Row);

helpstring("Inserts a new column after the specified column.")
HRESULT ExcelInsertColumn([in] int Column);

helpstring("Inserts a page break after the specified row.")
HRESULT ExcelInsertPageBreakInRow([in] int Row);

helpstring("Inserts a page break after the specified column.")
HRESULT ExcelInsertPageBreakInColumn([in] int Column);

helpstring("Copies the whole sheet to clipboard.")
HRESULT ExcelCopyToClipboard();

helpstring("Inserts data to the worksheet like clipboard.")
HRESULT ExcelPasteStringToWorksheet([in] BSTR bstText);

SlideShow Automation Functions

helpstring("Open then plays the PowerPoint slide show file in the same window or full screen.")
HRESULT SlideShowOpenAndPlay([in] VARIANT Document, [in] VARIANT_BOOL bFullScreen,
[in] VARIANT_BOOL bShowWebToolbar, [in] VARIANT_BOOL bLoopUntilStopped,
[in] VARIANT_BOOL bShowScrollBar, [in, optional] VARIANT WebUsername,
[in, optional] VARIANT WebPassword);

helpstring("Plays the PowerPoint slide show file in the same window or full screen.")
HRESULT SlideShowPlay([in] VARIANT_BOOL bFullScreen, [in] VARIANT_BOOL bShowWebToolbar, [in] VARIANT_BOOL bLoopUntilStopped, [in] VARIANT_BOOL bShowScrollBar);

helpstring("Exits the slide show play window.")
HRESULT SlideShowExit();

helpstring("Goes to the first slide in the opened PowerPoint file.")
HRESULT SlideGotoFirst();

helpstring("Goes to the previous slide in the opened PowerPoint file.")
HRESULT SlideGotoPrevious();

helpstring("Goes to the next slide in the opened PowerPoint file.")
HRESULT SlideGotoNext();

helpstring("Goes to the last slide in the opened PowerPoint file.")
HRESULT SlideGotoLast();

helpstring("Goes to the specified slide in the opened PowerPoint file based on the index.")
HRESULT SlideGotoPage(long nPage);

helpstring("Returns the count of slides.")
HRESULT SlideGetCount([out,retval] long* nCount);


typedef enum BorderStyle
{
BorderNone = 0,
BorderFlat,
Border3D,
Border3DThin
} BorderStyle;

typedef enum ShowDialogType
{
DialogNew = 0,
DialogOpen,
DialogSave,
DialogSaveCopy,
DialogPrint,
DialogPageSetup,
DialogProperties
} ShowDialogType;

typedef enum FileCommandType
{
FileNew = 0,
FileOpen,
FileClose,
FileSave,
FileSaveAs,
FilePrint,
FilePageSetup,
FileProperties,
FilePrintPreview
} FileCommandType;

 typedef enum XlFileFormat
{
xlAddIn =
    18,
xlCSV = 6,
xlCSVMac = 22,
xlCSVMSDOS = 24,
xlCSVWindows = 23,
xlDBF2 = 7,
xlDBF3 = 8,
xlDBF4 = 11,
xlDIF = 9,
xlExcel2 = 16,
xlExcel2FarEast = 27,
xlExcel3 =
    29,
xlExcel4 = 33,
xlExcel5 = 39,
xlExcel7 = 39,
xlExcel9795 = 43,
xlExcel4Workbook = 35,
xlIntlAddIn = 26,
xlIntlMacro = 25,
xlWorkbookNormal = -4143,
xlSYLK = 2,
xlTemplate = 17,
xlCurrentPlatformText = -4158,
xlTextMac = 19,
xlTextMSDOS = 21,
xlTextPrinter = 36,
xlTextWindows = 20,
xlWJ2WD1 = 14,
xlWK1 = 5,
xlWK1ALL = 31,
xlWK1FMT = 30,
xlWK3 = 15,
xlWK4 = 38,
xlWK3FM3 = 32,
xlWKS = 4,
xlWorks2FarEast = 28,
xlWQ1 = 34,
xlWJ3 = 40,
xlWJ3FJ3 =
    41,
xlUnicodeText = 42,
xlHtml = 44
}XlFileFormat;

 typedef enum WdSaveFormat
{
wdFormatDocument = 0,
wdFormatTemplate = 1,
wdFormatText = 2,
wdFormatTextLineBreaks = 3,
wdFormatDOSText = 4,
wdFormatDOSTextLineBreaks = 5,
wdFormatRTF = 6,
wdFormatUnicodeText = 7,
wdFormatEncodedText = 7,
wdFormatHTML =
    8,
wdFormatWebArchive = 9,
wdFormatFilteredHTML = 10,
wdFormatXML = 11
}WdSaveFormat;

typedef enum PpSaveAsFileType
{
ppSaveAsPresentation = 1,
ppSaveAsPowerPoint7 = 2,
ppSaveAsPowerPoint4 = 3,
ppSaveAsPowerPoint3 = 4,
ppSaveAsTemplate = 5,
ppSaveAsRTF = 6,
ppSaveAsShow = 7,
ppSaveAsAddIn = 8,
ppSaveAsPowerPoint4FarEast = 10,
ppSaveAsDefault = 11,
ppSaveAsHTML = 12,
ppSaveAsHTMLv3 = 13,
ppSaveAsHTMLDual = 14,
ppSaveAsMetaFile = 15,
ppSaveAsGIF = 16,
ppSaveAsJPG = 17,
ppSaveAsPNG = 18,
ppSaveAsBMP = 19
}PpSaveAsFileType;

 typedef enum PpViewType
{
ppViewHandoutMaster = 4,
ppViewMasterThumbnails = 12,
ppViewNormal = 9,
ppViewNotesMaster = 5,
ppViewNotesPage = 3,
ppViewOutline = 6,
ppViewPrintPreview = 10,
ppViewSlide = 1,
ppViewSlideMaster = 2,
ppViewSlideSorter = 7,
ppViewThumbnails = 11,
ppViewTitleMaster
    =8,
}PpViewType;

 typedef enum WdViewType
{
wdMasterView =
    5,
wdNormalView = 1 ,
wdOutlineView = 2,
wdPrintPreview = 4 ,
wdPrintView = 3,
wdReadingView = 7,
wdWebView = 6,
}WdViewType;

typedef enum XlViewType
{
xlNormalView = 1 ,
xlPageBreakPreview = 2,
}XlViewType;

 typedef enum WdPasteDataType
{
wdPasteBitmap = 4,
wdPasteDeviceIndependentBitmap = 5,
wdPasteEnhancedMetafile = 9,
wdPasteHTML = 10,
wdPasteHyperlink
    = 7,
wdPasteMetafilePicture = 3,
wdPasteOLEObject = 0,
wdPasteRTF = 1,
wdPasteShape = 8,
wdPasteText = 2,
}WdPasteDataType;

 typedef enum WdBreakType{
wdPageBreak = 7,
wdColumnBreak = 8,
wdSectionBreakNextPage = 2,
wdSectionBreakContinuous = 3,
wdSectionBreakEvenPage = 4,
wdSectionBreakOddPage = 5,
wdLineBreak = 6,
wdLineBreakClearLeft
    = 9,
wdLineBreakClearRight = 10,
wdTextWrappingBreak = 11,
}WdBreakType;

 typedef enum WdGoToItem{
wdGoToBookmark = -1
    ,
wdGoToComment = 6 ,
wdGoToEndnote = 5 ,
wdGoToEquation = 10
    ,
wdGoToField = 7 ,
wdGoToFootnote = 4 ,
wdGoToGrammaticalError=  14 ,
wdGoToGraphic = 8 ,
wdGoToHeading=  11 ,
wdGoToLine = 3 ,
wdGoToObject = 9 ,
wdGoToPage = 1 ,
wdGoToPercent = 12 ,
wdGoToProofreadingError =
    15 ,
wdGoToSection = 0 ,
wdGoToSpellingError = 13 ,
wdGoToTable = 2 ,
}WdGoToItem;

typedef enum WdGoToDirection{
wdGoToAbsolute = 1,
wdGoToFirst = 1,
wdGoToLast = -1 ,
wdGoToNext = 2 ,
wdGoToPrevious = 3 ,
wdGoToRelative = 2 ,
}WdGoToDirection;

 typedef enum WdPageFit{
wdPageFitBestFit = 2,
wdPageFitFullPage = 1,
wdPageFitTextFit = 3 ,
wdPageFitTextNone
    = 0 ,
}WdPageFit;

typedef enum OpenedFileType{
oaUnknown = -1,
oaNoOpened = 0,
oaWord = 1,
oaExcel = 2,
oaPowerPoint = 3 ,
oaVisio = 4 ,
oaProject = 5 ,
}OpenedFileType;


1. Customize the File Command

Event: void OnFileCommand([in] FileCommandType Item, [in,out] VARIANT* Cancel);

Description: Called when File menu item is selected by user (may be canceled).

Every time a user opened a file successfully, the OnDocumentOpened event is raised. The event allows you to override the default behavior for the control and supply your own custom actions and dialog boxes to do normal file operations.

VB 6.0

Private Sub EDrawOfficeViewer1_OnFileCommand(ByVal Item As EDrawOfficeViewerLib.FileCommandType, Cancel As Variant)

If Item = FilePrint Then

MsgBox "You asked to print, but I won't allow it."

Cancel = True

End If

End Sub

HTML + JScript

<script language="JScript" for=EDrawOfficeViewer1 event="OnFileCommand (Item, Cancel)">

OnFileCommandEvent(Item, Cancel);

</script>

<script language=javascript>

function OnFileCommandEvent (Item, Cancel)

{

Alert(“Respond the File Command Event.”);

}

</script>

HTML + VBScript

<SCRIPT FOR= EDrawOfficeViewer1 EVENT= OnFileCommand (Item, Cancel)>

OnFileCommandEvent(Item, Cancel)

</SCRIPT>

<script language=VBSrcript>

Sub OnFileCommandEvent (Item, Cancel)

MsgBox “Respond the File Command Event.”

End Sub

</script>

2. Document Opened Event

Event: void OnDocumentOpened([in] BSTR FileName, [in] IDispatch* Document);

Description: Called when document is opened or new document added.

Every time a user opened a file successfully, the OnDocumentOpened event is raised. The event allows you to override the default behavior for the control and supply your own custom actions and dialog boxes to do normal file operations.

HTML + JScript

<script language="JScript" for=EDrawOfficeViewer1 event=" OnDocumentOpened(FileName, Document)">

OnDocumentOpenedEvent(FileName, Document);

</script>

<script language=javascript>

function OnDocumentOpenedEvent(FileName, Document)

{

Alert(“Respond the Document Opened Event.”);

}

</script>

3. Document Close Event

Event: void OnDocumentClosed();

Description: Called when document is closed.

Every time a user closed a file successfully, the OnDocumentClosed event is raised. The event allows you to override the default behavior for the control and supply your own custom actions and dialog boxes to do normal file operations.

HTML + JScript

<script language="JScript"
for=EDrawOfficeViewer1 event="
OnDocumentClosed()">

OnDocumentClosedEvent();

</script>

<script language=javascript>

function OnDocumentClosedEvent()

{

Alert(“Respond the Document Close Event.”);

}

</script>

4. Activation Change Event

Event: void OnActivationChange([in] VARIANT GoingActive);

Description: Called when component gains/loses activation.

Every time a user opens a new document or closes a document the OnActivationChange event is raised. The event allows you to override the default behavior for the control and supply your own custom actions and dialog boxes to do normal file operations.

HTML + JScript

<script language="JScript" for=EDrawOfficeViewer1 event=" OnActivationChange(GoingActive)">

OnActivationChangeEvent(GoingActive);

</script>

<script language=javascript>

function OnActivationChangeEvent (GoingActive)

{

Alert(“Respond the Activation Change Event.”);

}

</script>

5. Before Document Closed Event

Event: void BeforeDocumentClosed([in] IDispatch* Document, [in,out] VARIANT* Cancel);

Description: Called before document is closed (may be canceled).

Every time before a user closed a document the BeforeDocumentClosed event is raised. The event allows you to override the default behavior for the control and supply your own custom actions and dialog boxes to do normal file operations.

HTML + JScript

<script language="JScript" for=EDrawOfficeViewer1 event=" BeforeDocumentClosed (Document, Cancel)">

OnBeforeDocumentClosedEvent(GoingActive);

</script>

<script language=javascript>

function OnBeforeDocumentClosedEvent (GoingActive)

{

Alert(“Respond the Before Document Closed Event.”);

}

</script>

6. Before Document Saved Event

Event: void BeforeDocumentSaved([in] IDispatch* Document, [in] BSTR Location, [in,out] VARIANT* Cancel);

Description: Called before document is saved (may be canceled).

Every time a user opens a new document or closes a document the BeforeDocumentSaved event is raised. The event allows you to override the default behavior for the control and supply your own custom actions and dialog boxes to do normal file operations.

HTML + JScript

<script language="JScript" for=EDrawOfficeViewer1 event=" BeforeDocumentSaved(Document, Location, Cancel)">

OnBeforeDocumentSavedEvent(GoingActive);

</script>

<script language=javascript>

function OnBeforeDocumentSavedEvent (Document, Location, Cancel)

{

Alert(“Respond the Before Document Saved Event.”);

}

</script>

7. Print Preview Exit Event

Event: void OnPrintPreviewExit();

Description: Called when print preview is closed.

Every time a user closes the print preview the OnPrintPreviewExit event is raised. The event allows you to override the default behavior for the control and supply your own custom actions and dialog boxes to do normal file operations.

HTML + JScript

<script language="JScript" for=EDrawOfficeViewer1 event="OnPrintPreviewExit ()">

OnPrintPreviewExitEvent(GoingActive);

</script>

<script language=javascript>

function OnPrintPreviewExitEvent (GoingActive)

{

Alert(“Respond the Print Preview Exit Event.”);

}

</script>

8. Ready to Open Document Event

Event: HRESULT NotifyCtrlReady();

Description: Ready to open document.

When the component finished the initialization the NotifyCtrlReady event is raised. The event allows you to open a new document after the component has released all the resource and is ready to open a new document.

HTML + JScript

<html>

<script language=javascript id=clientEventHandlersJS>

function NotifyCtrlReadyEvent ()

{

OfficeViewer1.Open “ http://www.ocxt.com/demo/sample.doc ”

}

</script>

<body>

<object classid="clsid:053AFEBA-D968-435F-B557-19FF76372B1B" id="OfficeViewer1" width="657" height="452">

<param name="Titlebar" value="1">

<param name="Toolbars" value="0">

</object>

</body>

<script language="JScript" for=OfficeViewer1 event=" NotifyCtrlReady ()">

NotifyCtrlReadyEvent ();

</script>

</html>

9. Download and Update Event

Event: HRESULT OnBeforeDownload();

Description: Called before downloading the file.

Event: HRESULT OnDownloadComplete();

Description: Called when the file was downloaded completely.

Event: HRESULT OnUploadComplete();

Description: Called when the file was uploaded completely.


Easy CHM - Create your first CHM help or CHM ebook files in 10 seconds with Easy CHM

This CHM was compiled by an UNREGISTERED version of Easy CHM.
Registered version doesn't compile this page into CHM!

Easy CHM - Ver: 1.95 Written by: GuohuaSoft |  | Screen Shot ASP Member=
Release Date: 10/26/2004 Release Status: New Release | File Size: 1392k - 1.39MB | Type: Shareware Cost: US $35
Keywords: make chm, create chm, chm converter, html2chm, htm2chm, txt2chm, generate chm, chm maker, convert chm, create microsoft html,help, generate html help, help file generator, chm creation tool, create compressed html-help

Description:
Create your first CHM help or CHM ebook files in 10 seconds with Easy CHM.

Key features:

  • Make CHM (Html Help) file by import folders and all sub folders.

  • Automatically generate TOC and Index Item by parsing from title/filename/text of a specificed line.

  • Easy to use TOC edior support 'Search and replace in TOC items'.

  • Convert htm/html/mht/picture and other files to CHM.

  • Plenty of customized options.
Contact Info:

Via Web:

Zipghost website: http://www.zipghost.com

eTextWizard website: http://www.etextwizard.com

Via E-mail:

webmaster@etextwizard.com
Order Online:

https://www.qwerks.com/order/buynow.asp?ProductID=7297

Download URLs:
Supported Operating Systems: Win98,WinME,WinXP,Windows2000
System Requirements:
Install Support: Install and Uninstall