gpt4 book ai didi

pdf - 将 Arial Unicode MS 添加到 CKEditor

转载 作者:行者123 更新时间:2023-12-04 01:07:01 27 4
gpt4 key购买 nike

我的 Web 应用程序允许用户在 CKEditor 中编写富文本,然后使用 Flying Saucer 库将结果导出为 PDF。

由于他们需要写希腊字符,我选择通过执行以下操作将 Arial Unicode MS 添加到可用字体中:

config.font_names = "*several fonts...*; Arial Unicode MS/Arial Unicode MS, serif";

该字体现在在 CKEditor 菜单中正确显示,但是当我将此字体应用于任何元素时,我得到以下结果:
<span style="font-family:arial unicode ms,serif;"> some text </span>

如您所见,我丢失了大写字符。这在 PDF 导出过程中会产生非常糟糕的影响,因为 Flying Saucer 无法识别字体,因此使用不支持 Unicode 字符的 Helvetica,因此希腊字符不会显示在 PDF 中。

如果我从代码源手动更改
<span style="font-family:arial unicode ms,serif;"> some text </span>


<span style="font-family:Arial Unicode MS,serif;"> some text </span>

然后它按预期工作,显示希腊字符。

有没有人遇到过这个问题?有没有办法避免将大写字符更改为小写?
我真的想避免进行任何类型的后处理,例如:
htmlString = htmlString.replace("arial unicode ms", "Arial Unicode MS");

最佳答案

除了 Flying Saucer R8 之外,我同意您关于解决此问题的意见。
尽管取决于您的工作流程,允许 CKEditor 预处理和验证完整的 HTML 编码文件(首先将整个文档呈现为 HTML)是否会更有效?

没有 CKEditor 支持票指定问题的真正来源,因此我建议您自己确认是 (A) 样式问题,或 (B) CSS 处理问题,还是 (C) 特殊的 CKEditor 解析问题。

一个可能的解决方法:
复制所需的 unicode 字体并将其导入 Type 3.2(适用于 Mac 和 Windows)。

http://www.cr8software.net/type.html

将重复的字体集重命名为全部小写。

限制您的字体选择

config.font_names = "customfontnamehere";

单独应用样式(下面是 unicode 字体 greatvibes),看看是否能得到你想要的结果:

var s = CKEDITOR.document.$.createElement( 'style' );
s.type = 'text/css';
cardElement.$.appendChild( s );

s.styleSheet.cssText =
'@font-face {' +
'font-family: \'GreatVibes\';' +
'src: url(\'' + path +'fonts/GreatVibes-Regular.eot\');' +
'}' +
style;

如果上述方法不起作用,您可以尝试修改 xmas plugin.js(也使用 unicode 字体 greatvibes 并在输出之前进行各种很酷的操作),因此可能值得尝试修改它而不是从头开始:
'<style type="text/css">' +
'@font-face {' +
'font-family: "GreatVibes";' +
'src: url("' + path +'fonts/GreatVibes-Regular.ttf");' +
'}' +
style +
'</style>' )

无论您尝试哪种方法,目标都是测试各种样式并查看 CKEditor 是否再次默认回 Helvetica。

最后,CKEditor SDK 有很好的支持,所以如果你有时间和精力,你可以写一个插件。我知道这听起来令人生畏,但请注意/plugins/font 目录中的 plugin.js 如何优先考虑大小属性。

如果您对制作自己的插件不感兴趣,我建议您联系多产的 ckeditor 插件编写者

doksoft

(在他们的网站和他自己的网站上都列出)并要求提供他的商业插件“CKEditor Special Symbols”的演示,该插件具有广泛的 unicode 功能。
希望有所帮助,
克莱尔

关于pdf - 将 Arial Unicode MS 添加到 CKEditor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509301/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com