Cla*_*oit 10 .net ikvm apache-fop
有没有人成功地将Apache FOP v1.0库编译成.NET DLL?我正在使用http://onjava.com/pub/a/onjava/2004/08/18/ikvm.html上的IKVM语法; 但是,编译的DLL似乎不完整.例如,我无法将FopFactory对象实例化为:
using org.apache.fop.apps;
namespace Utils
{
public class PdfRender
{
public void Render()
{
FOUserAgent foUserAgent = fop.getUserAgent();
FopFactory fopFactory = FopFactory.newInstance();
}
}
}
Run Code Online (Sandbox Code Playgroud)
(由FOP用户组的人提供)
先决条件:已安装IKVM 0.44.0.5.
C:\Fop\Build\ikvmc -target:library -reference:IKVM.OpenJDK.Core.dll -recurse:C:\Fop\Build\\*.jar -version:1.0 -out:C:\Fop\fop.dllfop.dll,IKVM.OpenJDK.*.dll并IKVM.Runtime.dll小智 6
我尝试了ClayB建议的方法,没有任何成功.
我使用了IKVM 0.44和0.46与FOP 0.95和1.0的组合.但没有任何效果!有一些java库缺失并导致错误.还发生了.net异常:无法在System.Security命名空间中加载类型.我甚至尝试按照Avik Sengupta的建议将每个.jar文件编译成dll,网址为http://onjava.com/pub/a/onjava/2004/08/18/ikvm.html,但是卡在了lib\batik-上所有-1.7.jar.除非有人有任何进一步的工作,否则我相信这种方法不再适用于最新的套件.
但是,我找到了一种不同的方法,允许人们从.net调用FOP.我希望这会对某人有所帮助:
try {
ProcessStartInfo p = new ProcessStartInfo(fopPath + "fop.bat");
p.Arguments = String.Format("{0} {1}", foFilePath, pdfFilePath);
p.WindowStyle = ProcessWindowStyle.Hidden;
p.WorkingDirectory = fopPath;
Process proc = new System.Diagnostics.Process();
proc.StartInfo = p;
proc.Start();
proc.WaitForExit();
}
catch() {
}
Run Code Online (Sandbox Code Playgroud)
请阅读原始文章:http://www.ptperalta.net/index.php/technology/using-apache-fop-in-net.html
| 归档时间: |
|
| 查看次数: |
9660 次 |
| 最近记录: |