Windows フォーム アプリケーションで PDF を表示するために、.net c# アプリケーションで AxInterop.AcroPDFLib.dll を使用します。この動作を再現するためにデモを作成しました。
public AxAcroPDFLib.AxAcroPDF m_AxPdf;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
m_AxPdf = new AxAcroPDFLib.AxAcroPDF();
((System.ComponentModel.ISupportInitialize)m_AxPdf).BeginInit();
m_AxPdf.Dock = DockStyle.Fill;
panel1.Controls.Add(m_AxPdf);
m_AxPdf.Visible = true;
m_AxPdf.LoadFile(@"C:\temp\test.pdf");
m_AxPdf.setShowToolbar(true);
}
再現する手順:
- アプリケーションを開始する
- ボタンを押すとpdfコンテンツが表示されます
- フォームを閉じる
その後、フォームを閉じるのに最大 20 秒かかります。昨日(15.023.20053)の更新前は、フォームのクローズは全く問題なく動作していました。これは既知のバグですか、それとも回避策はありますか?
編集:実際には、はるかに時間がかかる AxAcroPDF オブジェクトの破棄です。通常の状態に戻すためにできることはありますか、それとも Adobe パッチを待つ必要がありますか?
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//takes up to 20 seconds
m_AxPdf.Dispose();
}