AcroExch.PDAnnot: GetRect メソッド

TOP > AcroExch.PDAnnot > GetRect      [...]


説明

PDFページ上のテキスト注釈、又はPopup注釈の長方形位置(Top.Bottom,Left,Right)を得ます。

 

形式

LPDISPATCH GetRect();

 

引数

  1. 無し。

 

戻り値

  • AcroExch.Rectオブジェクトで長方形位置(Top.Bottom,Left,Right)が返される。

 

動作するバージョン

Version Adobe
Acrobat
備考
4
-
Acrobat 4.0    ※Windows 98SE + Excel 2000
5
-

Acrobat 5.0.5
6
-

Acrobat 6.0.3 Pro
7
-
Acrobat 7.0.9 Pro
Acrobat 7.1.4 Pro
8
OK
Acrobat 8.1.2 Pro
9
-
Acrobat 9.3.2 Extended
10
-
Acrobat X (10.1.8) Extended
11
-
Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。 戻り値が0を返す。
  • - = 未確認。

 






サンプル:ExcelのVBA

 

説明:PDFファイルの表紙ページのテキスト注釈、又はPopup注釈の長方形位置(Top.Bottom,Left,Right)を全部取得する。

  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。

 

Sub AcroExch_PDAnnot_GetRect()

    Debug.Print "TEST_PDAnnot_GetRect:" & Now
    Dim objAcroAVDoc        As New Acrobat.AcroAVDoc
    Dim objAcroPDDoc        As Acrobat.AcroPDDoc
    Dim objAcroPDPage       As Acrobat.AcroPDPage
    Dim objAcroPDAnnot      As Acrobat.AcroPDAnnot
    Dim objAcroRect         As Acrobat.AcroRect
    Dim lAnnotsCnt          As Long     '注釈数
    Dim lTextCnt            As Long     '件数
    Dim lRet                As Long     '戻り値
    Dim j                   As Long     '添え字

    lTextCnt = 0
    'PDFドキュメントを開いて表示する
    lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
    Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
    '表紙のページ・オブジェクトを得る
    Set objAcroPDPage = objAcroPDDoc.AcquirePage(0)
    'ページに存在する注釈数を得る ★注意①
    lAnnotsCnt = objAcroPDPage.GetNumAnnots() - 1
    Debug.Print "全注釈数=" & (lAnnotsCnt + 1)
    For j = 0 To lAnnotsCnt
        Set objAcroPDAnnot = objAcroPDPage.GetAnnot(j)
        If objAcroPDAnnot.GetSubtype = "Text" Or _
           objAcroPDAnnot.GetSubtype = "Popup" Then
            Debug.Print "(" & j & ")GetSubtype=" & _
                objAcroPDAnnot.GetSubtype
            Set objAcroRect = objAcroPDAnnot.GetRect
            With objAcroRect
                Debug.Print "(" & j & ")Top=" & .Top
                Debug.Print "(" & j & ")bottom=" & .bottom
                Debug.Print "(" & j & ")Left=" & .Left
                Debug.Print "(" & j & ")Right=" & .Right
            End With
            lTextCnt = lTextCnt + 1
        End If
    Next j
    Debug.Print "件数=" & lTextCnt
    
    'PDFファイルを保存しないで閉じる
    lRet = objAcroAVDoc.Close(1)
    'オブジェクトを強制解放する
    Set objAcroAVDoc = Nothing
    Set objAcroPDAnnot = Nothing
    Set objAcroPDPage = Nothing
    Set objAcroPDDoc = Nothing
    Set objAcroRect = Nothing

End Sub

 

実行結果

  

TEST_PDAnnot_GetRect:2008/08/06 9:32:15
全注釈数=4
(0)GetSubtype=Text
(0)Top=489 ※トップ
(0)bottom=471 ※下
(0)Left=118 ※左端
(0)Right=138 ※右端
(1)GetSubtype=Popup
(1)Top=568
(1)bottom=490
(1)Left=218
(1)Right=390
(2)GetSubtype=Text
(2)Top=392
(2)bottom=374
(2)Left=235
(2)Right=255
(3)GetSubtype=Popup
(3)Top=395
(3)bottom=317
(3)Left=289
(3)Right=461
件数=4

※下記はPDFビュアーの表紙ページの一部です。
上記Test画面が添え字=0、下記Popup画面が添え字=3の位置になります。

PDF表紙ページの注釈(Rect版)

 

補足

  • 「★注意①」の部分はよく動作不良を起こします。注意して下さい。今回は正常処理。
  • 下のPopup画面はText画面を閉じた後で、マウスカーソルを注釈アイコンの上に持って行くと表示されます。

 

動作確認環境

  • WindowsXP Pro(+ SP3) +
    Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate

 

戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

コメントをする時は最低でも以下をお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン