We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Labels overridden by Data points of Bar chart in PDF output of chart

Hi,

I am using Aspose.Cells v8.5.2.4
On converting the Chart 1 to PDF from attached Excel document, the Data Point value is being overridden.
See the attached doc’s for reference.

Code for copying chart to new worksheet & saving to PDF for PDF output of a chart:
private static void chartToPDF() throws Exception {
Workbook workbook = new Workbook(“C:\ExhibitsforSOS_BarandLine.xlsx”);
WorksheetCollection ws = workbook.getWorksheets();
Chart chart = workbook.getWorksheets().get(0).getCharts().get(“Chart 1”);
ChartShape cshape = chart.getChartObject();
int sheetIndex = ws.add();
com.aspose.cells.Worksheet worksheet = ws.get(sheetIndex);
chart.calculate();
double chartWidthInInches = chart.getChartObject().getWidthInch();
double chartHeightInInches = chart.getChartObject().getHeightInch();
boolean defaultApproach = true;
if (chartWidthInInches > 18 || chartHeightInInches > 5) {
// The approach being followed here is to iterate as many columns as colwidth in pixels & set each column width equal = 1 pixel.
// Similarly for chart height, iterate through as many rows as row height & set each row height = 1 pixel.
// This is being done to fit in large charts that have height & width beyond maximum row/col dimensions & white spaces around
// the chart.

double chartWidthInPixels = chart.getChartObject().getWidth();
double chartHeightInPixels = chart.getChartObject().getHeight();
// Deliberately including one more column because Aspose considers the last column adjacent to chart which leads to white space
// on right of chart
for (int i = 0; i <= chartWidthInPixels; i++) {
worksheet.getCells().setColumnWidthPixel(i, 1);
}

// Deliberately including one more row because Aspose considers the last row adjacent to chart which leads to white space
// below the chart.
for (int i = 0; i <= chartHeightInPixels; i++) {
worksheet.getCells().setRowHeightPixel(i, 1);
}
defaultApproach = false;
} else {
worksheet.getCells().setColumnWidthInch(0, chartWidthInInches);
worksheet.getCells().setRowHeightInch(0, chartHeightInInches);
}

//Setting the name of the newly added worksheet
String transientSheetName = “TransientWorksheet”;
worksheet.setName(transientSheetName);
//Copy the Chart to Second Worksheet
worksheet.getShapes().addCopy(cshape, 0, 0, 0, 0);
//Get the new chart and set its height and width accordingly
com.aspose.cells.Chart chart1 = worksheet.getCharts().get(0);
chart1.getChartObject().setHeightInch(chartHeightInInches);
chart1.getChartObject().setWidthInch(chartWidthInInches);
//Make remaining worksheets invisible so that they are not part of the output pdf
for (int i = 0; i < ws.getCount(); i++) {
String sheetName = ws.get(i).getName();
if(!transientSheetName.equalsIgnoreCase(sheetName)){
ws.get(i).setVisible(false);
}
}
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.setOnePagePerSheet(true);
worksheet.getPageSetup().setTopMargin(0);
worksheet.getPageSetup().setBottomMargin(0);
worksheet.getPageSetup().setRightMargin(0);
worksheet.getPageSetup().setLeftMargin(0);
//Setting Print area to first cell only as the chart is contained in the first cell (A1:A1)
if (defaultApproach) {
worksheet.getPageSetup().setPrintArea(“A1:A1”);
}
// Save the workbook

workbook.save(“C:\out.pdf”, pdfSaveOptions);
}

Can you please verify this issue.

Thanks,
Jaspreet

Hi Jaspreet,


Thank you for sharing the sample spreadsheet.

We have evaluated the presented scenario while using the latest version of Aspose.Cells for Java 8.6.0.3 and we are able to replicate the said problem, that is; one of the data points is being overlapped by the data label. We have logged this incident in our bug tracking system as CELLSJAVA-41515 for further investigation & correction purposes. Our product team will further look into the details of this problem and we will keep you updated on the status of correction. We apologize for your inconvenience.

Hi,

Thanks for using Aspose.Cells for Java.

Please download and try this fix: Aspose.Cells for Java v8.6.0.7 and let us know your feedback.

The issues you have found earlier (filed as CELLSJAVA-41515) have been fixed in newer version of

Aspose.Cells for Java (Download | Maven).


This message was posted using Notification2Forum from Downloads module by Aspose Notifier.

Hi,

I am using chart.toPdf() method of Aspose.Cells v8.6.2



On converting the Chart 1 to PDF from attached Excel document, the Data Point value was being overridden. This is solved as of now but the data point value is comma separated in the pdf while it isn’t comma separated in original Excel.



See the attached pdf for reference.

Hi Jaspreet,.


We have evaluated the presented scenario while using the latest version of Aspose.Cells for Java 8.6.2, and we are able to notice the said problem, that is; the chart’s Data Labels have comma has thousand separator in resultant PDF where in Excel, there is no separator. We have logged this incident as CELLSJAVA-41588 for further investigation & correction purposes. Our product team will further look into the details of this problem and we will keep you updated on the status of correction. We apologize for your inconvenience.

The issues you have found earlier (filed as CELLSJAVA-41588) have been fixed in this update.


This message was posted using Notification2Forum from Downloads module by Aspose Notifier.