Aspose Cells for Java 将excel转成pdf,怎么设置转换的表格居中

aspose cell for Java 将excel转成pdf,怎么设置转换的表格居中

@SalesDhorde,

通常,Aspose.Cells 根据 MS Excel 中工作表的打印预览将 Excel 电子表格渲染为 PDF。 您能否压缩并附加您的输入 Excel 文件、Aspose.Cells 的输出 PDF 以及您期望的输出 PDF(表格放在中间)以供参考。 我们将相应地检查并为您提供帮助。

@SalesDhorde
当你将Excel转换成pdf时,如果你想设置转换的数据居中,在Excel里你可以参考附件进行设置。请查看附件。PageSetup.png (17.8 KB)

如果你想通过程序进行设置,请参考以下Java样例代码:

Workbook workbook = new Workbook("sample.xlsx");
//获取第一个工作表的页面设置对象
PageSetup pageSetup = workbook.getWorksheets().get(0).getPageSetup();
pageSetup.setCenterHorizontally(true);
pageSetup.setCenterVertically(true);

希望这些能对你有所帮助。

aspose问题2024年1月24日.zip (249.1 KB)

测试了您分享的代码还是不行,已经把输入输出文档以及期望样式添加到压缩包,请协助一下

@SalesDhorde
因为你需要将所有列展现在同一个页面,当出现空列时,会导致数据不在中间。所以你需要设置打印区域。请参考以下样例代码:

private static void printSheetPage(Workbook wb) throws Exception
{
	int count = wb.getWorksheets().getCount();
    for (int i = 0; i < count; i++)
    {            
        PageSetup page = wb.getWorksheets().get(i).getPageSetup();
        if (i == 0)
        {
        	page.setPrintArea("A1:J13");
        }
        else if (i == 1)
        {
        	page.setPrintArea("A1:J19");
        }
        else
        {
        	page.setPrintArea("A1:I27");
        }
        page.setCenterHorizontally(true);
        page.setCenterVertically(true);
        page.setPaperSize(PaperSizeType.PAPER_A_4);
    }
}

我们观察到你的表格数据被分割到了不同页面,你也可以设置:

pdfSaveOptions.setOnePagePerSheet(true);

设置后一个工作表的数据将被导出到同一个页面。
希望这些对你有所帮助。