Note: To be able to use the samples you must install novaPDF SDK
as samples work only with it. Download it here: nova PDF SDK.
The Word OLE CSharp sample is a simple Windows console application that converts a MS Word document (C:\Test.doc) to PDF using Word OLE automation. Source code
using System;
[STAThread]static void Main(string[] args) { try { // create the NovaPdfOptions object NovaPdfOptions pNova = new NovaPdfOptions(); // initialize the NovaPdfOptions object // if you have an application license for novaPDF SDK, // pass both the registration name and the license key to the Initialize() function // pNova.Initialize(PRINTER_NAME, "<registration name>", "<license key>", "<application name>"); pNova.Initialize(PRINTER_NAME, "", "", ""); // get the active profile ... string activeProfile; int nActivePublic; pNova.GetActiveProfile(out activeProfile, out nActivePublic); try { // and make a copy of it pNova.CopyProfile(activeProfile, PROFILE_NAME, PROFILE_IS_PUBLIC); } catch (System.Runtime.InteropServices.COMException e) { // ignore profile exists error if (NV_PROFILE_EXISTS == e.ErrorCode) { System.Console.WriteLine("Profile Test C# OLE already exists"); } else { // more serious error, propagate it throw e; } } // set the copy profile as active profile ... pNova.SetActiveProfile(PROFILE_NAME, PROFILE_IS_PUBLIC); // and set some options pNova.SetOptionString(NOVAPDF_INFO_SUBJECT, "C# Hello document", PROFILE_NAME, PROFILE_IS_PUBLIC); // set nova default printer pNova.SetDefaultPrinter(); // initialize OLE usage in novaPDF pNova.InitializeOLEUsage("Word.Application"); // create Word application object Word._Application WordApp = new Word.Application(); WordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone; // license OLE server in novaPDF pNova.LicenseOLEServer(); // initializations object objMissing = System.Reflection.Missing.Value; object objTrue = true; object objFalse = false; object strFile = @"C:\test.doc"; // create Word document object Word._Document WordDoc = WordApp.Documents.Open(ref strFile, ref objFalse, ref objTrue, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing); // print document WordApp.ActivePrinter = PRINTER_NAME; WordDoc.PrintOutOld(ref objFalse, ref objFalse, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objMissing, ref objFalse, ref objMissing, ref objMissing, ref objMissing); // close Word objects WordDoc.Close(ref objFalse, ref objMissing, ref objFalse); WordApp.Quit(ref objFalse, ref objMissing, ref objFalse); WordApp = null; // restore active profile pNova.SetActiveProfile(activeProfile, nActivePublic); pNova.DeleteProfile(PROFILE_NAME, PROFILE_IS_PUBLIC); // restore default printer pNova.RestoreDefaultPrinter(); } catch (System.Runtime.InteropServices.COMException e) { MessageBox.Show(e.Message); } catch (Exception e) { MessageBox.Show(e.Message); } } } } |
Add comment

