1

I am trying to print PowerPoint docs through my windows application in C#. I am using Microsoft.Office.Interop.PowerPoint for this functionality. Following is the code which I have used. It sends the request to printer but nothing gets printed.

string filename = "C:\\test.ppt";
int copies = 1;

Microsoft.Office.Interop.PowerPoint.Presentation work = null;
Microsoft.Office.Interop.PowerPoint.Application app = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();
Microsoft.Office.Interop.PowerPoint.Presentations presprint = app.Presentations;

work = presprint.Open(filename, Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoFalse);
//app.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
work.PrintOptions.PrintInBackground = Microsoft.Office.Core.MsoTriState.msoFalse;
//work.PrintOptions.PrintInBackground = Microsoft.Office.Core.MsoTriState.msoTrue;
//work.PrintOptions.ActivePrinter = "HP LaserJet 5000 Series PCL6";
work.PrintOptions.ActivePrinter = app.ActivePrinter;    
work.PrintOut(1, work.Slides.Count, app.ActivePrinter, copies, Microsoft.Office.Core.MsoTriState.msoFalse);

work.Close();
app.Quit();`
4

1 回答 1

0

When debugging, try halting after work.PrintOut and check your printer to see if the jobs arrives. I'm guessing you are closing PowerPoint too fast.

于 2009-10-26T14:40:23.927 回答