找回密码
 立即注册

QQ登录

只需一步,快速开始

KearneyKang 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-9-21 09:58  /   查看:2920  /  回复:1
本帖最后由 KearneyKang 于 2022-3-14 17:15 编辑

ActiveReportsJS是一款轻量级纯前端的报表控件,适合任何web项目,但是在报表导出的时候由于缺少对应的字体引用,会存在导出PDF乱码的情况。下面我们就来说说如何解决导出PDF乱码的问题
1、首先在新建一个font文件,放入对应的字体文件 这里我们使用 “微软雅黑”为例
微软雅黑字体:SimHei.ttf

2、打开src中的App.JS文件

3、进行字体文件的配置(.ttf的字体文件)
  1. componentDidMount(){
  2.   this._viewer.registerFont({
  3.   source: 'fonts/SimHei.ttf',
  4.   name: '微软雅黑'
  5. });
复制代码
整体详细代码如下:
  1. import React from 'react';
  2. import './App.css';
  3. import '@grapecity/activereports/styles/ar-js-viewer.css';
  4. import {} from '@grapecity/activereports-localization';
  5. import { Viewer } from '@grapecity/activereports-react';
  6. import { PdfExport, HtmlExport, XlsxExport, Core } from '@grapecity/activereports';
  7.    class App extends React.Component {

  8. _viewer = Viewer;
  9.   componentDidMount(){
  10.   this._viewer.registerFont({
  11.   source: 'fonts/SimHei.ttf',
  12.   name: '微软雅黑'
  13. });
  14.   }
  15.     render() {
  16.          return (<div className="demo-app" style={{ height: '1000px'}} >
  17.                     <Viewer
  18.                       report={{ Uri: "zuantoushiyong.rdlx-json" }}
  19.                       sidebarVisible={true}
  20.                       toolbarVisible={false}
  21.                       language = 'zh-CN'
  22.                       ref={ ref => this._viewer = ref } />
  23.                     </div>);
  24.        }
  25.      }
  26.   export default App;
复制代码
进行字体文件的配置(.ttf的字体文件)
  1. componentDidMount(){
  2.     this._viewer.registerFont({
  3.   src: 'fonts/msgothic.ttc',
  4.   name: 'MS Gothic',
  5.   postscriptName: 'MS-Gothic'
  6. }, {
  7.   src: 'fonts/msgothic.ttc',
  8.   name: 'MS UI Gothic',
  9.   postscriptName: 'MS-UIGothic'
  10. }, {
  11.   src: 'fonts/msgothic.ttc',
  12.   name: 'MS PGothic',
  13.   postscriptName: 'MS-PGothic'
  14. });
复制代码
4、最后预览展示结果:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部