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