打印JEditorPane时获取损坏的图像图标

时间:2011-04-10 06:22:24

标签: java applet jeditorpane

我有一个小applet,用于打印来自给定URL的html以形成一个小收据。除了最后的图像(条形码)之外,它都是文本。在我的初始测试中,当样本条形码与具有我的applet代码的jar文件位于同一目录中时,一切正常。

现在的问题是,对于我想要打印的每个网址,底部的图像将是唯一的并且即时生成(几乎是id的编码)。

这样的事情:

<img src="/asp/barcode.asp?id=2147419365" />

当我查看生成的收据的html页面本身时,它显示正常,但是当我打印时我丢失了图像(出现了损坏的图像图标)。我已经尝试在图像源中指定完整路径,但它没有改变任何东西。奇怪的是,如果我将它从我的硬盘驱动器中运行,并且所有文件都在同一个文件夹中,并且动态条形码可以正确打印。一旦我把它放在我的本地主机上它就会丢失条形码。这是我在applet中的print方法:

public void printDocument(final String url) throws FileNotFoundException
{
    AccessController.doPrivileged(new PrivilegedAction<Object>()
                {
        @Override
        public Object run()
        {
            try
            {
                new ParserDelegator();
                JEditorPane jEditorPane = new JEditorPane();
                jEditorPane.setPage(url);
                JeditorRendererer docRenderer = new JeditorRendererer();
                docRenderer.print(jEditorPane);
            }
            catch (Exception e)
            {
                    e.printStackTrace();
            }
            return null;
        }
    });
}

目前,在部署时,jar文件,收据生成器和条形码生成器都位于不同的位置。

1 个答案:

答案 0 :(得分:0)

<img src="/asp/barcode.asp?id=2147419365" />

您很可能需要使用与HTML相关的网址。 e.g。

<img src="../asp/barcode.asp?id=2147419365" />