java - 从 AFP 文件中的字体模式 (FNG) 获取文本

标签 java afp

任何人都可以帮助从 AFP 文件的“字体模式 (FNG)”字段获取文本。是否有任何库(最好是 Java)可以用于此任务?

谢谢,

最佳答案

您可以尝试afplib 。它有一些转储所有结构化字段的示例代码(org.afplib.samples.DumpAFP)。它产生如下输出:

...
FNG  number:47,offset:49787,id:13889161,length:8201,rawData:null,charset:null,PatData:[B@4e3958e7,
FNG  number:48,offset:57988,id:13889161,length:8201,rawData:null,charset:null,PatData:[B@77f80c04,
FNG  number:49,offset:66189,id:13889161,length:8201,rawData:null,charset:null,PatData:[B@1dac5ef,
FNG  number:50,offset:74390,id:13889161,length:6991,rawData:null,charset:null,PatData:[B@5c90e579,
EFN  number:51,offset:81381,id:13871497,length:17,rawData:null,charset:null,RSName:C0EX0480,

您可以使用二进制数组 PatData 来提取字体模式,如下所示:

    try (AfpInputStream in = new AfpInputStream(
        new BufferedInputStream(new FileInputStream(args[0])))) {

        SF sf;
        while((sf = in.readStructuredField()) != null) {
            if(sf instanceof FNG) {
                byte[] pattern = ((FNG)sf).getPatData();
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

关于java - 从 AFP 文件中的字体模式 (FNG) 获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57664906/

相关文章:

java - Java 中需要 Iterator 类吗?

java - 如何使用 skyepub 读取 epub 文件?

Java:选定行的索引在排序时不会改变

java - 将动态数据传递到 servlet 中的哈希表

java - @Transactional 处理 Spring 中的任何异常

java - Apache FOP AFP 到 XML 的转换

macos - 如何使用 AFP 将 Windows 客户端连接到 OSX 服务器

iphone - 从 iPhone 访问 AFP 共享?