|
|
@@ -16,11 +16,27 @@ const uuidV1 = require('uuid/v1');
|
|
|
// Smart.ttf: 宋体(常规)
|
|
|
// Smart-italic.ttf: 宋体(斜体)
|
|
|
// 目前不支持下划线
|
|
|
+let fontMapObj = {
|
|
|
+ "宋体": "simsun_1"
|
|
|
+ ,"楷体": "simkai"
|
|
|
+ ,"黑体": "simhei"
|
|
|
+ // ,"Arial": "arial"
|
|
|
+};
|
|
|
|
|
|
module.exports = {
|
|
|
export_pdf_file:export_pdf_file
|
|
|
}
|
|
|
|
|
|
+function getActualFont(mapName, isBold, isItalic) {
|
|
|
+ let rst = "simsun_1";
|
|
|
+ if (fontMapObj[mapName]) {
|
|
|
+ let boldStr = isBold?"_bold":"";
|
|
|
+ let italicStr = isItalic?"_italic":"";
|
|
|
+ rst = fontMapObj[mapName] + boldStr + italicStr;
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+}
|
|
|
+
|
|
|
function export_pdf_file (pageData, paperSize, fName, callback) {
|
|
|
let offsetX= 10;
|
|
|
let offsetY=10;
|
|
|
@@ -145,17 +161,20 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
|
|
|
function private_drawText(val, area, font, control) {
|
|
|
let dftFontHeight = 12;
|
|
|
let output = [];
|
|
|
+ let fontFile = __dirname + '/pdf_base_files/simkai.ttf';
|
|
|
if (font) {
|
|
|
dftFontHeight = 1 * font[JV.FONT_PROPS[1]];
|
|
|
let dftFontBold = font[JV.FONT_PROPS[3]];
|
|
|
let dftFontItalic = font[JV.FONT_PROPS[4]];
|
|
|
- if (dftFontBold && dftFontBold === 'T') {
|
|
|
- doc.font(__dirname+'/pdf_base_files/hwxsb.ttf');
|
|
|
- }else if(dftFontItalic && dftFontItalic === 'T'){
|
|
|
- doc.font(__dirname+'/pdf_base_files/Smart-italic.ttf');
|
|
|
- }else {
|
|
|
- doc.font(__dirname+'/pdf_base_files/Smart.ttf');
|
|
|
- }
|
|
|
+ fontFile = __dirname + '/pdf_base_files/' + getActualFont(font[JV.FONT_PROPS[0]], (dftFontBold === 'T'), (dftFontItalic === 'T')) + '.ttf';
|
|
|
+ // doc.font(__dirname + '/pdf_base_files/' + fontFile + '.ttf');
|
|
|
+ // if (dftFontBold && dftFontBold === 'T') {
|
|
|
+ // doc.font(__dirname+'/pdf_base_files/hwxsb.ttf');
|
|
|
+ // }else if(dftFontItalic && dftFontItalic === 'T'){
|
|
|
+ // doc.font(__dirname+'/pdf_base_files/Smart-italic.ttf');
|
|
|
+ // }else {
|
|
|
+ // doc.font(__dirname+'/pdf_base_files/Smart.ttf');
|
|
|
+ // }
|
|
|
doc.fontSize(dftFontHeight);
|
|
|
}
|
|
|
let options={};
|
|
|
@@ -238,7 +257,8 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
|
|
|
}
|
|
|
doc.rotate(font.FontAngle,rotateOptions);
|
|
|
}
|
|
|
- doc.text(val,output[0], output[1],options);
|
|
|
+ // doc.text(val,output[0], output[1],options);
|
|
|
+ doc.font(fontFile).text(val,output[0], output[1],options);
|
|
|
doc.restore();
|
|
|
}
|
|
|
|