com.aspose.words 转pdf韩语乱码
时间: 2023-08-07 17:03:57 浏览: 220
如果在将 com.aspose.words 转换成 PDF 格式时出现韩语乱码问题,可能是因为字体缺失导致的。您可以尝试在转换前将所需的字体文件嵌入到 Word 文档中,或者在转换时指定所需的字体文件。例如,以下代码可以在转换时指定字体:
```
com.aspose.words.Document doc = new com.aspose.words.Document("input.docx");
// 设置字体文件路径
String fontPath = "C:\\Windows\\Fonts\\malgun.ttf";
// 定义字体
com.aspose.words.FontSettings fontSettings = new com.aspose.words.FontSettings();
fontSettings.setFontsFolder(fontPath, true);
// 将字体应用到文档中
doc.setFontSettings(fontSettings);
// 将文档转换为 PDF
doc.save("output.pdf");
```
这样可以确保在转换时使用指定的字体文件,从而避免韩语乱码问题。
相关问题
com.aspose.words中docx转pdf设置字体
在使用Aspose.Words将DOCX文档转换为PDF时,可以使用以下代码设置字体:
```java
// 加载DOCX文档
Document doc = new Document("input.docx");
// 创建PDF的Options对象
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
// 设置嵌入字体
pdfSaveOptions.setEmbedFullFonts(true);
// 设置字体子集化
pdfSaveOptions.setSubsetFonts(true);
// 设置嵌入的字体格式
pdfSaveOptions.setEmbedStandardWindowsFonts(true);
// 设置PDF的输出路径
pdfSaveOptions.setSaveFormat(SaveFormat.PDF);
doc.save("output.pdf", pdfSaveOptions);
```
在这个例子中,我们创建了一个`PdfSaveOptions`对象并设置了字体的相关选项。`setEmbedFullFonts`方法指定是否嵌入完整字体集,`setSubsetFonts`方法指定是否启用字体子集化,`setEmbedStandardWindowsFonts`方法指定是否嵌入标准Windows字体。最后,我们将PDF的保存格式设置为`PDF`并将其保存到指定的输出路径中。
com.aspose.words中docx转pdf,生成的pdf字体错乱
出现字体错乱的原因可能是因为在转换过程中缺少相关字体文件或者字体文件未正确引用。您可以尝试以下解决方案:
1. 确认系统中安装了需要的字体,如果没有,可以手动下载相关字体并安装。
2. 在代码中指定字体路径,让Aspose.Words能够正确引用字体文件。示例代码如下:
```java
// 加载字体
String fontPath = "/usr/share/fonts/chinese/TrueType/simhei.ttf";
FontsLoader.loadExternalFonts(new String[] { fontPath });
// 转换文档到PDF
Document doc = new Document("input.docx");
doc.save("output.pdf");
```
3. 如果您使用的是较老版本的Aspose.Words,可以尝试升级到最新版本,因为新版本通常会修复一些字体转换方面的问题。
4. 最后,您也可以考虑将docx文件先转换成HTML或XPS格式,然后再使用Aspose.Pdf将其转换成PDF文件。这种方式可能比直接将docx转换成PDF更容易实现字体正确显示。
阅读全文