跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 福昕首页
  • 开发中心
  • SDK文档资料
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
    • 网页版
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(桌面/服务器)
  • 标签:

使用SDK,在生成文本对象时,出现乱码或不显示的情况该如何解决?

  • 福昕知识库
  • 2024-06-17

使用SDK在PDF上生成文本,打开后显示乱码或不显示,造成该问题有以下2种可呢能的原因:

  1. 可能是字体没有嵌入,导致PDF文件生成后在部分软件上显示错误。可以在生成时将字体通过Font::Embed ()接口嵌入进文档中。
  2. 显示乱码可能和字体的使用有关,需要检查一下使用字体时Charset是否和当前使用场景相符。

字符集简介:字符集在字体处理、文本编码和文本信息交换方面起着重要作用。例如CharsetChineseBig5与CharsetGB2312它们分别适用于简体中文和繁体中文的编码和处理,为中文文本信息的计算机处理提供了标准化的支持。在选择使用哪个字符集时,需要根据具体的应用场景和需求来决定。

以下是C++判断字符属于哪个CharSet的示例:

WString wstr = L"∅";
    const char* str = wstr.UTF8Encode();
    uint32_t unicodeCode = static_cast<uint32_t>(wstr[0]);
   Font::Charset charSet=(Font::Charset)GetCharsetFromUnicode(unicodeCode);
 

uint32 GetCharsetFromUnicode(uint32 word) {
    //输出unicode码
   // std::cout << std::hex << word << endl;
    // to avoid CJK Font to show ASCII
    if (word < 0x7F)
        return ANSI_CHARSET;
 
    int sys_acp = FXSYS_GetACP();
    switch (sys_acp) {
    case 932:
    case 936:
    case 950:
    case 949:
        if ((word >= 0x2E80 && word <= 0x2EFF) || (word >= 0x3000 && word <= 0x303F) ||
            (word >= 0x3200 && word <= 0x32FF) || (word >= 0x3300 && word <= 0x33FF) ||
            (word >= 0x3400 && word <= 0x4DB5) || (word >= 0x4E00 && word <= 0x9FFF) ||
            (word >= 0xF900 && word <= 0xFAFF) || (word >= 0xFE30 && word <= 0xFE4F) ||
            (word >= 0x20000 && word <= 0x2A6D6) || (word >= 0x2F800 && word <= 0x2FA1F) ||
            (word >= 0xFF00 && word <= 0xFF5E)) {
            switch (sys_acp) {
            case 932:
                return SHIFTJIS_CHARSET;
            case 936:
                return GB2312_CHARSET;
            case 950:
                return CHINESEBIG5_CHARSET;
            case 949:
                return HANGUL_CHARSET;
            }
        }
        break;
    }
 
    // find new charset
    if (word == 0x20A9)
        return HANGUL_CHARSET;
    if ((word >= 0x4E00 && word <= 0x9FA5) || (word >= 0xE7C7 && word <= 0xE7F3) || (word >= 0x3000 && word <= 0x303F) ||
        (word >= 0x2000 && word <= 0x206F)) {
        return GB2312_CHARSET;
    }
 
    if (((word >= 0x3040) && (word <= 0x309F)) || ((word >= 0x30A0) && (word <= 0x30FF)) ||
        ((word >= 0x31F0) && (word <= 0x31FF)) || ((word >= 0xFF5F) && (word <= 0xFFEF))) {
        return SHIFTJIS_CHARSET;
    }
 
    if (((word >= 0xAC00) && (word <= 0xD7AF)) || ((word >= 0x1100) && (word <= 0x11FF)) ||
        ((word >= 0x3130) && (word <= 0x318F))) {
        return HANGUL_CHARSET;
    }
 
    if (word >= 0x0E00 && word <= 0x0E7F)
        return THAI_CHARSET;
 
    if ((word >= 0x0370 && word <= 0x03FF) || (word >= 0x1F00 && word <= 0x1FFF))
        return GREEK_CHARSET;
 
    if ((word >= 0x0600 && word <= 0x06FF) || (word >= 0xFB50 && word <= 0xFEFC))
        return ARABIC_CHARSET;
 
    if (word >= 0x0590 && word <= 0x05FF)
        return HEBREW_CHARSET;
 
    if (word >= 0x0400 && word <= 0x04FF)
        return RUSSIAN_CHARSET;
 
    if (word == 0x11E || word == 0x11F || word == 0x130 || word == 0x131 || word == 0x15E || word == 0x15F)
        return TURKISH_CHARSET;
 
    if (word >= 0x0100 && word <= 0x024F)
        return EASTEUROPE_CHARSET;
 
    if (word >= 0x1E00 && word <= 0x1EFF)
        return VIETNAMESE_CHARSET;
 
    return DEFAULT_CHARSET;
}

相关内容

【校园昕积分】邀请攻略:使用福昕合作高校发放教育专用激活码激活

【校园昕积分】邀请攻略:使用CARSI高校账户或高校EDU邮箱注册

在福昕高级PDF编辑器中如何自定义快速访问工具栏

在福昕高级PDF编辑器中如何设置常用图章

在对文件虚拟打印后如何设置文件不自动打开

通知消息关闭后如何开启

PDF文件奇偶页差异化页码添加

Web SDK 开发实战:动态自定义 PDF 注释右键菜单的 JavaScript 实现方案

无法安装服务“Foxit Document Management”(FoxitAssistantSvcPlus)

将3D文件添加作为信任文件

推荐内容

【校园昕积分】邀请攻略:使用福昕合作高校发放教育专用激活码激活

【校园昕积分】邀请攻略:使用CARSI高校账户或高校EDU邮箱注册

在福昕高级PDF编辑器中如何自定义快速访问工具栏

在福昕高级PDF编辑器中如何设置常用图章

在对文件虚拟打印后如何设置文件不自动打开

通知消息关闭后如何开启

PDF文件奇偶页差异化页码添加

Web SDK 开发实战:动态自定义 PDF 注释右键菜单的 JavaScript 实现方案

无法安装服务“Foxit Document Management”(FoxitAssistantSvcPlus)

将3D文件添加作为信任文件

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2025 福建福昕软件开发股份有限公司 版权所有

隐私策略