C# 什么事件表示axAcroPDF加载PDF完成

解决方案------------------------------------------------- 下载 PDFBox-0.7.3.zip

PDFBox-0.7.3.dll lucene-demos-2.0.0.dll lucene-core-2.0.0.dll bcmail-jdk14-132.dll bcprov-jdk14-132.dll FontBox-0.1.0-dev.dll ICSharpCode.SharpZipLib.dll IKVM.AWT.WinForms.dll IKVM.GNU.Classpath.dll IKVM.Runtime.dll ikvm-native.dll 放入Bin中 C# code

<%@ Page Language="C#" %>

<%@ Import Namespace="System" %>

<%@ Import Namespace="org.pdfbox.pdmodel" %> <%@ Import Namespace="org.pdfbox.util" %> <script language="C#" runat="server">

protected void Page_Load(object sender, System.EventArgs e) {

stringpdfPath = Server.MapPath("index.pdf"); PDDocument doc = PDDocument.load(pdfPath);

PDFTextStripper stripper = new PDFTextStripper(); string txt = stripper.getText(doc);

Response.Write(txt); }

</script>

显示:

1.在工具箱中添加Adobe提供的ActiveX控件;

2.在工具箱最下面就会有一个Adobe PDF Reader控件出现, 拖一个Adobe PDF Reader控件到窗体上,双击窗体,在窗体加载时,弹出对话框,加载PDF文件:

3、用另一个窗体打开需用到LoadFile来加载PDF显示内容;

例如:

建立一个需要弹出来加载PDF内容的Form3窗体:

public partial class Form3:Form

{

string pdf = string.Empty;

public Form3(string filePath):this()

{

pdf = filePath;

axAcroPdf1.LoadFile(filePath); //axAcroPdf1是PDF控件命名

}

}

窗体Form2的代码为:

Form3 form3 = new Form3(路径 + ".pdf"); //路径为存放PDF文件的路径

form3.show();

每次打开了PDF文件后,关闭的时候就会出现内存错误,暂未找到方法解决!

显示提示以下内容!!!

"0x057a3b11"指令引用的"0x00000004"内存。该内存不能为"read".要终止程序,请单击确定!

--------------------------------------------------------------------------------------------

解决PDF异常退出方式:

[System.Runtime.InteropServices.DllImport("ole32.dll")]

static extern void CoFreeUnusedLibraries();

private void axAcroPDF1_OnError(object sender, EventArgs e)

{

}

//窗体3正常释放axAcroPDF控件

private void Form3_FormClosing(object sender, FormClosingEventArgs e)

{

if (axAcroPDF1 != null)

{

axAcroPDF1.Dispose();

System.Windows.Forms.Application.DoEvents();

CoFreeUnusedLibraries();

}

}