MSProject加载项的.mpp转换的.pdf与给定的名称和日期(MSProject Add-In

2019-09-30 19:58发布

我正在开发一个外接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();

但这种方式,我不能给的起始日期和结束日期。 这导致其方式多页,我不需要。

是否有机会实现我的目标,以改变我的解决方案之一,或有任何其他的选择吗?

Answer 1:

没有找到一个妥善的解决办法,我使用的窗口10打印机和模拟键盘事件插入对话框,打开路径。 随着进入我开始打印。

我知道这是不是一个很好的解决方案,但它是onlyway我得到它的工作



文章来源: MSProject Add-In to convert .mpp in .pdf with given name and date