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

Free Support Forum - aspose.com

【紧急】aspose-cells-20.3-android excel转pdf,打开pdf提示格式错误,打开失败。

当前我在Android10上将excel转为PDF,pdf无法打开提示格式错误。
试了2个版本的jar都是如此:
aspose-cells-19.9-android.via.java.jar
aspose-cells-20.3-android.via.java.jar

以下为excel转pdf的代码:
val license = License()
val inputStream = assets.open(“Aspose.Total.Product.Family.xml”)
license.setLicense(inputStream)
val workbook = Workbook("${Environment.getExternalStorageDirectory()}/aa/a2.xls")
workbook.save("${Environment.getExternalStorageDirectory()}/aa/a2.pdf", SaveFormat.PDF)

Excel中只写了一个“1”,尝试了多个文件,均失败。

@tianshi,

感谢您提供示例代码段和详细信息。

请尝试使用Aspose.Cells API设置字体目录,因为将Excel渲染为PDF和将Sheet转换为图像功能需要安装正确的字体(在工作簿中使用)并首先指定字体文件夹路径,请参阅文档以供参考:
https://docs.aspose.com/display/cellsjava/Configuring+Fonts+for+Rendering+Spreadsheets

如果仍然有任何问题,请共享您的示例代码,源文件和生成的pdf文件以供参考,我们将尽快对其进行检查。

PS。请先压缩文件,然后再附加。

按照您的介绍,我设置了默认字体“Times New Roman”,并将 CheckWorkbookDefaultFont设置为false。
这使我可以打开生成的PDF文档,但是中文乱码。
我清楚Android系统中是没有“Times New Roman”字体的,现在我的Excel使用的是宋体,我是该把windows中的“simsun.ttc”复制到文件夹中,并使用FontConfigs.setFontFolder方法指定这个文件夹吗?
以下是我的代码:
val workbook = Workbook("${Environment.getExternalStorageDirectory()}/aa/test01.xls")
val pdfSaveOptions=PdfSaveOptions()
pdfSaveOptions.defaultFont=“Times New Roman”
pdfSaveOptions.checkWorkbookDefaultFont=false
workbook.save("${Environment.getExternalStorageDirectory()}/aa/test01.pdf", pdfSaveOptions)

再请教一个问题,Android中可以使用“.ttc”格式字体吗?

@tianshi,

1)是,您可以将工作簿中使用的所有字体文件从Windows复制到所需的空间,并在代码中指定字体文件夹。

2)Aspose.Cells支持.ttf和.ttc字体文件。您可以尝试在Android上使用.ttc字体文件。

非常感谢,我现在FontConfigs.setFontFolder设置字库,这时生成PDF效果非常好。
我现在想使用pdfSaveOptions.defaultFont()设置一个默认字体,例如Android设备默认一系列“NotoSans”字体(NotoSansCJK-Regular.ttc、NotoSansCarian-Regular.ttf 等等),如果我想使用“NotoSans”字库我现在应该在defaultFont()中填入什么值呢?
如果我想使用“simsun.ttc”作为defaultFont,这时我应该在defaultFont("???")填入什么呢?

@tianshi,

请参阅带有示例代码的文档,以了解如何在使用PdfSaveOptions优先于工作簿的默认字体时指定所需的默认字体,以供参考:
https://docs.aspose.com/display/cellsjava/Set+DefaultFont+property+of+PdfSaveOptions+and+ImageOrPrintOptions+to+have+priority