AFP в Java Eclipse

Я искал несколько дней, чтобы найти способ прочитать файл Advanced Function Presentation, чтобы он выводил на консоль некоторую информацию о файле (например, сколько документов, сколько страниц в документе...),

Я успешно прочитал номер байта файла AFP.

public static void main(String[] args) {
  String filename = "xxx.afp";
  try {
    DataInputStream in = new DataInputStream(
                           new BufferedInputStream(
                             new FileInputStream(filename))))
    System.out.println(in.read());
  }
}

Заранее спасибо!

2 ответа

Вы смотрели на AFP Renderer?

Если это не делает то, что вы хотите, то я боюсь, что вам нужно будет прочитать спецификации, которые вы можете получить, следуя этим инструкциям.

Объекты в файле AFP помечены так называемыми триплетами. Вы можете думать о них как о 3-х буквенных мнемониках. Обычно они имеют разделители "начало" и "конец" для соответствующих объектов. Триплеты вводятся последовательностью байтов, привлекающей внимание, 0x5A, если я правильно помню (для проверки).

Таким образом, для подсчета страниц вы должны пройти через свой DataInputStream и посчитать вхождения триплета "начальная страница". Если вы хотите быть очень точным, попробуйте сопоставить их с триплетом "конечная страница". Специфичные для триплета шестнадцатеричные значения проверяются в спецификации.

Доступны также коммерческие SDK.

Другие вопросы по тегам