无法将非英文字符发送到 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'});
我在使用 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'});