我最终在表单底部得到了两个按钮——一个用于“保存并关闭”,一个用于“导出为 PDF”。如果它对其他人有帮助,这里是我的“导出为 PDF”按钮的代码。文件夹位置和 PDFName 在表单中定义(文件夹位置是根据它们启动表单的位置动态获取的,而 PDFName 是表单中其他值的连接)。
public void CTRL_PDF_Clicked(object sender, ClickedEventArgs e)
{
// Write your code here.
//Declare variables
string fileName;
string fileLocation;
XPathNavigator nameNode;
XPathNavigator folderNode;
XPathNavigator timeNode;
//Get the values for each variable from fields in the form
nameNode = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:PDFName", NamespaceManager);
folderNode = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:FolderLocation", NamespaceManager);
fileName = nameNode.Value;
fileLocation = folderNode.Value;
//Export the view as a PDF file.
Microsoft.Office.InfoPath.View currentView = this.CurrentView;
this.CurrentView.Export(@fileLocation + fileName + ".pdf", ExportFormat.Pdf);
// End your code here.
}
我通过将格式化的 PDF 视图定义为默认打印视图来解决切换视图的问题。导出功能显然像打印一样工作,因此它会在导出前自动切换到打印视图。