我正在开发一个外接MSProject 2013及更高版本。 我要安全/转换打开.mpp文件成.pdf文件,而无需用户额外的对话框。 他只是按当一切都完成的按钮的得到一个通知。
我需要把它保存在一个spacific路径和用户定义的开始和结束日期。
我试过另存为,梅索德,但由于它需要一个MSProject.PjFileType作为输入,对于PDF文件的任何选项,我不能使用此。 PjFileFormat枚举
另一approche是使用DocumentExport-梅索德。
app.DocumentExport(@"D:/doc_exportqwre.pdf", MSProject.PjDocExportType.pjPDF, true, true, false, System.DateTime.Now, System.DateTime.Now.AddDays(42));
但在这种情况下,我只看到3周一次。 它被放大,并没有找到一种方法来改变这种状况。 改变MSProject来看,出口并不能帮助之前。
第三种方法是使用Windows10 PDF打印机:
// generate a file name as the current date/time in unix timestamp format
string file = (string)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds.ToString();
// the directory to store the output.
string directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
// initialize PrintDocument object
PrintDocument doc = new PrintDocument()
{
PrinterSettings = new PrinterSettings()
{
// set the printer to 'Microsoft Print to PDF'
PrinterName = "Microsoft Print to PDF",
// tell the object this document will print to file
PrintToFile = true,
// set the filename to whatever you like (full path)
PrintFileName = Path.Combine(directory, file + ".pdf"),
}
};
doc.Print();
但这种方式,我不能给的起始日期和结束日期。 这导致其方式多页,我不需要。
是否有机会实现我的目标,以改变我的解决方案之一,或有任何其他的选择吗?