3

拡張機能プレゼンテーションファイルを読み込んで、ファイルに関する情報 (たとえば、ドキュメントの数、ドキュメントのページ数など) をコンソールに書き出す方法を見つける方法を何日も探していました。 .

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());
  }
}

前もって感謝します!

4

2 に答える 2

2

AFP Rendererを見たことがありますか?

これで期待どおりの結果が得られない場合は、残念ながら仕様を読む必要があります。仕様は、次の手順に従って取得できます。

于 2013-10-23T10:17:00.780 に答える
1

AFP ファイル内のオブジェクトは、いわゆるトリプレットによってタグ付けされます。それらは 3 文字のニーモニックのように考えることができます。通常、それぞれのオブジェクトには「開始」と「終了」の区切り文字があります。トリプレットは、私の記憶が正しければ (要確認)、目を引くバイト シーケンス 0x5A によって導入されます。

したがって、ページをカウントするには、DataInputStream を通過し、「ページ開始」トリプレットの出現をカウントする必要があります。非常に正確にしたい場合は、「エンドページ」トリプレットと一致させることができます。トリプレット固有の 16 進値は、仕様で確認する必要があります

利用可能な商用 SDKもあります。

于 2016-03-29T20:10:25.453 に答える