【sjs16.1.4】用面积函数创建面积函数迷你图 导出pdf后页面多出一条线[SJS-19033]
本帖最后由 Joestar.Xu 于 2023-7-6 09:35 编辑场景:
sheet.setFormula(26, 6, '=AREASPARKLINE(C27:E27,,,,,"#288487","#D73A0E")');
用面积函数创建面积函数迷你图,有一行的数据都为0的情况导出pdf顶部多出一条线,前端页面展示是没有那条线。
如图 "页面展示2"的 27和29行的 三个数据都为0,那么导出的pdf顶部有一个横线,如图"导出异常的PDF"。
反之27和29行的 三个数据之中有一个不为0,那么导出的pdf顶部就没有横线,是没有问题的如图"导出正常的PDF"。
需求:
如何解决三个数据都为0的情况导出的pdf顶部没有那条横线
您好,问题已收到,我们这边调研一下,有进展我会在帖子下回复您。 您好,问题已重现。
我在将您的json文件导入后,尝试进行导出,发现提示错误并且无法导出。
在当我将为0值的数据更改了以后,就可以正常导出了。
这边调研一下,后续有进展我会在本贴中回复您。
本帖先做保留处理了。 本帖最后由 想念 于 2023-7-6 10:24 编辑
Joestar.Xu 发表于 2023-7-6 09:31
您好,问题已重现。
我在将您的json文件导入后,尝试进行导出,发现提示错误并且无法导出。
我们这边更新到spreadjs16.1.4是可以正常导出的,16.1.4以前的版本确实是不能导出,不能导出的问题在https://gcdn.grapecity.com.cn/fo ... 63&page=3#pid676249这个帖子中解决了。现在是要如何解决三个数据都为0的情况导出的pdf顶部去掉那条横线 您好,看上去您在导出为PDF好像还做了一些参数的设置,我这边直接导出为PDF的时候在预览中可以看见红线,但是在详细页面中看不见。
可以再详细说明一下我应该如何复现出您这样的PDF吗?
本帖最后由 想念 于 2023-7-6 11:01 编辑
Joestar.Xu 发表于 2023-7-6 10:32
您好,看上去您在导出为PDF好像还做了一些参数的设置,我这边直接导出为PDF的时候在预览中可以看见红线,但 ...
这个是我设置pdf的代码 。let fontsObj = fonts,fonts在下面的压缩文件中
/**导出PDF*/
handleExport(){
let spread = this.designer.getWorkbook()
let fontsObj = fonts;
this.registerCustomFont(fontsObj);
this.addFontsToFontManager(fontsObj);
this.setPrintInfo(spread);
spread.savePDF(function (blob) {
saveAs(blob, '辰元评级.pdf');
},function (error) {
console.log(error);
}, {
});
},
registerCustomFont(fontsObj) {
var fonts = {
normal: fontsObj["simkai.ttf"],
};
GC.Spread.Sheets.PDF.PDFFontsManager.registerFont("楷体", fonts);
},
addFontsToFontManager(fontsObj) {
var fonts = {
normal: fontsObj["MTCORSVA.TTF"],
};
GC.Spread.Sheets.PDF.PDFFontsManager.fallbackFont = function (font) {
var fontInfoArray = font.split(" "),
fontName = fontInfoArray;
if (fontName === "mtcorsva") {
return fonts.normal;
}
};
},
setPrintInfo(spread) {
for (let i = 0; i < spread.getSheetCount(); i++) {
var sheet = spread.getSheet(i)
var printInfo = sheet.printInfo();
sheet.suspendPaint();
printInfo.showBorder(false); // 是否显示边框
printInfo.showGridLine(false); // 是否打印网格线 (默认是打印)
printInfo.blackAndWhite(false); // 彩色打印
// printInfo.margin({top:20, bottom:20, left:20, right:20,}) // 边距
if(i==1) {
printInfo.columnEnd(6); // 打印截至至某一列
sheet.setRowPageBreak(44, true); // 设置在打印时是否在此表单上的指定行之前插入强制分页符
sheet.setRowPageBreak(82, true); // 设置在打印时是否在此表单上的指定行之前插入强制分页符
printInfo.headerCenter(this.form.fileCode);
printInfo.footerCenter("&P/&N");
printInfo.watermark([{x: 60, y: 20, width: 201, height: 48, imageSrc: this.images1, page: "all"}]);
}else {
printInfo.margin({top:-10, bottom:-10, left:-12, right:-50,}) // 边距
printInfo.columnEnd(12) // 打印截至至某一列
printInfo.rowEnd(62) // 打印截至至某一行
}
printInfo.centering(GC.Spread.Sheets.Print.PrintCentering.horizontal); // 打印的居中方式
printInfo.qualityFactor(8); //打印质量,value为1~8的一个数值,越高则打印效果越好
sheet.resumePaint();
}
} 您好,您的代码中缺少一个变量的定义。
本帖最后由 想念 于 2023-7-6 11:08 编辑
Joestar.Xu 发表于 2023-7-6 11:02
您好,您的代码中缺少一个变量的定义。
this.form.fileCode直接改为 'EXITWIKI-CAA-000039-SCR-20230621'。
printInfo.watermark([{x: 60, y: 20, width: 201, height: 48, imageSrc: this.images1, page: "all"}])里的this.images1您直接找个图片替换一下吧
想念 发表于 2023-7-6 11:05
this.form.fileCode直接改为 'EXITWIKI-CAA-000039-SCR-20230621'。
printInfo.watermark([{x: 60, y: ...
好的,这边已经能够在16.1.4版本复现了,需要调研一下,等有进展我会在帖子下回复您。 Joestar.Xu 发表于 2023-7-6 11:13
好的,这边已经能够在16.1.4版本复现了,需要调研一下,等有进展我会在帖子下回复您。
好的,请尽快处理:)
页:
[1]
2