Получение barcode4j работы с Docmosis Tornado

Мое требование - иметь файл Word.doc со встроенным штрих-кодом, а затем превратить его в PDF. Я пытаюсь докмос для этого проекта, и он работал до сих пор - за исключением случаев, когда я пытаюсь сгенерировать PDF с включенным штрих-кодированием. Я получаю следующую ошибку, которая, как я предполагаю, является отсутствующей зависимостью, которую, я надеюсь, кто-то может определить для меня.

Вот как я запускаю сервис Docmosis:

java -jar  docmosisTornado2.3.war -classpath ..\barcode4j-2.1.0\build\barcode4j.jar

и это ошибка, которую я получаю обратно:

Exception in thread "ODFExplodedTemplatePopulator10987705" java.lang.NoClassDefFoundError: org/krysalis/barcode4j/impl/AbstractBarco
deBean
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at com.docmosis.template.analysis.barcode.BarcodeGeneratorFactory$_A.A(line:64)
        at com.docmosis.template.analysis.barcode.BarcodeGeneratorFactory$_A.access$0(line:59)
        at com.docmosis.template.analysis.barcode.BarcodeGeneratorFactory.getGenerator(line:39)
        at com.docmosis.template.population.openoffice.PopulationContext.getImage(line:495)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:2590)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.access$1(line:2581)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl$2.A(line:1569)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:1539)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:2781)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:1124)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:481)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:942)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:481)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:1127)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:481)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:1127)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:481)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:516)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:481)
        at com.docmosis.template.population.openoffice.ContentStreamPopulatorObfImpl.A(line:384)
        at com.docmosis.template.population.openoffice.ODFExplodedTemplatePopulator.processContent(line:203)
        at com.docmosis.template.population.openoffice.ODFExplodedTemplatePopulator.processTask(line:113)
        at com.docmosis.util.pipeline.impl.AbstractDataWorker.run(line:129)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.krysalis.barcode4j.impl.AbstractBarcodeBean
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1854)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1703)
        ... 26 more

1 ответ

Решение

Эта ошибка показывает, что классы barcode4j недоступны. Для Docmosis-java добавьте barcode4j.jar в ваш путь к классам. Если вы используете Docmosis Tornado, вам нужно дождаться следующего релиза.

Docmosis поддерживает штрих-коды code39, code128 и itf14 на основе barcode4j. Он доступен в Docmosis Cloud (REST API через Интернет) по умолчанию и в Docmosis-Java (Java API), если вы добавите barcode4j.jar в путь к классам. Docmosis Tornado (API REST для локального веб-сервера), как ожидается, включит его в выпуск 2.4.

Другие вопросы по тегам