【问题标题】:crispin.Fop Apache Fop C# portKrispin.Fop Apache Fop C# 端口
【发布时间】:2015-11-03 21:41:30
【问题描述】:

我使用该软件包有一段时间了,它运行良好。 更新到最新包后,代码中断了。

在使用一些默认构造函数初始化工厂之后 我收到一个错误:

'org.apache.fop.render.ImageHandlerRegistry' threw an exception.

有人知道配置文件应该是什么样子以便它可以再次工作吗?

    public string GeneratePdf(string foFile, string pdfFile)
    {
        OutputStream os = new BufferedOutputStream(new FileOutputStream(new java.io.File(pdfFile)));
        string ret = "";
        try
        {
            // Factory before update
            FopFactory fopFactory = FopFactory.newInstance();
            // After the update the Factory needs some sort of configuration
            // I tryed with all the constructors but can't get the sample to work.
            FopFactory fopFactory = FopFactory.newInstance(null);
            Fop fop = fopFactory.newFop("application/pdf", os);
            FOUserAgent foUserAgent = fop.getUserAgent();
            javax.xml.transform.TransformerFactory factory = javax.xml.transform.TransformerFactory.newInstance();
            javax.xml.transform.Transformer transformer = factory.newTransformer();
            javax.xml.transform.Source src = new javax.xml.transform.stream.StreamSource(new java.io.File(foFile));
            javax.xml.transform.Result res = new javax.xml.transform.sax.SAXResult(fop.getDefaultHandler());
            transformer.transform(src, res);

            ret = pdfFile;
        }
        catch (Exception ex)
        {
            throw ex;
        }

        finally
        {
            os.close();
        }
        return ret;
    }

【问题讨论】:

    标签: c# pdf apache-fop


    【解决方案1】:

    问题的真正根源可能不是crispin的升级,而是IKVM 8依赖包,https://stackoverflow.com/a/30887042/993388似乎描述了类似的问题。

    在我将 IKVM 从 8.x 降级回 7.x 后,问题就消失了。还要确保删除或调整从App.Config 到 IKVM 8.x 的任何绑定重定向,否则运行时仍会尝试获取较新的程序集。

    这只是一种解决方法,但这是我目前能找到的最好的方法。

    【讨论】:

      【解决方案2】:

      老问题,但这对我有用:

      var jFopFactory = org.apache.fop.apps.FopFactory.newInstance(new java.net.URI("."));
      

      不过,我还没有尝试过任何图像或其他资源。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-09
        • 2014-12-30
        • 2020-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-15
        相关资源
        最近更新 更多