Word转pdf,生成pdf和word 复合饼图比例显示不一致

这是我的测试用例

 @Test
    public void testChart() throws Exception {
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        String[] categories = new String[]{"aa","bb", "cc", "dd", "ee"};
        double[] values = new double[]{49.0, 3.0, 1.0, 4.0, 5.0};
        builder.moveToMergeField("aa");
        Shape shape = builder.insertChart(ChartType.PIE_OF_PIE, 432.0, 252.0);
        Chart chart = shape.getChart();
        chart.getSeries().clear();
        chart.getSeries().add("测试复合饼图", categories, values);
        for (int j = 0; j < categories.length; j++) {
            ChartDataLabel chartDataLabel = chart.getSeries().get(0).getDataLabels().add(j);
            chartDataLabel.setShowLegendKey(true);
            chartDataLabel.getNumberFormat().setFormatCode("0.00%");
            chartDataLabel.setShowLeaderLines(true);
            chartDataLabel.setShowPercentage(true);
            chartDataLabel.setShowValue(true);
            chartDataLabel.setSeparator(" / ");
        }
        doc.save("d://cd.docx", SaveFormat.DOCX);
        doc.save("d://cd.pdf", SaveFormat.PDF);
    }

附件是我生成的word和pdf文件
D.zip (31.9 KB)

@fate, Aspose.Words for Java 23.5 生成几乎相同的饼图,但图表标签的位置不同。 我建议您将 Aspose.Words 升级到最新版本以获得更好的结果。

cd.aspose.words.23.5.zip (83.8 KB)

由于 API 更改,这是我使用的稍微修改过的代码:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
String[] categories = new String[]{"aa","bb", "cc", "dd", "ee"};
double[] values = new double[]{49.0, 3.0, 1.0, 4.0, 5.0};
builder.moveToMergeField("aa");
Shape shape = builder.insertChart(ChartType.PIE_OF_PIE, 432.0, 252.0);
Chart chart = shape.getChart();
chart.getSeries().clear();
chart.getSeries().add("测试复合饼图", categories, values);

ChartDataLabelCollection chartDataLabel = chart.getSeries().get(0).getDataLabels();

chartDataLabel.setShowLegendKey(true);
chartDataLabel.getNumberFormat().setFormatCode("0.00%");
chartDataLabel.setShowLeaderLines(true);
chartDataLabel.setShowPercentage(true);
chartDataLabel.setShowValue(true);
chartDataLabel.setSeparator(" / ");

doc.save("cd.aw23.5.docx", SaveFormat.DOCX);
doc.save("cd.aw23.5.pdf", SaveFormat.PDF);

对于图表标签位置的问题,我们在内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:

Issue ID(s): WORDSNET-25456

如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务

您好,我想表达的是 word和pdf中生成的子饼图对应的比例不一样,pdf中子饼图的比例总和为1,而word中子饼图的比例是实际的百分比,升级到23.5还是如此。你发给我的压缩包中cd.word2019.pdf是如何得到的?

@fate, cd.word2019.pdf 是通过在 Microsoft Word 中打开 cd.aw23.5.docx 并将其导出为 PDF 创建的。

对不起,我误会你了。 我认为您的抱怨是关于饼图中不同大小的圆圈。 此问题已在 Aspose.Words 的更高版本中得到纠正,现在饼图中的圆圈大小与 Microsoft Word 生成的 PDF 中的圆圈大小几乎相同。

对于饼图扇区百分比数字不正确的问题, 我们已经在我们的内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:

Issue ID(s): WORDSNET-25458

如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务

@denis.shvydkiy 好的,感谢你的回复。

The issues you have found earlier (filed as WORDSNET-25458) have been fixed in this Aspose.Words for Java 23.7 update.