Aspose.cells for JAVA Excel转PDF会莫名其妙换行,增加很多空白页出来


#1

我用版本是 aspose-cells-19.6.jar,Excel转PDF会莫名其妙换行,增加很多空白页出来,我用office2013转换就不会出现这个问题。

Excel to PDF.zip (2.3 MB)


#2

@zg0x1231,

感谢您的示例文件。

MS Excel 2007渲染超过4k页,而MS Excel 2010显示265页。此外,MS Excel 2003无法显示您的XLS文件。如果您不想渲染空白页面或行,那么您可以尝试在渲染为PDF文件格式之前添加以下代码行:
例如
示例代码:

Workbook workbook = new Workbook(“f:\files\Test.xls”);
workbook.getWorksheets().get(0).getCells().deleteBlankRows();

  workbook.save("f:\\files\\out1.pdf");

如果不符合您的需求,请告诉我们。


#3

我设置了分页符,首先要满足分页符这个条件,设置成分页符的地方必须要分页,删除空白页但不能把分页符也删除了。谢谢


#4

@zg0x1231,

因为我们已经使用您的文件测试了该问题以转换为PDF文件格式并发现了差异。 MS Excel 2007渲染超过4k页,而MS Excel 2010显示265页。此外,MS Excel 2003无法显示您的XLS文件。当您使用MS Excel 2013渲染265页但Aspose.Cells渲染超过290页时,这是一个问题。我已为您的问题记录了一张ID为“CELLSJAVA-42950”的机票。

我们很快就会调查。

一旦我们对其进行了更新,我们会通知您。


#5

@zg0x1231,

我们进一步评估了您的问题
我们发现这不是API的问题。文件的默认字体(“Test.xls”)根据环境而变化。您似乎在Microsoft Excel中以“英语(美国)”作为默认编辑语言打开文件。如果将默认编辑语言更改为“中文”(请参阅​​附带的屏幕截图“Excel_editing_language.png”),请重新启动Microsoft Excel,然后手动将其保存为pdf,您将获得包含293页的输出pdf。

此外,您可以使用以下代码获取与Microsoft Excel使用“英语(美国)”默认编辑语言保存的输出相同的输出:
例如
示例代码:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setRegion(CountryCode.USA);
Workbook wb = new Workbook("test.xls", loadOptions);
System.out.println(wb.getDefaultStyle().getFont());

wb.save(outFile.pdf);

你也可以锻炼这一行,即loadOptions.setRegion(CountryCode.USA); to loadOptions.setRegion(CountryCode.CHINA);获取不同的输出供您参考。
Excel_editing_language.png (27.5 KB)