首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用杯字形结扎防止LocalReport.Render

利用杯字形结扎防止LocalReport.Render
EN

Stack Overflow用户
提问于 2013-11-25 12:27:45
回答 3查看 1.8K关注 0票数 12

我有一个问题与RDLC报告打印空字符时,作为一个PDF格式。它只影响字形连接,据我理解,它是字母组合,例如:

  • ft
  • fi
  • tt

我的研究表明,这些字符组合被组合成一个单一的字形,我认为这是一个空白时打印出来。示例剪报:

PDF格式:

印刷:

因此,症状如下:

  • PDF在屏幕上显示得很好
  • 当打印(物理上或使用XPS写入器)时,所有连接线都显示为空白

到目前为止,我已经将其缩小到特定的字体(杯状字体)和特定的服务器(Windows 2003 R2)。PDF中嵌入了字体:

我要解决这个问题,我会很高兴的:

  • 防止LocalReport.Render联合结扎
  • 启用Server 2003将字体视为我的Windows 7计算机

我不知道如何/从哪里开始比较字体环境,因此想法和指针是非常受欢迎的。

更新:

由于下面的答案,我检查了这两台机器上的图表,但它们看起来是一样的:

服务器(问题所在):

地方(没有问题):

这也提醒我,我通过复制字体文件并直接安装字体来安装字体。这两个版本都是5.72,数字签名,TrueType大纲,但是服务器显示OpenType Font,而本地显示OpenType Layout (可能只是不同的操作系统显示)。

一个有趣的问题是,如果我在本地使用卡利布雷规则48,我就会看到结扎:

而服务器不使用它:

此外,两个PDF都打印在同一台机器上,但是只有服务器上生成的PDF才会显示问题,因此我认为打印机驱动程序不可能是问题?

EN

回答 3

Stack Overflow用户

发布于 2013-12-02 19:42:17

您能通过在字符之间插入一个单词合并字符(U+2060)或在旧系统上插入零宽度无中断空间(U+FEFF)来搜索、替换和断开连接吗?这应该会迫使它不要使用结扎。

票数 4
EN

Stack Overflow用户

发布于 2013-12-03 12:08:42

一般来说,ReportViewer甚至从Reporting 不会嵌入字体生成PDF

PDF呈现扩展不嵌入字体。报表中使用的字体必须安装在报表服务器和用于查看报表的客户端计算机上。

因此,我要:

  1. 检查2003年服务器中的杯红字体版本是否在客户端中相同(浏览到两台机器中的%windir%\fonts,单击杯红,右键单击每个ttf文件,选择Properties并在Details选项卡中查找File version )。
  2. 修正差异:从2003服务器中删除旧版本,导入在windows 7 one中找到的新ttf,所有这些都使用os提供的工具(见下图)。

  1. 再试一次你的过程:如果你得到了你需要的东西,你就已经完成了。
  2. 如果您实际上需要将生成的报告分发给可能有相同问题的客户端,则必须安装GhostScript并使用如下所示的方式对pdfs进行后处理(这将产生一个PDF/A输出文件)。
代码语言:javascript
复制
gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -dHaveTransparency=false -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output_filename.pdf input_filename.pdf

一些附带说明:

  • 在过去,我与自定义字体有类似的问题,这些字体在重新启动服务器后消失,因此在步骤2之后,尝试在继续之前重新引导服务器。
  • GhostScript是一个尊崇的 自由软件,在阿法罗GNU/普通公共许可证 (仅适用于使用相同许可的开源项目)下和在工匠营业执照下为其他人提供双重许可。这里你可以找到细节。
  • 在过去,我被要求尝试许多比GhostScript更便宜的替代方案,相信我:没有更便宜的替代方案是可行的。
票数 1
EN

Stack Overflow用户

发布于 2021-09-14 08:27:27

有一个解决方案,如果您可以访问字体定义(在代码中)。

xaml: FontFamily=“杯状”Typography.StandardLigatures="False“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20193102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档