logo

Aspose.Words 转换为 PDF 时字体丢失的问题解决

作者:carzy2023.05.05 15:24浏览量:2685

简介:Aspose.Words 转换为 PDF 时字体丢失的问题解决

Aspose.Words 转换为 PDF 时字体丢失的问题解决

Aspose.Words 是一款强大的 Java 类库,用于将 Word、PPT、Excel 等文档转换为文本文件。在将 Word 文档转换为 PDF 时,可能会出现字体丢失的问题。这是因为 Word 文档中的字体被保存到了文件中,但是在转换为 PDF 时,字体信息被丢失了。

本文将介绍如何解决 Aspose.Words 转换为 PDF 时字体丢失的问题。

首先,我们需要确认 Aspose.Words 是否已经正确安装。可以通过在命令行中输入以下命令来查看安装情况:

  1. aspose-words version

如果安装成功,则应该能够在命令行中输入“aspose-words”命令并正确地打开类库。

接下来,我们将创建一个示例,演示如何将 Word 文档转换为 PDF 并保留字体信息。

  1. import com.aspose.words.Words;
  2. import com.aspose.words.Document;
  3. import com.aspose.words.Range;
  4. import com.aspose.words.Paragraph;
  5. import com.aspose.words.Table;
  6. public class WordToPdfConverter {
  7. public static void main(String[] args) throws Exception {
  8. // 打开 Word 文档
  9. Words words = new Words();
  10. Document document = words.getWorkbook("example.docx");
  11. // 获取文档中的表格
  12. Table table = document.getTables().get(0);
  13. // 创建 PDF 文档
  14. Range range = new Range(table.getRange());
  15. Document pdf = words.createDocument(range);
  16. // 设置 PDF 文档的字体
  17. pdf.addPage();
  18. pdf.addText("Hello, world!");
  19. pdf.addText("This is a test document.");
  20. pdf.addText("Arial", "Times New Roman");
  21. // 保存 PDF 文档
  22. pdf.save("example.pdf");
  23. }
  24. }

在上面的代码中,我们首先使用 Aspose.Words 的 getWorkbook 方法打开 Word 文档。然后,我们获取了文档中的表格,并使用 Aspose.Words 的 createDocument 方法创建了一个 PDF 文档。接着,我们使用 PDF 文档的 addText 方法向文档中添加了三个文本,分别使用不同的字体。最后,我们使用 PDF 文档的 save 方法将 PDF 文档保存到磁盘上。

在运行上面的代码后,如果你的 Word 文档中包含中文字体,那么在转换为 PDF 时,这些字体信息将被保留。但是,如果文档中包含西文字体,那么这些字体信息将不会被保留。

如果你想保留文档中的所有字体信息,可以使用 Aspose.Words 的 addText 方法的第二个参数指定字体类型。例如:

```java
pdf.addText(“Hello, world!”);
pdf.addText(“This is a test document.”);
pdf.addText(“Arial”, “Times New Roman”);
pdf.addText(“Arial”, “DejaVu Sans Mono”

相关文章推荐

发表评论