A Colleague of mine has created a PDF from and Excel range in VBA using PDFMaker.
I am trying to implement this functionality in c# but it is not create the pdf file.
this is basically what i am doing:
var application = excelWorkbook.Application;
var comRef = application.COMAddIns.Item("PDFMaker.OfficeAddin");
Microsoft.Office.Interop.Excel.Worksheet sheet = excelWorkbook.Sheets.Item["Sheet1"] as Microsoft.Office.Interop.Excel.Worksheet;
Microsoft.Office.Interop.Excel.Range range = sheet.Range["A1", "D2"];
PDFMaker adobeObject = comRef.Object;
var pdfSettings = new Object();
adobeObject.GetCurrentConversionSettings(out pdfSettings);
var oSettings = (ISettings)pdfSettings;
oSettings.AddBookmarks = true; //make desired settings
oSettings.CreateDocInfo = true;
oSettings.AddLinks = false;
oSettings.AddTags = false;
oSettings.ConvertAllPages = false;
oSettings.CreateFootnoteLinks = false;
oSettings.CreateXrefLinks = false;
oSettings.OutputPDFFileName = pdfFileName;
oSettings.PromptForPDFFilename = false;
oSettings.ShouldShowProgressDialog = true;
oSettings.ViewPDFFile = false;
oSettings.FitToOnePage = true;
oSettings.PrintActivesheetOnly = true;
oSettings.LayoutBasedOnPrinterSettings = false;
oSettings.PromptForSheetSelection = false;
oSettings.PDFACompliance = 0;
oSettings.SetConversionRange(range);
oSettings.AlwaysFlattenLayers = false;
oSettings.CreateLayers = true;
oSettings.JobOptions = "Standard";
oSettings.PreserveTransparency = true;
oSettings.OpenLayerPane = true;
oSettings.ConversionRoute = true; // Key to getting smooth gradients
var result = 0;
adobeObject.CreatePDFEx(oSettings, out result);
this isn't working the result object equals -1
Message was edited by: Alan Barry