我有一个小程序,旨在从给定的 url 打印 html 以形成小收据。除了末尾的图像(条形码)之外,它都是文本。在我最初的测试中,当示例条形码与包含我的小程序代码的 jar 文件位于同一目录中时,一切正常。
现在的问题是,对于我要打印的每个 url,底部的图像将是唯一的并且是动态生成的(几乎是 id 的编码)。
像这样的东西:
<img src="/asp/barcode.asp?id=2147419365" />
当我查看生成收据的 html 页面本身时,它都显示得很好,但是当我打印时,我丢失了图像(出现了损坏的图像图标)。我尝试在图像源中指定完整路径,但它没有改变任何东西。奇怪的是,如果我从我的硬盘驱动器上运行它,并且所有文件都在同一个文件夹中,并且它可以正确打印动态条形码。一旦我把它放在我的本地主机上,它就会丢失条形码。这是我在小程序中的打印方法:
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 文件、收据生成器和条形码生成器都位于不同的位置。