42.4. 使用 Java DSL


首先,您必须初始化 barcode 数据随机类。您可以使用默认构造器或参数之一(请参阅 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
名称类型描述

BarcodeFormat

字符串

com.google.zxing.BarcodeFormat 的值。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat