首页 > 解决方案 > CrystalReports 中的水平缩小文本

问题描述

我有以下问题。我正在CrystalReports中重新创建一个 A3 大小的标签,并且有一个文本字段必须是 Arial 115、粗体、0.5 常用宽度。

可以通过使用 HTML 来实现transform:scaleX(0.5)

<p style="font-family: 'Arial'; font-weight:bold; font-size: 115px;transform:scaleX(0.5);">SOME LONGER TEXT (scaled down)</p>

<p style="font-family: 'Arial'; font-weight:bold; font-size: 115px;">SOME LONGER TEXT (no scaling)</p>

而且虽然 CrystalReports 对 HTML 有一定的了解,但它并不支持transforms.

所以想问问有没有办法。该报告是 .net 程序的一部分,是否可能有一些 API 功能?

我考虑过生成和安装我需要的缩小字体(其中会有 6 个),但我不知道怎么做。

更新我在下面发布了我的解决方案。

标签: fontscrystal-reportsfontforge

解决方案


我建议使用 HTML 作为中介,我没有对此进行测试,因为它有点复杂,所以可能需要一些调试才能开始工作。

首先cssClass向 Crystal 文档中的文本对象添加一个值(在属性中)。类似的东西shrinkobject

接下来将水晶报表导出为 html 文本。

然后注入带有样式标签的 html 文本,例如:

html = html.Replace("<HTML>", "<HTML><style>p.shrinkObject {transform:scaleX(0.5);}</style>");

然后,此 html 应应用 CSS 值并可以呈现到打印机。


推荐阅读