Получение сломанного изображения при печати JEditorPane - PullRequest
1 голос
/ 10 апреля 2011

У меня есть небольшой апплет, который предназначен для печати HTML-кода с заданного URL-адреса, чтобы сформировать небольшую квитанцию. Это весь текст, кроме изображения в конце (штрих-код). В моих первоначальных тестах все работало, когда образец штрих-кода находился в том же каталоге, что и файл jar, в котором есть код моего апплета.

Проблема теперь в том, что для каждого URL, который я хочу напечатать, изображение внизу будет уникальным и генерируется на лету (в значительной степени кодирование идентификатора).

Примерно так:

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

Когда я просматриваю html-страницу для сгенерированной квитанции, все хорошо отображается, но при печати я теряю изображение (появляется значок разорванного изображения). Я попытался указать полный путь в источнике изображения, но это ничего не изменило. Странная часть заключается в том, что если я запускаю его со своего жесткого диска со всеми файлами в одной папке, и этот динамический штрих-код печатается правильно. Как только я помещаю это в мой localhost, он теряет штрих-код. Это мой метод печати в апплете:

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 голосов
/ 11 апреля 2011
<img src="/asp/barcode.asp?id=2147419365" />

Скорее всего, вам нужно использовать URL, относящийся к HTML. например,

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