PDF/JavaScript:サンプル「画像PDFの確認をする」

TOP > サンプル / 関数 > *      [...]


説明

PDF ファイルが画像だけか、検索できるテキストが存在するかをチェックする。

以下にJSObject を使用したサンプルを示す。

 

サンプル

 

Sub CommandButton20_Click()
    Dim objAcroApp As New Acrobat.AcroApp
    Dim objAcroAVDoc As New Acrobat.AcroAVDoc
    Dim objAcroPDDoc As Acrobat.AcroPDDoc
    Dim lRet As Long
    Dim jso As Object

    'Acrobatアプリケーションを起動する。
    lRet = objAcroApp.Show
    'PDFファイルを開いて表示する。
    lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
    'PDDocオブジェクトを取得する
    Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
    'JavaScriptオブジェクトを作成する。
    Set jso = objAcroPDDoc.GetJSObject

    Dim lPage As Long
    Dim i As Long
    Dim strWord As String
    Dim bFlg_TextFound As Boolean

    '初期化
    bFlg_TextFound = False
    lPage = 0
    'チェック
    If Not jso Is Nothing Then
        'JavaScriptオブジェクトは作成出来た。
        Do While lPage < jso.numpages
            'Debug.Print "jso.numpages=" & jso.numpages
            For i = 1 To jso.getPageNumWords(lPage)
                strWord = jso.getPageNthWord(lPage, i, True)
                'Debug.Print "(" & strWord & ")"
                'テキストは存在するか?
                If strWord <> "" Then
                    'テキストが存在した。
                    bFlg_TextFound = True
                    Exit For
               End If
        Next i
        If bFlg_TextFound = True Then Exit Do
        lPage = lPage + 1
        Loop
    End If

    'PDFファイルを閉じます。
    lRet = objAcroAVDoc.Close(1)
    'Acrobatアプリケーションを終了する。
    lRet = objAcroApp.Hide
    lRet = objAcroApp.Exit
    If bFlg_TextFound = True Then
        MsgBox "PDFファイル内にテキストが存在する。"
    Else
        MsgBox "PDFファイル内にテキストが存在しない。"
    End If
End Sub

 





補足

  • 上記サンプルは余分なロジックが入っている。
    それは、jso.getPageNumWords(lPage)の値が1以上ならばその頁にテキスト文字が存在する事になる。
    よって、Do While 内だけを
     
    IF jso.getPageNumWords(lPage) > 0 Then
        'テキストが存在した。
        bFlg_TextFound = True
        Exit Do
    End If
    lPage = lPage + 1 '※これが無いとループする
      
    というロジックにしても良い。

 

動作確認環境

  • WindowsXP Pro + SP2 + フルWindowsUpdate +
    Acrobat 7.0.9 Pro + Office 2003

 

戻る

「PDF/JavaScript:サンプル「画像PDFの確認をする」」への3件のフィードバック

  1. こんにちは。
    たびたび質問します。
    PDF内にテキストがあるのはサンプルで確認できたのですが
    画像とその画像の高さって求めれますか?
    PDFをメモ帳でひらくとXObject に Heightがあります。
    これが「1」となっているXObjectを削除したいと思ってます。

  2. 「画像とその画像の高さ」ですか?
    一応、再チェックしましたが、OLEにはその様な機能は有りません。
    Acrobat本体にその様な情報を表示する機能が無い場合、OLEにも無いと思ってください。
    PDFTKにもそんな機能があった記憶は無いです。
    iTextは今は全く手を付けていないので判りません。
    「XLSOFT : easyPDF SDK(市販ツール)」と「ABCpdf(市販ツール)」も、これまた全く未調査(理由:金が無い)なので判りません。
    一応気には留めておきます。
    スイマセンが、現段階では良い返事は出来ません。

コメントを残す

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

CAPTCHA


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


SAMURAI Plugin