C# 使用Ms Word 2013自动导出PDF,无需用户输入

C# 使用Ms Word 2013自动导出PDF,无需用户输入,c#,pdf,ms-word,C#,Pdf,Ms Word,我试图通过调用locale Office 2013库来自动生成pdf,然后在该库中打开文档并将其导出为pdf。 总体来说,这很好,我可以创建pdf文件,但只要MS Office需要用户输入,该过程就会暂停。认为“请输入密码”或“导出页面太多”都会为用户生成弹出窗口 到目前为止,处理这个问题的唯一方法是将每个调用放在一个单独的线程上,如果线程运行太长,则使其无效。 但我希望能找到一种方法,避免出现所有弹出窗口或类似的东西,因为这样会比等待超时时间快得多 因为我假设人们想知道我是如何称呼的,我会给出

我试图通过调用locale Office 2013库来自动生成pdf,然后在该库中打开文档并将其导出为pdf。
总体来说,这很好,我可以创建pdf文件,但只要MS Office需要用户输入,该过程就会暂停。认为“请输入密码”或“导出页面太多”都会为用户生成弹出窗口

到目前为止,处理这个问题的唯一方法是将每个调用放在一个单独的线程上,如果线程运行太长,则使其无效。
但我希望能找到一种方法,避免出现所有弹出窗口或类似的东西,因为这样会比等待超时时间快得多

因为我假设人们想知道我是如何称呼的,我会给出一个简短的描述。
我正在使用COM4J包装office库,这样我就可以从Java调用它,尽管我还没有发现它的任何限制(到目前为止)。 从那里我这样称呼:

_Document doc = openDocument(inputFile);
try {
    doc.exportAsFixedFormat(
        outputFile.getAbsolutePath(), //File
        WdExportFormat.wdExportFormatPDF,
        false,
        WdExportOptimizeFor.wdExportOptimizeForPrint,
        WdExportRange.wdExportAllDocument,
        1,
        1,
        WdExportItem.wdExportDocumentContent,
        true,
        true,
        WdExportCreateBookmarks.wdExportCreateNoBookmarks,
        true,
        true,
        useISO19005, //Boolean
        _); //unset, null
} finally {
    closeDocument(doc);
}
虽然我知道我还可以使用其他各种第三方工具,但为了便于讨论,让我们假设这对我来说不是一个选择(我的同事坚持)


我一直在通过应用程序和文档方法寻找解决方案,但到目前为止运气不好,所以我希望你们中的一位知道。

老实说,我会尝试使用第三方库,看看这是否只是MSDN问题(基本故障排除)

我环顾四周,发现这个免费的库非常简单(它甚至提供了一整套安装说明,让您可以安装它)


如果按预期工作,则这是
.exportAsFixedFormat
库的问题。如果它仍然要求用户输入,这意味着您必须以完全不同的方式进行(甚至可能必须从头开始创建文件)

老实说,我会尝试使用第三方库来查看这是否只是MSDN问题(基本故障排除)

我环顾四周,发现这个免费的库非常简单(它甚至提供了一整套安装说明,让您可以安装它)


如果按预期工作,则这是
.exportAsFixedFormat
库的问题。如果它仍然要求用户输入,这意味着您必须以完全不同的方式进行(甚至可能必须从头开始创建文件)

当你放弃所有的论点时会发生什么。。。试试这个。。。。。doc.ExportAsFixedFormat(outputFile.getAbsolutePath(),WdExportFormat.wdExportFormatPDF,false);然后,它使用几个默认设置,仍然要求用户在某些(相同)情况下进行交互。所以不管怎么说,这都没有帮助可悲的是,当你放弃所有的争论时会发生什么。。。试试这个。。。。。doc.ExportAsFixedFormat(outputFile.getAbsolutePath(),WdExportFormat.wdExportFormatPDF,false);然后,它使用几个默认设置,仍然要求用户在某些(相同)情况下进行交互。所以不管怎么说这都没用可悲的是,