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

Free Support Forum - aspose.com

从ppt或者pptx 转pdf失败

在java中 使用aspose-slides 将pptx或者ppt转换成pdf报错 错误如下:
EBBF2B0A-BB82-43C9-A374-D2C4A56FFE0B.png (76.3 KB)
用了好几个版本的都不行 请问这个问题该怎么解决谢谢回复一下

@mzjmc,
感谢您联系支持。

我们需要更多详细信息来解决您遇到的错误。请分享以下数据和信息:

  • PowerPoint 演示文稿文件 (您可以压缩文件并在此处上传)
  • 重现错误的代码示例
  • 执行代码的操作系统版本
  • 你使用的 Aspose.Slides 版本

好的 我整理一下发送给您

归档.zip (3.8 MB)

@mzjmc,
感谢您提供更多信息。看起来 translate.pptx 文件已损坏。这可能是您遇到错误的原因。 我无法在 PowerPoint 中打开它。 PowerPointMessage.png (3.9 KB)

请注意,sourceConversionSuccess.pdf 中的某些字体已更改。 这意味着在执行代码的操作系统上找不到字体。 这就是为什么某些文本放置不正确的原因。 您应该在操作系统上安装演示文稿中使用的字体或将它们作为外部字体加载,如下所示:

FontsLoader.loadExternalFonts(fontFolders);

Documents: Custom Font
API Reference: FontsLoader class

您的意思是 在我从pptx转成pdf的时候 需要先获取到pptx原有的文件字体 然后在系统中查找到 在加载到pdf文件中是吗? 但是我刚刚又尝试了一次 获取系统字体 或者自定义字体 在转换的时候还是发生了com.aspose.slides.PptxReadException: Object reference not set to an instance of an object. —> com.aspose.slides.exceptions.NullReferenceException: Object reference not set to an instance of an object.
— End of inner exception stack trace —

@mzjmc,
我们稍后会回复您。

@mzjmc,
在将您的演示文稿转换为 PDF 时,我发现了两个不同的问题。

  1. 将 translate.pptx 转换为 PDF 时出现同样的错误。但我无法在 PowerPoint 中打开演示文稿。看起来 PowerPoint 演示文稿已损坏。

  2. PPTX 和 PDF 中的字体是不同的。compare.png (228.0 KB) 这可能是错误放置文本的原因。看起来 Calibri 字体尚未安装在执行转换的操作系统上。 为了防止这种字体替换和错误的文本放置,我在上面建议了两种解决方案。

好的 感谢您的反馈 我在试试看

您好,还是不可以我尝试过了 以下的链接是通过网络流的pptx 你们在尝试一下
https://tp-file-upload.tangpafanyi.com/tp-translate/2022/08/29/6bb55dd443a74e0e96365848ced286bf.pptx

@mzjmc,
不幸的是,当我在 PowerPoint 中打开此演示文稿时,我看到了关于内容问题的相同消息。repairing.png (4.5 KB) 看起来演示文稿也已损坏。它抛出相同的错误。

会不会是系统的原因造成的呢?我在我的机器上用WPS时可以打开的
截屏2022-08-30 09.05.53.jpg (830.4 KB)

@mzjmc,
您能否澄清一下文件 template.pptx 和 6bb55dd443a74e0e96365848ced286bf.pptx 是如何创建的?

您好, source.pptx 是我本地原来的文件,而 sourceConverSuccess.pdf 是我通过 source.pptx转换而来的, 6bb55dd443a74e0e96365848ced286bf.pptx 或者translate.pptx 或者https://tp-file-upload.tangpafanyi.com/tp-translate/2022/08/29/6bb55dd443a74e0e96365848ced286bf.pptx 是我将文件提交一次翻译过后第三方API返回给我的文件流,然后我将文件流存储到oss中的,在接收到文件流的时候我并没有在本地转换成为pptx,而是通过文件流的类型将文件命名为…pptx的

通过现在有我接口我尝试过,出现这种问题是部门文件会转换失败,更多的是可以转换成功的

@mzjmc,

第三方 API 可能无法正确生成 PPTX 文件,因为 PowerPoint 正在报告损坏的内容。

好的 感谢你 我也是这么认为的

@mzjmc,
感谢您使用 Aspose.Slides。 如果您发现问题与我们的图书馆有关,请告诉我们。 我们会尽力帮助您。