Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

アノテーション JSON API

このドキュメントでは、annotations.json ファイルの構造について説明します。BuildVu でアノテーションがどのように動作するかについての詳細は、BuildVu でアノテーションはどのように動作しますか? をお読みください。

アノテーションの読み込みと表示のためのシンプルな実装 を提供しており、これは IDRViewer 内で使用されています。この実装をそのまま使用したり、参考にしたり、独自のカスタムソリューションの基礎として利用することができます。

基本構造:

{
    "pages": [{
            "page": 1,
            "annotations": [{
                    "type": "Highlight",
                    "bounds": [0, 0, 100, 100],
                    "objref": "255", (optional)
                    "contents": "contents value", (optional)
                    "appearance": "1/annots/255.png" (optional)
                }
            ]
        }
    ]
}

アノテーションタイプ ("type"): Text、Link、FreeText、Line、Square、Circle、Polygon、PolyLine、Highlight、Underline、Squiggly、StrikeOut、Stamp、Caret、Ink、FileAttachment、Sound、Movie、Widget、Screen、PrinterMark、TrapNet、Watermark、3D、Projection、RichMedia、Screen、TextLink

境界 ("bounds"): [x, y, width, height] の形式で提供され、原点は左上です。

オブジェクト参照 ("objref"): PDF ファイル内のアノテーションのオブジェクト参照です。以下の2つの状況では、オブジェクト参照は利用できません:

  1. アノテーションがインライン配列を使用して定義されているまれなケース。
  2. PDF ファイルから検出されたリンクから TextLink アノテーションが生成された場合。

内容 ("contents"): 通常、ポップアップアノテーションのプレーンテキスト内容、またはアノテーションの説明(提供されている場合)です。

外観 ("appearance"): ’normal’ 状態の外観(AP)ストリームのラスタライズされたバージョン(AP 辞書が提供されている場合)。

タイプ固有の値:

ポップアップタイプ (Text、Line、Square、Circle、Polygon、PolyLine、Highlight、Underline、Squiggly、StrikeOut、Stamp、Caret、Ink、FileAttachment、Redact、Projection):

{
    "type": "Highlight",
    "bounds": [0, 0, 100, 100],
    "objref": "255", (optional)
    "title": "title value", (optional)
    "contents": "contents value", (optional)
    "appearance": "1/annots/255.png" (optional)
}

リンクタイプ (Link、TextLink、Widget):

{
    "type": "Link",
    "bounds": [0, 0, 100, 100],
    "objref": "255", (optional)
    "title": "title value", (optional)
    "contents": "contents value", (optional)
    "action": { }, (optional)
    "appearance": "1/annots/255.png" (optional)
}

アクションタイプ: URI、GoTo、Named、Sound

アクション固有の値:

URI:

"action": {
    "type": "URI",
    "uri": "https://www.example.com"
}

GoTo:

"action": {
    "type": "GoTo",
    "page": 1
}

Named:

"action": {
    "type": "Named",
    "name": "NextPage"
}

名前のタイプ: NextPage、PrevPage、FirstPage、LastPage

Launch:

"action": {
    "type": "Launch",
    "target": "executable/or/file/path.pdf"
}

Sound:

"action": {
    "type": "Sound",
    "sound": "path/to/sound.wav"
}

FileAttachment:

{
    "type": "FileAttachment",
    "bounds": [0, 0, 100, 100],
    "objref": "255", (optional)
    "title": "title value", (optional)
    "contents": "contents value", (optional)
    "attachment": "path/to/file",
    "filename": "attachment.pdf",
    "appearance": "1/annots/255.png" (optional)
}

RichMedia:

{
    "type": "RichMedia",
    "bounds": [0, 0, 100, 100],
    "objref": "255", (optional)
    "contents": "contents value", (optional)
    "richmedia": [{
        "src": "path/to/media.mp4",
        "type": "video/mp4"
    }],
    "appearance": "1/annots/255.png" (optional)
}

サポートされている動画タイプ: m4v、mov、mp4 (video/mp4)

サポートされている音声タイプ: mp3 (audio/mpeg)

Screen:

{
    "type": "Screen",
    "bounds": [0, 0, 100, 100],
    "objref": "255", (optional)
    "action": {
        "type": "Rendition",
        "media": {
          "src": "path/to/media.mp4",
          "type": "video/mp4",
          "filename": "named-media.mp4" (optional)
        }
    },
    "appearance": "1/annots/255.png" (optional)
}

サポートされているメディアタイプ: mp4 (video/mp4)、mp3 (audio/mpeg)

Sound:

{
    "type": "Sound",
    "bounds": [0, 0, 100, 100],
    "objref": "255", (optional)
    "title": "title value", (optional)
    "contents": "contents value", (optional)
    "sound": "path/to/sound.wav",
    "appearance": "1/annots/255.png" (optional)
}

サポートされているメディアタイプ: wav