Aspose slides将pdf转成ppt表格结构解析不到

df9a1daee1168aa583e2c36991cc9ff.jpg (153.5 KB)

@SalesDhorde

image.png (256.0 KB)

我们测试发现控制台输出显示乱码。但是当我们复制它并粘贴到幻灯片内时,它粘贴正确。由于某些编码设置,控制台输出似乎未显示正确的文本。

请问,如何才能正常显示呢?

@SalesDhorde

我们已在内部问题跟踪系统中打开以下新票证,并将根据 Free Support Policies 中提到的条款提供修复。

问题 ID:SLIDESJAVA-39496

如果您需要优先支持,以及直接联系我们的付费支持管理团队,您可以获取 Paid Support Services

@SalesDhorde

问题在于 Intellij Idea 控制台中的符号显示,而不是 Aspose.Slides 中的符号显示。 Aspose.Slides 返回字符串的所有字符。

不幸的是,我们没有针对这个问题的通用解决方案。您可以尝试更改控制台编码或联系Intellij Idea论坛。

这不仅仅是控制台输出,程序读出,存入数据库以及读出显示到前端页面,也是同样的,展示都是乱码,我们的更多是关心界面上展示,并非控制台输出。

@SalesDhorde

请允许我们进行更多调查,我们将与您分享我们的反馈。

@SalesDhorde,
这里的主要问题是,这段文字虽然是公式(数学文本),但却是简单的文本。math.png (15.3 KB)

由于这个原因,无法将此文本导出为例如 MathML 的格式。这个 XML 文件可以存储在任何数据库中,并且可以轻松地加载到许多应用程序中 - MathML - Wikipedia.

FileOutputStream fos = new FileOutputStream("mathML.xml");
com.aspose.slides.Presentation presentation = new Presentation("mathml.pptx");
for(com.aspose.slides.ISlide slide : presentation.getSlides()) {
    for (com.aspose.slides.IShape shape : slide.getShapes()) {
        if (shape instanceof com.aspose.slides.AutoShape) {
            com.aspose.slides.AutoShape shape1 = (com.aspose.slides.AutoShape)shape;
            for (IParagraph paragraph : shape1.getTextFrame().getParagraphs())
            {
                for (IPortion portion : paragraph.getPortions())
                {
                    if (portion instanceof MathPortion)
                    {
                        ((MathPortion)portion).getMathParagraph().writeAsMathMl(fos);
                        fos.close();
                    }
                }
            }
        }
    }
}

Aspose.Slides 会按 slide1.xml 文件中存储的内容返回符号。symbol.png (5.6 KB)

正如你所见,这些字符没有以 UTF-8 编码保存。这很可能会在其他程序中导致问题。

我们建议在演示文稿中使用真正的数学表达式。这将允许它们被正确导出(作为MathML)并在其他程序中使用。

抱歉再次打扰,请问该问题有得到修复吗,或者大概的修复时间有吗,因为现在出现该问题很频繁,迫切需要解决这个问题。

@SalesDhorde

关于PDFJAVA-43975,我们担心该问题尚未解决。不过,一旦我们在解决问题方面取得任何进展,我们就会通知您。对于给您带来的不便,我们深表歉意。

您好,请问问题目前有开始解决吗?

@SalesDhorde

我们担心这个问题还没有得到解决。但是,一旦我们在票证解决方面取得一些进展,我们一定会通知您。请耐心等待并给我们一些时间。对于给您带来的不便,我们深表歉意。