Neevia Technology Sites:   www.neevia.com  |  docuPub.com  |  www.neeviaPDF.com
:: Home :: Products :: Technical Support :: About Us :: Contact Us
Technical support > Neevia docCreator code samples
Example 2: Convert a MS Word document into PDF from ASP.NET  Print Example 

1) Add a reference in your project to docCreator library.
To do this:
      a. On the Project menu, click Add Reference.
      b. On the COM tab, locate Neevia docCreator and then click Select.
      c. Click OK in the Add References dialog box to accept your selections.

2) Add a reference in your project to 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.

3) Configure MS Word like recommended below:
  • type dcomcnfg in the command prompt and press Enter;
  • find and select Microsoft Word Document in the Applications list, then press the Properties button;
    Note: If you have Windows 2003\2008 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.
  • click the Identity tab. Check the "This user" checkbox, press Browse and specify the Administrator account;
  • enter and re-enter the Administrator password;
  • click the Security tab. Check the "Use custom access permissions" checkbox, press Edit and add the ASPNET, IUSR_ and IWAM_ user accounts;
    Note: If you have Windows 2003\2008 also add the "NETWORK SERVICE" user account;
  • check the "Use custom launch permissions" checkbox, press Edit and add the ASPNET, IUSR_ and IWAM_ user accounts;
    Note: If you have Windows 2003\2008 also add the "NETWORK SERVICE" user account;
  • reboot the computer;

  • Visual Basic
    <SCRIPT runat="server" language="VB">
    
      Sub Page_Load(Source As Object, e As EventArgs)
    
        Dim docToConvert As String = "d:\test.doc"
    
        Dim DC As New Neevia.docCreator
    
        Dim tempFile As String = DC.getParameter("TempDir") & DC.GUID & ".ps"
    
        DC.setParameter("DocumentOutputFormat", "PDF")
        DC.setParameter("DocumentOutputName", "testDOC_VBNET")
        DC.setParameter("DocumentOutputFolder", "d:\")
    
        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
        DC.fileDelete(tempFile)
    
        DC = Nothing
    
        If (RVal <> 0) Then
          Response.Write("Error while creating document!!!")
        Else
          Response.Write("Done Converting !!!")
        End If
    
     End Sub
    
    </SCRIPT>
    
    VC#
    <SCRIPT runat="server" language="C#">
    
      void Page_Load(object Source, EventArgs e)
      {
    
       object fileToConvert = @"d:\test.doc";
    
       Neevia.docCreator DC = new Neevia.docCreator();
    
       DC.setParameter("DocumentOutputFormat", "PDF");
       DC.setParameter("DocumentOutputName", "testDOC_CSHARP");
       DC.setParameter("DocumentOutputFolder", @"d:\");
       DC.setParameter("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.getParameter("TempDir") + DC.GUID() + ".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.setParameter("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>
    



    Copyright © 1999-2016 Neevia Technology. All Rights Reserved. Home | Products | Technical Support | About Us | Contact Us