无法将非英文字符发送到 PDF

Cant send non-english characters to PDF

我在使用 node.js 生成为 blob 并显示在 iframe 元素中的 pdf 中呈现非英语字符时遇到问题。 First line and client Name is supposed to be cyrillic characters 我使用的是 fluentreports,它没有提到它可以处理的字符集。这是从我的服务器接收 blob 的代码。

if (xhr.status === 200) {
        var file = new Blob([xhr.response], {type: 'application/pdf'});
        var fileURL = URL.createObjectURL(file);
        
        this.setState({
          pdf: fileURL
        })

      }
    });
    xhr.send(formDataString);
  }
 

  render() {
   
    return (
    <div> 
     
      <div style = {{ margin: '0'}} className = "container"> 
        <div  className= "jumbotron">
         
          {this.state.form ? <DateForm onChange = {this.handleChange} onChange2 = {this.handleChange2} onSubmit = {this.onSubmit} date1 = {this.state.date1} date2 = {this.state.date2}/> : null} 
          
        {this.state.pdf? <iframe  style = {{width:"100%" ,height: "800"}} src = {this.state.pdf}> </iframe> : null}
        
        </div>

        
      </div>
      </div>

    );
  }

回答我自己的问题,希望对其他人有所帮助。 Fluentreports 允许注册字体。我在服务器端生成我的 pdf,所以这里是需要做的。下载 Arial Unicode MS 并从静态点将其提供到您呈现报告的位置,如下所示。

// Create a Report   
  var rpt = new Report(res,({fontSize: 10,font: 'Bulgarian'}))
        .titleHeader(hh)
        .margins(40)
        .data( {})               // Add some Data (This is required) 
  

 rpt.registerFont("Bulgarian", {normal: './server/static/ARIALUNI.ttf'});