【问题标题】:Using Mirth Connect JavaScript to output a barcode font to PDF使用 Mirth Connect JavaScript 将条形码字体输出到 PDF
【发布时间】:2016-06-23 14:46:31
【问题描述】:

Mirth Connect 使用 iTextpdf 并且条形码 128 不是包含的字体。我下载了 code128.ttf 字体,但如何在 Mirth Connect 中使用 javascript 引用它?也许有人有一个 Mirth 频道可以做这个或类似的事情?

另一种可能性是 Mirth Connect 有一个 Document Writer 模板选项,它可以使用 HTML/CSS 来引用本地字体。我尝试了许多 HTML/内联 CSS 变体,但均无济于事。

【问题讨论】:

  • 您能否说明您的通道输入是什么,源转换器在做什么,您的目的地是什么以及任何转换器,以及您想要的输出是什么?
  • 你能用任何字体得到正确的输出吗? IOW 我们只是在处理“使用这种字体”还是有其他问题?

标签: javascript html css fonts mirth


【解决方案1】:

有许多适用于 Java 的条形码图像生成器库。创建您自己的 Java 类来满足您的所有需求,部署到 Mirth 安装中的 /custom-lib 文件夹,并在您的频道的源或目标转换器 JS 步骤中调用该类。

【讨论】:

  • 那个解决方案对我有用...我得到了帮助,但他创建了一个 Java 类并从 Mirth 频道调用它。谢谢沙米尔!
【解决方案2】:

我通过将条形码写入一个临时文件并在 Document Writer HTML 中引用它来做到这一点。

向您的目标文档编写器添加一个 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 2016-08-25
    • 1970-01-01
    • 2013-11-24
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多