paper2.pdf (457.1 KB)
拿这个PDF作为举例,生成的SVG文件里面就缺少了大量的中文字体,还有很多的发票PDF也无法成功转换,应该不是机器上缺少相应字体,因为用其他的SDK可以转换成功。并且我还想问问,有什么选项可以控制在SVG中生成的图像质量。目前生成的图像太大了
Screenshot2023_03_13_184411.jpg (234.1 KB)
好的谢谢,我使用的是Java API
代码:
Document nodes = new Document(“xxxxxxx.pdf”);
SvgSaveOptions svgSaveOptions = new SvgSaveOptions();
nodes.save(“xxxxxxxx.svg”, svgSaveOptions);
与大输出大小相关的问题已在我们的问题跟踪系统中记录为 PDFJAVA-42414,目前正处于调查阶段。我们已将工单与此论坛主题相关联,工单解决后会立即通知您。
关于缺少字体的问题,请注意 Aspose.PDF 要求系统中存在所有字体才能按预期执行。因此,请尝试在系统中安装所有 Windows 和其他所需的字体,然后再试一次。我们已经在我们的环境中测试了该场景,但无法重现该问题,因为所有字体都存在。
请列出不需要字体的其他工具并成功进行转换。我们也会对这种行为展开调查,并与您分享我们的反馈。
@asad.ali 我觉得我的系统里是有相关字体的,因为其他的SDK如果不存在相关的字体,应该也是无法打印。我使用的是aspose-total 23.2 javaSDK 去转换,有什么办法知道Apose在转换我的PDF时候缺少什么字体吗?(虽然我还是觉得我的电脑里有相关字体)
请检查系统中所有字体的位置,并使用以下代码为 API 设置字体目录,然后重试转换:
FontRepository.getSources().clear();
ArrayList<String> localFontPaths = new ArrayList<String>();
localFontPaths.add(dataDir + "customfonts\\");
FontRepository.setLocalFontPaths(localFontPaths);
FontRepository.reloadFonts();
@asad.ali
好的我明白了,我发现其他SDK转换出来的字体和原本PDF上的有区别,估计他们用了其他的作为代替。然后我用了你之前提供的方法“FontRepository.setLocalFontPaths(localFontPaths);” 后,就这个PDF就可以成功转换了。
那我想问下如果不用setLocalFontPaths方法,我有什么办法知道缺少的字体是什么吗(即在Aspose看来,它需要什么字体才能按照正常流程完成转换),这样我才方便去安装新的所需字体