如何获取pdf中的字体,和如何设置pdf转换时的字体库?

  1. 我想获取到pdf文档的所有字体
  2. 我想指定字体库(这里的字体库是一个文件夹路径)

@felix0

要获取PDF文档中的所有字体,您可以使用Aspose.PDF库中的FontUtilities类。以下是获取PDF中所有字体的步骤:

  1. 加载PDF文档:首先,您需要加载要处理的PDF文档。
  2. 使用FontUtilities类:通过FontUtilities类的getAllFonts方法获取文档中的所有字体。

以下是一个示例代码,展示如何实现这一过程:

import com.aspose.pdf.Document;
import com.aspose.pdf.Font;
import com.aspose.pdf.FontUtilities;

public class GetFontsFromPdf {
    public static void main(String[] args) {
        // 加载PDF文档
        Document pdfDocument = new Document("input.pdf");

        // 获取所有字体
        Font[] fonts = FontUtilities.getAllFonts(pdfDocument);
        
        // 打印字体信息
        for (Font font : fonts) {
            System.out.println("Font Name: " + font.getFontName());
            System.out.println("Font Type: " + font.getFontType());
        }
    }
}

关于设置PDF转换时的字体库,您可以使用Aspose.PDF的PdfSaveOptions类来指定默认字体。以下是设置默认字体的步骤:

  1. 创建PdfSaveOptions对象:在保存PDF时,您可以创建一个PdfSaveOptions对象。
  2. 设置默认字体:使用setDefaultFont方法指定所需的字体。

以下是示例代码:

import com.aspose.pdf.Document;
import com.aspose.pdf.PdfSaveOptions;

public class SetDefaultFont {
    public static void main(String[] args) {
        // 加载PDF文档
        Document pdfDocument = new Document("input.pdf");

        // 创建PdfSaveOptions对象
        PdfSaveOptions saveOptions = new PdfSaveOptions();
        
        // 设置默认字体
        saveOptions.setDefaultFont("Arial");

        // 保存PDF文档
        pdfDocument.save("output.pdf", saveOptions);
    }
}

通过以上代码,您可以获取PDF中的所有字体,并在转换时指定所需的字体库。希望这些信息对您有所帮助!