Использование Mirth Connect JavaScript для вывода шрифта штрих-кода в PDF

Mirth Connect использует iTextpdf, а штрих-код 128 не является включенным шрифтом. Я скачал шрифт code128.ttf, но как я могу сослаться на него с помощью javascript в Mirth Connect? Может быть, у кого-то есть канал Mirth, который делает это или что-то подобное?

Другая возможность заключается в том, что в Mirth Connect есть опция шаблона Document Writer, которая может использовать HTML/CSS для ссылки на локальный шрифт. Я пробовал много вариантов HTML/Inline CSS безрезультатно.


person Jeff    schedule 23.06.2016    source источник
comment
Можете ли вы указать, какие у вас входные каналы, что делают ваши исходные трансформаторы, каковы ваши назначения и любые трансформаторы, и каков ваш желаемый выход?   -  person Freiheit    schedule 01.07.2016
comment
Можете ли вы получить правильные результаты с ЛЮБЫМ шрифтом? IOW мы просто имеем дело с использованием этого шрифта или есть другие проблемы?   -  person Freiheit    schedule 01.07.2016


Ответы (2)


Существует ряд библиотек генератора изображений штрих-кода для Java. Создайте свой собственный класс Java, который делает все, что вам нужно, разверните его в папке /custom-lib в установке Mirth и вызовите класс на шаге исходного или целевого преобразователя вашего канала JS.

person Shamil    schedule 05.07.2016
comment
Это решение сработало для меня... Мне помогли с этим, но он создал класс Java и вызвал его из канала Mirth. Спасибо Шамиль! - person Jeff; 26.10.2016

Я сделал это, записав штрих-код во временный файл и сославшись на него в HTML-коде Document Writer.

Добавьте шаг преобразования JavaScript в целевое средство записи документов:

// Generate your barcode
var barcodeContents = "0123456789 hello"
var code128 = new Packages.com.lowagie.text.pdf.Barcode128();
code128.setCode(barcodeContents);

// Convert to image
var image = code128.createAwtImage(java.awt.Color.BLACK, java.awt.Color.WHITE);
var bufferedImage = new java.awt.image.BufferedImage(image.getWidth(),image.getHeight(), java.awt.image.BufferedImage.TYPE_INT_RGB);
var graphics = bufferedImage.getGraphics();
graphics.drawImage(image, 0, 0, null);

// Write to JPG file
var filename = UUIDGenerator.getUUID().toString() + '.jpg';
javax.imageio.ImageIO.write(bufferedImage, "jpg", new java.io.File("C:\\Temp\\Barcodes\\" + filename));

// Save the filename to use in your Document Writer
$c('BarcodeFilename', filename);

Затем просто укажите ссылку на изображение в своем HTML-шаблоне:

<img src="/temp/Barcodes/${BarcodeFilename}"/>

В качестве бонуса вы можете добавить место назначения Javascript Writer для последующего удаления изображения:

var filename = $c('BarcodeFilename');
FileUtil.delete("C:\\Temp\\Barcodes\\" + filename);
person ChrisE    schedule 18.02.2021