PDFBox1.6.0编译成.net能用的DLL,详细步骤!
来源:互联网 发布:炉石传说官方网站 mac 编辑:程序博客网 时间:2024/06/10 04:36
需要在C#中读取PDF文档,应用到了PDFBox,目前最新版的PDFBox是1.6.0,下面是如何利用PDFBox1.6.0版编译得到DLL文件的步骤:
首先下载ikvmbin-7.0、pdfbox-1.6、Ant 1.8.3地址如下:
http://sourceforge.net/projects/ikvm/files/
http://www.apache.org/dyn/closer.cgi/pdfbox/1.6.0/pdfbox-1.6.0-src.zip
http://ant.apache.org/bindownload.cgi
将下载的ikvmbin-7.0、pdfbox-1.6、ant-1.8.3解压到E:\\PDFBox目录下:
第一步:安装ant,步骤如下:
(1)设置环境变量:
(2)在PATH环境变量中添加E:\PDFBox\apache-ant-1.8.3\bin
(3)打开cmd,输入ant –version,如果出现如下提示:
在确保java没有安装问题的情况下,可以在Java\jdk1.6.0_25\lib目录下找到tools.jar,拷贝到jre6\lib目录下即可,在此运行ant-version,得到如下结果:
ant设置完毕。
第二步:学习ikvmbin
关于ikvmbin其说明如下:
IKVM.NET is a Java Virtual Machine (JVM) for the .NET and Mono runtimes.At a time when most people in the computer industry consider Java and .NET asmutually exclusive technologies, IKVM.NET stands in the unique position ofbringing them together.
IKVM.NET includes the following tools:
(1)ikvm - Java Virtual Machine
(2)ikvmc - Compiles Java Bytecode to CIL
(3)ikvmstub - Generates Java stub classes from .NET assemblies
这里我们要使用到的就是ikvmc。
修改E:\PDFBox\pdfbox-1.6.0\pdfbox下的build.xml找到如下语句:
<!--.NET properties --> <property name="ikvm.dir" value="."/><property name="ikvmc" value="${ikvm.dir}/bin/ikvmc.exe"/>
修改为如下
<!--.NET properties --> <property name="ikvm.dir" value="../../ikvm-7.0.4335.0"/><property name="ikvmc" value="${ikvm.dir}/bin/ikvmc.exe"/>主要是修改了ikvm的路径,在这里可以知道主要是使用了其中的ikvmc程序
第三步:编译
到E:\PDFBox\pdfbox-1.6.0\pdfbox目录下,输入ant built.NET,开始创建.net版本的pdfbox,在创建过程中需要联网,如下:
编译完成之后,在E:\PDFBox\pdfbox-1.6.0\pdfbox\bin目录下可以找到如下文件:
编译成功,下面新建一个C#测试程序:
在E:\PDFBox。目录下新建一个WinForm项目,命名为PDFBoxTest,在窗体中新添加一个按钮和一个文本框,如下:
在PDFBoxTest项目下新建一个DLL文件夹,拷贝如下文件到DLL文件夹:
这些文件在ikvm-7.0.4335.0\bin、ikvm-7.0.4335.0\bin-x86、pdfbox-1.6.0\pdfbox\bin目录下都可以找到,然后在WinForm中添加对这些dll的引用,如下:
在form1中引入如下命名空间:
using org.apache.pdfbox.pdmodel;using org.apache.pdfbox.util;
在按钮单击事件中添加如下代码:
private void button1_Click(object sender, EventArgs e) { PDDocument doc = PDDocument.load("document1.pdf",true); PDFTextStripper pdfStripper = new PDFTextStripper(); string result=pdfStripper.getText(doc); textBox1.Text = result; //textBox1.Update(); }
拷贝一个pdf文件到debug目录下,命名为document1.pdf运行可以得到如下结果:
有时候在调试中会发现错误,需要添加IKVM.OpenJDK.Security.dll
好像无法上传附件,大家可以在http://download.csdn.net/detail/leishangwen/4173036下载到我的例子
- PDFBox1.6.0编译成.net能用的DLL,详细步骤!
- ASP 编译成DLL ,步骤说明
- asp.net .cs文件编译成.dll
- asp.net .cs文件编译成.dll
- 编译成dll的项目使用方式
- luci 的themes编译成ipk步骤
- asp编译成dll
- C#.NET常见问题(FAQ)-如何把写好的类编译成dll文件
- .net中将js文件编译成dll文件
- Asp.net中把cs文件编译成dll
- Asp.net中把cs文件编译成dll
- Asp.net中把cs文件编译成dll
- 将sqlite3编译成给WINCE使用的DLL,并封装成C++的步骤(使用VS2005)
- 将sqlite3编译成给WINCE使用的DLL,并封装成C++的步骤(使用VS2005)
- .cs编译成DLL文件
- .cs编译成DLL文件
- 将WebService编译成dll
- DOS下把.vb编译成.dll的
- linux cd 技巧
- NFS 配置
- 转载 log4j文件的配置的详细介绍
- FH_1Excel报表导入,显示在JSP页面.人为判断后,不正确的数据生成PDF文档
- SQL 事物
- PDFBox1.6.0编译成.net能用的DLL,详细步骤!
- 判断主机字节序
- 理解RESTful架构
- Redhat 5配置YUM服务器
- android中wifi原理及流程分析
- Android Service
- 3月26日
- 大数相乘
- 在mini2440上移植QtEmbedded遇到的问题