Проект russian-envelope-printer - пример использования библиотеки для печати почтовых конвертов

Ниже приводится простейший пример кода для печати конверта:

{
        EnvelopeFactory envelopeFactory = new DocumentEnvelopeFactory(
                TemplateHelper.parseTemplate(TemplateHelper.TEMPLATE_DL_COMPLETE));
        Envelope envelope = envelopeFactory.produceEnvelope();
        envelope.setTextValue(
                "to-index",
                "173012");
        envelope.setTextValue(
                "to-person",
                "Новгородский Государственный Педагогический институт");
        envelope.setTextValue(
                "to-place",
                "НГПИ, Антоново, г. Великий Новгород, Российская Федерация");
        envelope.setTextValue(
                "from-index",
                "173025");
        envelope.setTextValue(
                "from-person",
                "Жезняковский Сергей Александрович");
        envelope.setTextValue(
                "from-place",
                "пр.Мира, д.20/38, кв.50, г. Великий Новгород, Российская Федерация");
        envelope.setPostalIndex(
                "173012");
        /**/
        EnvelopePrinter printer = new DefaultEnvelopePrinter();
        printer.setEnvelope(envelope);
        PrintService[] services = printer.getAppropriateServices();
        if (services.length == 0)
        {
            throw new Exception("There are no appropriate printers");
        }
        else
        {
            for (PrintService service : services)
            {
                System.out.println(service.getName());
                printer.printEnvelope(service);
            }
        }
}
              

Пример инициализирует фабрику конвертов, получает от нее конверт формата DL, заполняет необходимые реквизиты тестовыми данными, после чего получает список принтеров, поддерживающих печать на таких конвертах, и печатает по конверту на каждом из них.

Страница загрузки