42.4. 使用 Java DSL


首先,您必须初始化 barcode 数据 fomat 类。您可以使用默认构造器或参数化之一(请参阅 JavaDoc)。默认值为:

Expand
参数默认值

镜像类型(BarcodeImageType)

PNG

width

100 px

height

100 px

编码

UTF-8

Barcode 格式(BarcodeFormat)

QR-Code

// QR-Code default
DataFormat code = new BarcodeDataFormat();
Copy to Clipboard Toggle word wrap

如果要使用 zxing hints,您可以使用 BarcodeDataFormat 实例的 'addToHintMap' 方法:

code.addToHintMap(DecodeHintType.TRY_HARDER, Boolean.true);
Copy to Clipboard Toggle word wrap

如需可能提示,请参阅 xzing 文档。

42.4.1. Marshalling

from("direct://code")
  .marshal(code)
  .to("file://barcode_out");
Copy to Clipboard Toggle word wrap

您可以使用以下方法从测试类调用路由:

template.sendBody("direct://code", "This is a testmessage!");
Copy to Clipboard Toggle word wrap

您应该在这个镜像的 'barcode_out' 文件夹中找到:

image

42.4.2. unmarshalling

unmarshaller 是通用的。对于 unmarshalling,您可以使用任何 BarcodeDataFormat 实例。如果您有两个实例,一个用于(生成)QR-Code,一个用于 PDF417,这无关紧要使用哪个实例。

from("file://barcode_in?noop=true")
  .unmarshal(code) // for unmarshalling, the instance doesn't matter
  .to("mock:out");
Copy to Clipboard Toggle word wrap

如果您将上面的 QR-Code 镜像粘贴到 'barcode_in' 文件夹中,您应该在模拟中找到 'This is a testmessage!'。您可以将 barcode 数据格式作为标头变量找到:

Expand
Name类型描述

BarcodeFormat

字符串

com.google.zxing.BarcodeFormat 的值。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat