188
:: Home
:: About Us
:: Products
:: Consulting
:: Support
:: Contact Us
Neevia Technology
"Changing the way people
view, share and work
with e-documents"
Example 2: Convert a MS Word document into PDF from ASP.NET
1) Configure docCreator like recommended below:
l
type dcomcnfg in the command prompt and press Enter;
l
find and select docCreator DCOM in the Applications list, then press the Properties
button;
If you have windows 2003 then type dcomcnfg in the command prompt, expand the Component
Services group, expand the Computers group, expand the My Computer group, expand the
DCOM Config group, find and select the docCreator DCOM library->right mouse click-
>Properties.
l
click the Identity tab. Check the "This user" checkbox, press Browse and specify
the Administrator account;
l
enter and re-enter the Administrator password;
l
click the Security tab. Check the Use custom access permissions checkbox, press
Edit and add the ASPNET, IUSR_<machine_name> and IWAM_<machine_name>
user accounts;
Note: If you have windows 2003 also add the "NETWORK SERVICE" user account;
l
check the "Use custom launch permissions" checkbox, press Edit and add the
ASPNET, IUSR_<machine_name> and IWAM_<machine_name> user accounts;
Note: If you have windows 2003 also add the "NETWORK SERVICE" user account;
l
reboot the computer;
2) Add in your project a reference to the c:\program files\neevia.com\document creator\.net
\doc_Creator.dll assembly;
3) Add in your project a reference to the Microsoft Word;
To do this:
a. On the Project menu, click Add Reference;
b. On the COM tab, locate Microsoft Word and then click Select;
c. Click OK in the Add References dialog box to accept your selections.
4) Configure MS Word like recommended below:
l
type dcomcnfg in the command prompt and press Enter;
l
find and select Microsoft Word Document in the Applications list, then
press the Properties button;
If you have windows 2003 then type dcomcnfg in the command prompt, expand the Component
Services group, expand the Computers group, expand the My Computer group, expand the
DCOM Config group, find and select the Microsoft Word Document->right mouse click-
>Properties.
l
click the Identity tab. Check the "This user" checkbox, press Browse and specify the
Administrator account;
l
enter and re-enter the Administrator password;
l
click the Security tab. Check the "Use custom access permissions" checkbox, press
Edit and add the ASPNET, IUSR_<machine_name> and IWAM_<machine_name>
user accounts;
Note: If you have windows 2003 also add the "NETWORK SERVICE" user account;
l
check the "Use custom launch permissions" checkbox, press Edit and add the
ASPNET, IUSR_<machine_name> and IWAM_<machine_name> user accounts;
Note: If you have windows 2003 also add the "NETWORK SERVICE" user account;
l
reboot the computer;
Visual Basic
<SCRIPT runat="server" language="VB">
Sub Page_Load(Source As Object, e As EventArgs)
Dim docToConvert As String = "c:\test.doc"
Dim DC As New doc_Creator.Application
Dim tempFile As String = DC.GetTempDirectory & DC.NewGUID & ".ps"
DC.DocumentOutputFormat = "PDF"
DC.DocumentOutputName = "demoDOC"
DC.DocumentOutputFolder = "c:\"
Dim MSWord As New Microsoft.Office.Interop.Word.Application
MSWord.DisplayAlerts = False
On Error Resume Next
Dim NewDoc As Object
NewDoc = MSWord.Documents.Open(docToConvert, False, True)
If Err.Number <> 0 Then
MSWord = Nothing
Response.Write("MS Word was unable to open the document!!!")
Response.End
End If
Dim MSWordDialog As Object : MSWordDialog = MSWord.Dialogs(97)
MSWordDialog.Printer = "Neevia docCreator"
MSWordDialog.DoNotSetAsSysDefault = 1
MSWordDialog.Execute()
NewDoc.PrintOut(False, , , tempFile, , , , , , , True)
NewDoc.Close(False)
MSWord.Quit(False)
MSWord = Nothing
DC.SetInputDocument(tempFile)
Dim RVal As Integer = DC.Create ' Create output document
If (RVal <> 0) Then Response.Write("Error while creating the document!!!")
DC.FileDelete(tempFile)
DC = Nothing
Response.Write("Done converting !!!")
End Sub
</SCRIPT>
VC#
<SCRIPT runat="server" language="C#">
void Page_Load(object Source, EventArgs e)
{
object fileToConvert = @"c:\test.doc";
doc_Creator.Application DC = new doc_Creator.Application();
DC.DocumentOutputFormat = "PDF";
DC.DocumentOutputName = "demoDOC";
DC.DocumentOutputFolder = @"c:\";
DC.PDFAutoRotatePage = "All";
// This will work only with MS Office 2003
Microsoft.Office.Interop.Word._Application MSWord =
new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word._Document wordDoc;
MSWord.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
// This will work only with MS Office 2000 or XP
// Word._Application MSWord = new Word.Application();
// Word._Document wordDoc;
// MSWord.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;
object RN = System.Reflection.Missing.Value;
object refTrue = true; object refFalse = false;
try
{
// This will work only with MS Word 2003
wordDoc = MSWord.Documents.Open(ref fileToConvert,
ref refFalse, ref refTrue,
ref RN, ref RN, ref RN, ref RN, ref RN, ref RN,
ref RN, ref RN, ref RN, ref RN, ref RN, ref RN, ref RN);
// This will work only with MS Word XP
// wordDoc = MSWord.Documents.Open(ref fileToConvert,
// ref refFalse, ref refTrue,
// ref RN, ref RN, ref RN, ref RN, ref RN, ref RN,
// ref RN, ref RN, ref RN, ref RN, ref RN, ref RN);
// This will work only with MS Word 2000
// wordDoc = MSWord.Documents.Open(ref fileToConvert,
// ref refFalse, ref refTrue,
// ref RN, ref RN, ref RN, ref RN, ref RN, ref RN,
// ref RN, ref RN, ref RN);
}
catch
{
MSWord.Quit(ref refFalse, ref RN, ref refFalse);
MSWord = null;
return;
}
object refStr = DC.GetTempDirectory + DC.NewGUID + ".ps";
object refRange = 0; object refFrom = 1; object refTo = 999;
MSWord.ActivePrinter = "Neevia docCreator";
wordDoc.PrintOutOld(ref refFalse, ref refFalse, ref refRange, ref refStr,
ref RN, ref RN, ref RN, ref RN, ref RN, ref RN, ref refFalse, ref RN,
ref RN, ref RN);
wordDoc.Close(ref refFalse, ref RN, ref refFalse);
MSWord.Quit(ref refFalse, ref RN, ref refFalse);
MSWord = null;
DC.DocumentResolution = 300;
DC.SetInputDocument(refStr.ToString(), "");
int RVal = DC.Create(); // Create output document
DC = null;
if (RVal != 0) {
Response.Write("Error while creating document!!!");
} else {
Response.Write("Done converting !!!");
}
}
</SCRIPT>
I recently
downloaded your
docuPrinter LT ... very
efficient, fast and easy
to use software. I
needed an application
for creating PDF files
from MS Word and Excel
and this works perfectly.
Dave Bélanger
Bowater Produits Forestiers
If you have any comments
or suggestions about our
web site, please feel free to
email them to web@neevia.
com.
Home | About Us | Products | Consulting | Support | Contact Us
© 1999-2005 Neevia Technology, Inc