有人成功地编译了Apache FOP v1吗?0库到a。NET DLL?我使用的是IKVM语法,可以在http://onjava.com/pub/a/onjava/2004/08/18/ikvm.html;但是,编译的DLL似乎不完整。例如,我不能将FopFactory对象示例化为:
using org.apache.fop.apps;
namespace Utils
{
public class PdfRender
{
public void Render()
{
FOUserAgent foUserAgent = fop.getUserAgent();
FopFactory fopFactory = FopFactory.newInstance();
}
}
}
6条答案
按热度按时间aij0ehis1#
(由FOP用户组提供)
先决条件:IKVMwww.example. www.example.com 安装。
1.下载FOP 1.0来自 www.example.com
1.将所有JAR文件复制到
C:\Fop\Build\
1.打开命令提示符并运行以下命令:
ikvmc -target:library -reference:IKVM.OpenJDK.Core.dll -recurse:C:\Fop\Build\\*.jar -version:1.0 -out:C:\Fop\fop.dll
1.在Visual Studio项目中,添加对
fop.dll
、IKVM.OpenJDK.*.dll
和IKVM.Runtime.dll
的引用nxowjjhe2#
我尝试了ClayB建议的方法,但没有成功。
我使用了IKVM 0的组合。44和0.46,FOP为0。95和1.0。但什么都不起作用!有一些java库丢失并导致错误。还有一个。发生网络异常:无法在系统中加载类型。安全命名空间。我试着把每一个都写下来。jar文件到dll,如Avik Sengupta在http://onjava.com/pub/a/onjava/2004/08/18/ikvm.html上建议的那样,但在lib\batik-all-1上卡住了。7.jar。除非有人有进一步的工作,否则我确信这种方法不再适用于最新的工具包。
然而,我发现了一种不同的方法,它允许从调用FOP。net.我希望这能帮助到一些人:
请阅读原文:http://www.ptperalta.net/index.php/technology/using-apache-fop-in-net.html
mqkwyuun3#
我知道这是一个旧的线程,但它仍然采取了一些研究,让这个工作。它现在可以在Visual Studio 2013中与NuGet一起使用。NuGet包被称为crispin。在我下面的代码中,我传入一个“fop”文件和我想要创建的新PDF文件,“瞧”,它被创建了。
f1tvaqid4#
ClayB为我工作。请记住第2点“将所有JAR文件复制到C:\Fop\Build\”。
“所有”是非常重要的。查看我需要的jar列表:
除了fop之外的所有jar文件都在文件夹“lib”中。
vptzau2j5#
ClatB也在这里工作。只需记住将所有IKVM库添加到您的项目(使用Fop 1。1和IKVM 7。2.4630.5)。
gijlo24d6#
我知道这是一个老帖子,但这篇文章没有解决方案。我创建了一个运行在
.Net Core
上的Apache FOP version 2.8
的开源纯端口。查看详情:FOP.NetCore
https://github.com/sorcerdon/FOP.NetCore
以下是Nuget:
由于这是一个纯端口,这意味着它可以做Apache FOP可以做的任何事情。