gpt4 book ai didi

c# - System.Windows.Forms.WebBrowser控件显示pdf

转载 作者:行者123 更新时间:2023-11-30 16:21:17 26 4
gpt4 key购买 nike

有什么方法可以查询 IE 插件 (Adobe Reader) 的状态?我有一种情况,我们通过由标签页托管的嵌入式浏览器(根据我的研究的首选模式)向用户展示许多多页报告。当用户离开报表时,通常是为了修改数据,他们会返回到重新初始化的 Adob​​e Reader。这意味着它们的位置丢失了并且展开的书签节点已经折叠。

下面是一个简化的代码片段,我希望它能充分表达我的问题的本质。

Public partial class ReportView : UserControl
{
private System.Windows.Forms.WebBrowser webBrowser;
private MyNamespace.ReportGenerator reportGen;
private String currentPDFtempPath;

public ReportView()
{
InitializeComponent();
this.Leave += (o, e) => { /*how can I save current place in pdf?*/ };
this.Enter += (o, e) => { /*return user last place in large pdf*/ };
}

public void ViewReport(string reportName)
{
currentPDFtempPath = reportGen.GetReport(reportName);
webBrowser.Navigate(currentPDFtempPath);
}

private void RefreshReport()
{
webBrowser.Navigate(currentPDFtempPath); /*reinitializes Adobe Reader*/
}
}

public class ReportController
{
private DataModel model;
private ReportView view;

ReportController(DataModel m, ReportView v)
{
this.model = m;
this.view = v;

model.Changed += (o, e) => { view.RefreshReport(); }
}
}

最佳答案

如果您的用户群已标准化为一个版本的 Acrobat 或不断更新到最新最好的 Acrobat,另一种解决方案是消除 webbrowser 控件并添加对 AcroPDF/AxAcroPDF 库/active x 控件的引用,该控件有效从窗口窗体。在过去的 6 年里,我在我的公司中使用了它,它运行得非常完美。

关于c# - System.Windows.Forms.WebBrowser控件显示pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com