Disable resampling images when Workbook to pdf

I try to convert workbook to pdf,
But I found the image in pdf is resampling.

But in cells 8.8.2,it work fine. In 20.1 , image seems resampling in pdf.

I test in Windows 10, JDK 8

	System.out.println(CellsHelper.getVersion());
	PdfSaveOptions saveOptions = new PdfSaveOptions();
	saveOptions.setImageType(ImageFormat.getPng());
	Workbook wb = new Workbook("3.xlsx");
	FileOutputStream os = new FileOutputStream("3_2.pdf");
	wb.save(os, saveOptions);
	os.close();

ks.zip (229.1 KB)

@xhaixia,

Thanks for the template file and sample code.

I tested your scenario/ case using newer version and sample code but I could not differentiate it properly. The newer results are ok to me. Then I compare the resultant file with PDF file (generated by MS Excel) and still could not find any significant changes. Could you elaborate on resampling and provide more details regarding what was right in older version and what’s wrong with newer versions of the product. We can log an investigation ticket for it.

I mean two version cells generated difference pdf files.

The text on image in pdf that generated by cells 8.8.2 is much bold then 20.1.

PDF generated by ms excel is blod too.

Could you compare this
Foxmail20200316015617.png (107.9 KB)

I open these files Chrome 80 in windows 10

Text with cells 20.1 is thin, and cells 8.8.2 and ms excel is same.

I reset the zoom ratio to 100% both.

@xhaixia,

Thanks for providing us further details and screenshot.

We evaluated your issue further and noticed images (for charts) seem re-sampled when rendering Workbook to PDF. The labels look a little thinner than the results produced with older version (the difference is mid though). I have logged an investigation ticket with an id “CELLSJAVA-43147” for your issue. We will look into it soon.

Once we have an update on it, we will let you know.

@xhaixia,

Well, we edit the image bytes for better display in the converted PDF file. And, it works OK util now except for your issue. We are sorry but we can’t fix this issue before we finding a new better way to cope with it.