Word转pdf Times New Roman 字体乱码

word 转pdf 乱码,乱码文件和图片见附件,麻烦看一下,谢谢!乱码问题.zip (45.0 KB)

@kongc

请注意,将文档呈现为固定页面格式(JPEG,PNG,PDF或XPS)时,Aspose.Words需要TrueType字体。 您需要在将文档转换为PDF的计算机上安装文档中使用的字体。 请参考以下文章:

使用TrueType字体
操作和替换TrueType字体

我们建议您使用Aspose.Words for Java 20.4的最新版本。 如果仍然遇到问题,请ZIP并在此处附加有问题的输出PDF和字体以进行测试。 我们将对此问题进行调查,并为您提供更多信息。

Times New Roma 字体在windows 下默认已安装,用一下代码还是乱码,麻烦能否给个正确的方式。
doc = new Document(inputStream);
FontSettings fontSettings = FontSettings.getDefaultInstance();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getTableSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getTableSubstitution().setSubstitutes(“Times New Roman”, “Arial”);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName(“Arial”);

	doc.setFontSettings(fontSettings);

	doc.save(outputStream, SaveFormat.PDF);

@kongc

请注意,Aspose.Words 模仿MS Word的行为。 如果您将文档转换为固定格式,例如 使用MS Word的PDF,您将获得相同的输出。请检查输入文档的屏幕截图。
输入文件.png (24.2 KB)

麻烦请看我发的视频,word直接转pdf是没问题的,另外你是如何转换我的word然后就显示乱码了呢?麻烦告知一下,谢谢!word转pdf.zip (3.3 MB)

@kongc

请在此处共享以下资源以进行进一步测试:

  • 请使用最新版本的Aspose.Words for Java 20.4将文档转换为PDF,并在此处共享以供我们参考。 也请共享“仿宋_GB2312”字体。
  • 请分享您使用的MS Word版本。

我们将对此问题进行调查,并为您提供更多信息。

MS Word版本 2007 fsong_GB2312.zip (2.4 MB)

@kongc

请共享由MS Word 2007生成的PDF文件。感谢您的合作。

我公司买了License 后 word 转 pdf 时 还是部分乱码问题,使用代码aspose-words-20.5-jdk17.jar 麻烦看一下,急!!!
乱码原文件.zip (6.7 KB)
转换后文件.zip (35.0 KB)

@kongc

我们已经测试了这种情况,并设法在我们身边重现了同样的问题。 为了更正,我们已在问题跟踪系统中将此问题记录为 WORDSNET-20448。 解决此问题后,将通过此论坛主题通知您。

对于给您带来的不便,我们深表歉意。

我公司已购买License,现在有很多问题,请问什么时候可以解决?麻烦能给个时间点吗?谢谢!

@kongc

目前,您的问题正在分析阶段。一旦我们的产品团队完成了对您问题的分析,我们将能够为您提供估计。

请注意,Aspose.Words模仿MS Word的行为。您能否使用MS Word 2007将文档转换为PDF,并在此处共享以供我们参考?谢谢您的合作。

你好,我用的是 MS Word 2013 简体中文版,转换后pdf见附件。
乱码文档.pdf (93.3 KB)

@kongc

感谢您分享PDF文件。 一旦有关于此问题的更新,我们将通过此论坛线程通知您。

@kongc

问题字符是Unicode PUA中的U + E5E5。 由于是PUA,因此常规字体中没有字形。 因此,我们从指定的字体(方形框)中渲染缺少的字形。

也许您的系统中有一些复杂的EUDC设置可以处理此字符。 您能否检查EUDC字体是否负责U + E5E5字符渲染? 或者,您可以向我们提供EUDC注册表项和引用的字体。 当前,Aspose.Words仅支持一种默认的EUDC字体。

另外,作为一种解决方法,您可以从源文档或Aspose.Words的DOM中删除(或用空格替换)U + E5E5 PUA字符,因为它们始终不会显示。

附件中是我本机EUDC注册表,在Aspose.Words的DOM中如何删除(或用空格替换)U + E5E5 PUA字符,具体如何操作麻烦指点一下。谢谢!

EUDC 配置.zip (85.1 KB)

@kongc

感谢您分享细节。 请尝试以下代码示例以获取所需的输出。 希望这对您有所帮助。

Document doc = new Document(MyDir + "in.doc");
doc.getRange().replace("", " ", new FindReplaceOptions());
doc.save(MyDir + "20.5.java.pdf");