サイトマップ

▼ サイトの紹介

このサイトはExcel VBAから、Acrobat  アプリケーションをプログラミング操作するOLE機能について解説しています。

Adobe社はこのOLE機能の事を「IAC」と表現しています。

(注意:Adobe Readerだけでは使用出来ません)

Adobe社提供のSDK資料を元にサンプルを加えて説明をしています。

サイト管理人もご覧下さい。

▼ 当サイトの使い方

当サイトをうまく使う上での手順を以下に示します。

  1. 最初に「Acrobat SDK:OLE objects and methods図を入手する」にあるオブジェクト連携図を手に入れます。出来れば印刷する方が見やすいです。1頁です。
  2. 下記の「Excel」、「Acrobat」、「ダウンロード」、「SDK」、「備考」にサッと目を通します。「その他&メモ」は特に見なくてもイイです。
  3. 自分が目的とする処理を探しながら、印刷したオブジェクト連携図を元にサイト記「Object & List」下を上からクリックしてザックリと内容を見ます。各オブジェクトのメソッドの詳細は後にして全体で何が出来て、何が出来ない(サポートされていない)かを把握します。
    Acobat OLE 以外の選択」も見て下さい。
  4. 目的が解決出来ない時は、キッパリとあきらめてAdobe社の日本語「Acrobatフォーラムで相談します。当サイトより質が高い。
  5. それでもダメなら、当サイトにコメントを入れてみます。サイト管理人がある程度、判る範囲でお答えをします。
    (お願い:管理人を「様」での呼び方はご遠慮下さい。管理人さん、で十分です。)

▼ Excel

  1. Excel からAcrobatを操作する訳
  2. Excel から PDFファイル を作成&操作出来る
  3. Excel のオブジェクトブラウザ
  4. Excel からAcrobatを起動する
  5. Excel からPDFファイルを起動表示する
  6. Excel サンプル:PDFの文書プロパティを表示する
  7. 上記7のサンプルファイルの実行エラー
  8. Excel VBA 実行エラー時のメッセージ
  1. Excel でOLEの参照設定をする
  2. Excel でOLEの参照設定をする (AFormAut の追加)
  3. Excel でOLEの参照設定をする (Stream の追加)
  4. Excel でOLEの参照設定をする (MSXMLの追加)

▼ Acrobat

  1. Acrobat SDK:OLE objects and methods図を入手する
    ここで示す図は必ず入手する必要があります。
    これが無いとオブジェクト連携が判らなく、OLE(IAC)操作が出来ません。
  2. Acrobatアプリケーションを閉じる(実は簡単に出来ない)
  3. Acrobat OLEのエラーを防ぐVBAロジック
  4. Acrobat OLE 使用上の注意事項
  5. Acrobatプログラミングにおける技術上の制約やライセンス上の制約
  6. PDFファイルを作成、及び操作する開発者に対しての注意事項
  7. Windows のコマンドラインから Acrobat や Adobe Reader を使用して印刷する方法
  8. PDFドキュメントの文書フラグとは
  9. PDF バージョンとは
  10. PDFバージョンの変化
  11. ExportTask.xml
  12. 一括で複数ファイルを処理(アクション、バッチ処理)
  13. PDF の3つのパスワード
  14. PDFのパスワードは32文字まで
  15. 印刷の問題点を解決
  16. PDF内での座標の起点
  17. Acrobatとレジストリ
  18. PDF上のテキストとその座標

▼ ダウンロード

  1. 各種サンプルのダウンロード
  2. Adobe Acrobat 9.1 SDK のダウンロード
    SDKをダウンロードしてサンプル、解説PDF,HTML等を入手する必要があります。
    Adobe Acrobat X SDK のダウンロード情報も入ってます。
  3. Adobe Acrobat 8.1 SDK のダウンロード
    この 8.1 バージョンのSDKは現時点(2013/10/03)で一般公開されてません。
    情報が入り次第、掲載します。
  4. Acrobat製品別ダウンロード先 URL
  5. AcroPDFLib.AxAcroPDF:Excel VBAサンプル(A)
  6. AcroPDFLib.AxAcroPDF:Excel VBAサンプル(B)
  7. Adobe Readerの各種バージョンのダウンロード

▼ SDK

  1. AcrobatプログラミングにおけるMenu and Toolbar Button Names 一覧
  2. PDDocのGetJsObjectのオブジェクト構造図が見当たらない
  3. Acrobat SDK:正誤表
    Acrobat SDK v8.1ドキュメントに記載ミスが有ります。
  4. Acrobatに関するSDKが Acrobat Developer Center からダウンロード出来ます。
  5. Acrobat JavaScript における「Safe Path:セーフパス」についての注意事項
  6. Acrobat SDK公開Webサイト URLの取得方法

▼ 備考

  1. JavaScriptの解説はAcrobat v7 v8 共に英語版です。しかし、旧バージョンですがコメントを頂いた方から日本語版のAcrobat JavaScript解説PDFが見つかりました。以下がそのPDFです。
    http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf
  2. [2009/1/7] AcroExch.AVDoc:Open メソッド でバグ?を発見しました。Acrobat v8.1.3 v9.0が対象です。

 

▼ その他&メモ

  1. OCR機能:読んde!ココと比較した結果
  2. アドビ(Adobe)製品に関するRSSの情報
  3. 添付ファイルの扱いには注意が必要
  4. AcrobatはPDF作成ソフトの標準では無くなる?
  5. Acrobat PDF は国際標準化された
  6. 手書きPDF入門」 リンク
  7. planet pdf (PDF関連の英語サイト) リンク
  8. デフォルトプリンタを一時的に変更する方法
  9. Delphi(デルファイ,デルフィ)言語からの使用方法
  10. Acrobat使用時のレジストリ変化を取得する方法
  11. オブジェクトは値では無く、参照情報を持つ
  12. Adobe Reader で PDF ファイルを表示 / 印刷する方法
  13. サンプル:RGB値の一覧(カラー番号)
  14. 「・・このバージョンの Acrobat ではサポートされていない新しい形式・・」警告メッセージへの対応

▼日本語の資料

日本語版で公開されている技術情報が非常に少なく、また対応バージョンも古く、作成年度も古いのが多いです。しかし、PDF 又はAcrobat のエンジニア向けの基本的な技術はこの10年間はそれ程進歩していません。よって思った以上に使える事に気がつくはずです。

公開されている情報は今後消滅すると予想されます。必要な情報はバックアップする事をお勧めします。

▼ Acrobat SDK 関連

  1. Acrobat JavaScript Object Specification バージョン 5.0.5
    テクニカルノート# 5186 改訂日:2001年9月14日
    (297頁) Acrobat 5.0 JavaScript リファレンスマニュアル。
    PDF ドキュメントでJavaScript を使用するために必要なすべての情報。
    ※2018/10 リンク先は消滅しました。
  2. Developing Acrobat Applications Using JavaScript
    Adobe Acrobat SDK バージョン 8.0

    (220頁) JavaScript を使用してAdobe Acrobat での開発や拡張したりする方法について
    説明したマニュアル。必読!
  3. JavaScript for Acrobat 3D Annotations API Reference
    Adobe Acrobat SDK 2007年4月バージョン 8.1

    (105頁) 3D 機能(3D注釈のJavaScript API)をユーザに提供したい開発者を対象にしたマニュアル
  4. Parameters for Opening PDF Files(日本語版)
    Adobe Acrobat SDK Version 8.1 April 2007

    (8頁) PDF ファイルをURL やコマンドの中で開く際に使用できるパラメータについて説明したマニュアル
  5. Adobe Acrobat Workshop
    (78頁) Acrobat 7.0 JavaScript、API、IAC等の開発環境に関する概念の説明図
  6. Adobe Acrobat 7.0 Acrobat JavaScript Scripting Guide 2005年1月7日
    (276頁) Acrobat JavaScript を使用して開発したり拡張したりする方法について簡単に説明ししたもの
  7. Programming Acrobat JavaScript Using Visual Basic
    Technical Note #5417 バージョン:Acrobat 6.0 2003年5月

    (14頁) Acrobat 6.0 提供のJSObject と言うOLE オートメーション機能のプログラミング環境に関しての概念を説明したもの
  8. Acrobat JavaScript Scripting Guide
    Technical Note #5430 バージョン:Acrobat 6.0 2003年5月

    (90頁) Acrobat 6 Pro に搭載されている JavaScript 開発環境を使用して Acrobat アプリケーションを開発したり拡張したりする方法を簡単にまとめたもの
  9. Upgrading Plug-ins From Acrobat 5 to Acrobat 6
    Technical Note #5424 バージョン:Acrobat 6.0 2003年7月

    (28頁) Acrobat 6 API の概要を説明し、Acrobat 5 およびそれ以前のプラグインを Acrobat 6 にアップグレードする際に開発者が理解しておくべきことについて説明したマニュアル
  10. Adobe® Solutions Network Developer Program FAQ for Members
    Version 3.0 MAY 2002

    (461頁) ASNディベロッパーサポートプログラム会員から頂いたAcrobat Plug-in API,IAC,Readerに関する質問を整理した情報
  11. Acrobat Developer FAQ
    Adobe Developer Relations 改定:1999年9月2日

    (37頁) 質問および回答形式を整理した情報
  12. Parameters for Opening PDF Files(日本語版)
    Adobe Acrobat SDK Version 8.1 April 2007

    (24頁) Acrobat SDK でよくある質問と回答を整理したもの
  13. Adobe Acrobat 7.0 Acrobat SDK ユーザガイド 2004年12月14日
    (124頁) Acrobat SDKで提供されている機能、Acrobatで提供されている機能とその操作説明等
  14. JavaScript for Acrobat API Reference
    Adobe Acrobat SDK バージョン 8.0

    (765頁) Acrobat JavaScript の詳細な解説書/リファレンス

▼ Acrobat 一般資料

  1. Adobe Acrobat Security ディベロッパーサポート 2005年4月7日
    (43頁) Acrobat 7.0 の各種セキュリティに関する概念

管理人の独り言

  • 2010/4/26 「Appメソッド一覧」移行完了。かなり見直したので、結構解説が難しくなってしまったかも・・。全部の移行が完了したら、再度見直す事にして、次に行きます。
  • 2010/5/14 データの移行と再リンクが終わりました(汗)。サイトマップの構成も少し見直して・・。後は見直し(リニューアル)する必要有り。OLE(IAC)の全貌が判った時点で細かい部分の追加が必要となった。各頁にかなりの追加と再テストが必要だが既に環境は出来あがっている。本当の踏ん張ると事はココからかもしれない。
  • 2010/5/18 Appオブジェクトの移行が完了しました。
  • 2012/11/12 AFormAut オブジェクトが IAC に含まれていない盲点に orz
  • 2013/10/14 JavaScriptAPIと言う当サイト独自の表現を JSObject と本来の表現に変更する。
  • 2015/5/9 サイトのレイアウトを変更。

▼ Acobat OLE 以外の選択

Adobe Acrobat OLE(IAC)以外で、PDFファイルをプログラミング操作する情報を以下に提供します。

VBA の Shell 関数(又はWscriptのExec関数)で起動する事により、IACには無い機能で複数ファイルの自動化処理が可能だと思われます。

  1. Qpdf
    PDF をコマンドラインで操作するツール
    セキュリティ(パスワード)の設定が出来る!
  2. Poppler
    PDF をコマンドラインで操作するツール
    Xpdf をペースした機能拡張版
    注意:公式サイトからはWin版EXEは配布されてません。
  3. pdf2htmlEX
    PDF をHTMLへ変換する高性能なツール
  4. Coherent PDF Command Line Tools
    非常に多機能なコマンドラインツール
    ライセンスに注意が必要
  5. Xpdf
    PDF をコマンドラインで操作するツール
    Popplerの旧バージョン。安定版。
  6. PDFtk *  ※検証予定(時期未定)
    PDF をコマンドラインで操作するツール  
  7. PDFill PDF Writer: PDF作成ツール
    コマンドラインの使用は有償版のみ。
    無償版と有償版。表示は英語。
  8. ★その他の各種ソフトとツール★
    各種のPDFソフトウェアを一覧でまとめたサイトです。
    たぶん、ココの情報が最新で内容も充実してると思われます。

[コメント入力] <-をクリックするとページの最後にコメント入力が出来ます。
名前(ニックネーム)は必須。メールアドレス(非表示)も必須ですが、適当で結構です。

【更新日:2019/06/05 (11版)】

「サイトマップ」への209件のフィードバック

  1. あや さんへ。

    以下を試して下さい。

    Dim j As Long

    Private Sub CommandButton1_Click()
    Dim lRet1 As Long
    Dim i As Long
    Dim TB(1, 2) As Variant

    TB(0, 0) = "C:\download.pdf"
    TB(0, 1) = 1
    TB(0, 2) = 2
    TB(1, 0) = "C:\download.pdf"
    TB(1, 1) = 5
    TB(1, 2) = 7

    Debug.Print Now()
    For i = 0 To 1
    lRet1 = funPDFPrintPage(TB(i, 0), TB(i, 1), TB(i, 2))
    For j = 0 To 200000
    DoEvents
    Next j

    Next i
    MsgBox "終了"
    End Sub

    Function funPDFPrintPage(filename As Variant, _
    lStart As Variant, _
    lEnd As Variant) As Boolean
    Dim lRet2 As Long

    '以下は無くてもいいみたい
    lRet2 = AcroPDF1.LoadFile(filename)
    '以下は必須命令
    AcroPDF1.src = filename

    For j = 0 To 200000
    DoEvents
    Next j

    AcroPDF1.printPages lStart, lEnd
    '★最初の頁に戻す ※ポインター頁?が存在するのか?
    AcroPDF1.gotoFirstPage

    ' Debug.Print lRet2
    End Function

    上記の「AcroPDF1.gotoFirstPage」がミソ?です。
    ひょっとしたらカレント頁なるポインター情報みたいなモノを持っていて
    それがジャマをするのではないかと、勝手に推測しました。

    Sleepを使わずに「Doevents」で十分にCPUをOSに与えます。
    それでもっと印刷へのスプールをOSにさせます。

    Windows 7 64ビット+Adobe Reader 10.0+プリンター、環境でテスト成功しました。
    仮想のWinXP+Reader 7.1.4+プリンター無し、ではそれらしく動きました。

    「 AcroPDF1.LoadFile(filename)」をコメント(無効)にしたテスト結果もお願いします。

  2. 管理人さんの迅速な対応を頂いているのに、
    こちらの返信遅くてすみません。

    教えていただいたコードを実行したところ、
    「ファイルの最初に%PDF-がありません。」と出て

    OK

    「ファイルの最初に%PDF-がありません。」ともう一度出て

    OK

    実行時エラー -2147417948(80010108」)
    Printpagesメソッドは失敗しました。Iacroaxdooshimオブジェクト

    デバッグ

    (Functionの中の)
    AcroPdf.PrintePages istart,iend
    が黄色反転の状態です。

    ステップインで1行ずつ見ていくと、
    AcroPdf1.src=Filename
    のところで、「ファイルの最初に%PDF-がありません。」と出ています。

    「ファイルの最初に%PDF-がありません。」このエラーメッセージは
    どこかで見たのですが、そのときどう回避したのか思い出せていません。

    管理人さんに頂いたコードの理解と、
    上記のエラーメッセージの対処法を探っています。

    ひとまずの現状の報告とさせて頂きます。

    *インターネット使用パソコンとVBAを実行しているパソコンが別なため
     手入力で対応しております。
     見にくい書き方になってしまい、すみませんm(_ _)m

  3. 管理人さんありがとうございます。

    TB(0, 0) = “C:¥download.pdf”
    TB(1, 0) = “C:¥download.pdf”
    は問題なしです。

    回答としてずれているかもしれませんが…
    download.pdfファイルをダブルクリックで普通に開くと
    エラーなく開きます。

    AcroPDF1.LoadFile "C:\download.pdf"
    でも、VBAのフォーム上でエラーなく開いています。

    Dounroad.pdfのファイルはインターネットからダウンロードしてきたもので、
    一度Cドライブに保存しています。

    PDF をブラウザに表示にチェックは入っています。

  4. あや さんへ。

    download.pdf PDFファイルを一度Adobe Reader等で開くとそのPDFファイルにビジー(使用中)状態になって、別アプリ等でオープン出来ないことがタマ~にあります。
    これはAcrobat又はReaderアプリ側の問題です。
    このような時は再度OSを再起動する必要があります。
    ※Adobe社はこの手の情報は公開しません

    ・・昼なのでご飯を食べに行きます。(中断

  5. 頂いたコードは、こういう流れと理解しています。

    ファンクション呼び出し ---☆
    (C:\downroda.pdf,1,2)

     C:\Downroad.pdf を開く
     2秒間ウィンドウズに制御を戻す

    AcroPDF1.printpages 1,2を送る
     2秒間ウィンドウズに制御を戻す

    (c:\download.pdf,5,7) で☆から同じことをする

    ただ、
    「ファイルの最初に%PDF-がありません。」は
    パソコンの再起動をしても解消してくれません。

    バージョンアップの検討も伝えましたが、
    ただいまスルーされてます。

    以下は横道にそれますので、ご返答頂かなくても結構です。
    ファンクションを Iret1に入れるのと
    ACROPDF.loadfile(filename)をiret2に入れるのはなぜだろうと…
    VBAの知識はあまりないのですが、
    CALLで呼び出して使っていたのですが、
    それと同じことなのかな…

  6. あや さんへ。

    >「ファイルの最初に%PDF-がありません。」は

    の件は実際のパソコン環境を見ないと、分からないかも・・。(汗
    PDFファイルを置く場所をDドライブにして頂けませんか。
    Cドライブは「JavaScript(JavaScriptAPI)における「Safe Path」についての注意事項」の領域で、本当はPDFを置くには適さないドライブです。
    解決するとは思いませんが、やってみて下さい。
    それとそのメッセージでネット検索して解決方法を探しだす努力もお願いします。

    ExcelのVBAは基本的にCall形式で構いません。
    但し、lRet(戻り値)を使える場合もあります。
    VBA開発環境でF2 keyを押下すると「オブジェクトブラウザ」画面が表示されます。

    オブジェクト ブラウザ

    上記の画面はVBA開発環境で使う変数、関数、命令等の情報を全部教えてくれます。
    AcroPDFLibをリストから見ると

    Function LoadFile(fileName As String) As Boolean
    AcroPDFLib.AcroPDF のメンバ
    method LoadFile

    Property src As String
    AcroPDFLib.AcroPDF のメンバ
    property src

    Sub printPages(from As Long, to As Long)
    AcroPDFLib.AcroPDF のメンバ
    method printPages

    の情報が見れます。
    LoadFile はFunction関数なので戻り値(Boolean)が見れます。CallでもOKです。
    src はProperty で Stringなので、文字列の値の設定、取得が出来ます。
    printPages はSubなのでCall形式で呼び出します。戻り値は無し。
    と見れます。
    命令で使い方が分からない時に便利な画面です。
    VBA命令をキー入力している時に表示されるオートコンプリート機能(自動補完機能)を注意して見ていれば、この画面を見なくても判断が出来ます、ヨ。

  7. 管理人さん少々お久しぶりです。
    ご丁寧な指導有難うございました。

    結局、Readr Xにして対応しています。
    案の定希望はスルーされたので^^;
    唯一1台だけある自由なパソコンで
    作業しています。

    会社では、こちらのPDFのホームページが
    セキュリティ面で見れないため
    Excelのほうの質問掲示板で
    質問していこうと思っていますが
    わからないことがあればまた寄させてもらいます。

    いろいろとありがとうございましたm(_ _)m

  8. あや さんへ。

    ISO何たらカンタラ、で環境が厳しい会社なんですね。
    IPアドレスから、知っている会社だったりして。(汗

    お力に成れなくて残念です。

  9. 情報が少ない中 大変参考に成りました。
    ありがとうございます。

  10. AKIRA さん
    はじめまして
    少しでもご参考になれたら幸いです。

  11. 管理人さん

    ExcelのVBAでPDFのプロパティの「その他のメタデータ」、
    「フォーマット」の内容を取得したいのですが可能でしょうか。

    管理人サイトを参考に以下としてみましたがNGでした。

    Dim objAcroPDDoc as New Acrobat.AcroPDDoc
    IRet = objAcroPDDoc.Open("ファイル名")
    strGetFormat = objAcroPDDoc.GetInfo("Format")

  12. Aki さん
    はじめまして

    「フォーマット」とはプロパティ・「その他のメタデータ」の「dc:format」の事でしょうか。
    それならば、上記のスクリプトでは取得できません。
    更に当サイトで紹介しているOLEの機能でも取得は出来ません。
    但し逃げ手(裏ワザ)は有りますので以下に紹介します。

    PDFファイルの基本はテキストです。
    現在のPDFは一部にバイナリーが混在していますが、「dc:format」部分は今でもテキスト形式でPDF内部に存在します。
    試しにPDFをメモ帳以外のテキストエディタ(例:秀丸等)で開いて、文字列検索をして見てください。

    <dc:format>application/pdf</dc:format>

    みたいな形で存在することが判ります。

    VBAでこのPDFをファイルとして読み込みます。
    そして文字列として検索を行って、該当する文字列「<dc:format>」以降の文字列を取得すれば可能です。
    サンプル「関数:PDFのバージョンを取得する」を参考にして下さい。
    サンプルはテキストとして扱う前に、内部コードの関係で一旦バイナリーとして読み込み、それをコード変換してテキストとして扱っています。

    少しでもご参考になれば幸いです。

     

    <2014/11/25 10:44 追加>

    PDFファイル内によってはこの情報が複数存在する場合が有ります。
    原因としては最適化されてない場合みたいですが・・。
    最適化後にでも複数有る場合があります。(1つになる場合も有りますが)
    その場合は先に

    <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core

    の文字列を検索しておく必要が有りかもしれません。
    (注意:これだけでは不十分みたいで、別の条件も必要みたいです)

    OLEに最適化するメソッドが有るので、最適化後のPDFファイルの内容を読み込む事がベストかと思われます。

    逆に存在しない場合が見受けられます。
    その場合はデフォルト?の「application/pdf」になるとのではないかと、勝手に予測しています。

    上記はテストによる検証結果です。
    Adobe社によるSDK等の技術情報は見ていません。

  13. 管理人さん
    返信遅くなり申し訳有りません。
    教えて頂いた手順でプロパティ・「その他のメタデータ」の「dc:format」の情報を得ることができました。
    有難う御座いました。

  14. Aki さんへ
    出来ましたか・・・(汗

    実はその部分はかなり問題が有るように思えます。
    前の返答後にズ~~~ッと調査していたのですが、9割方の解決策を見つけました。
    それをコメントでお知らせするにはかなりのボリョームなので、サンプルを作成中です。
    何らかの形で1週間以内に公開しますので、その時にココのコメント見てください。
    公開URLを置いておきます。

    少しお待ち下さい。 m(_._)m

  15. 管理人さん
    調査続けて下さっていたのですね。有難う御座います。
    サンプルコードの公開、お待ちしています。よろしくお願いします。

  16. Aki さんへ

    以下にサンプルを公開しました。
    関数:PDFからメタデータ(XMP)を抽出する

    この後でもう少し説明を追加する予定です。
    サンプルコードの変更予定は無いので流用可能かと思います。
    サンプルExcelファイルのダウンロードも公開しました。
    メタデータのメーカ公開技術資料はあまりにも膨大なので、あまり見ていません。
    9割は実データを見て、勘で作成しました。(汗
    テストしやすいようにデバッグ・ルーチンもフラグで制御できます。

    参考時は不要部分を削除し、良~~~くテストして下さい。

  17. いつも大変参考にさせて頂いております。
    いきなりですが、罫線の情報(私が欲しいのは位置(座標))を取得する事はできるのでしょうか?

    例えば見積書のような罫線で区切られ、そのセルの中に文字があるといったようなPDFから文字を抜き出し、判定するというプログラムを作成していますが、罫線の情報さえ取得できれば幾分楽に作成できそうなんです。

    もしお分かりになられるようならお教えください。

  18. のぶ さん
    はじめまして

    かなりハードルの高い質問です。
    ざっと考えただけでは返答出来るような情報は無いです。
    少し時間(2~3日ぐらい)をください。
    裏ワザ?も含めて調べてみます。

    ※罫線は確かAnnotオブジェクトの一つのはずです。このオブジェクトに関するOLE操作の多くは不可解なエラー(動作)が存在します。機能も情報も少ないです。Annotオブジェクトを検索してType=罫線が取得できたら、そのオブジェクトを座標オブジェクトRectに連携する・・・、(フリーズ)。 OLE経由でAcrobat JavaScriptを実行して情報を取得する方法は・・・、(フリーズ)。

    遅くても6日(金曜)の朝までには返答します。(予定
    あまり期待しないでください。

  19. 管理人様
    ご返答ありがとうございます。

    >遅くても6日(金曜)の朝までには返答します。(予定
    現状として罫線の情報が無くても出来てはいるので、焦って頂くことはありません。

    お忙しい中お時間を頂戴するようなお願いをしてしまい申し訳ありません。。。

  20. のぶさんへ
    最初に結論から。分からないです。 m(_._;)m
    管理人のスキルでは調査の限界部分です。
    当サイトのOLEでは予測通り無理が有ります。

    そこでOLE経由のAcrobat JavaScriptで情報取得(ExecuteThisJavascript)を調査しましたが、Acrobat JavaScriptはいまだ未知の分野なので時間が許さない限り答えは出ないでしょう。※少しずつは覚えてきたのですが。

    罫線という表現はAcrobatには無く、線(Line)になります。
    また楕円、四角も有りますが、今回は線(Line)で調査させて頂きました。

    お力になれなくて残念です。


    以下は管理人の作業メモです。
    管理人以外は見なくて結構です。

    Acrobat 線のプロパティ

    何故かコンテナタグが「Artifact(アーティファクト)」となる。
    検索したキーワード「Acrobat コンテナタグ Artifact」で出たのは以下だけ。
    PDF4: PDF 文書の Artifact タグによって装飾的な画像をタグ構造から削除する
    「Acrobat Artifact」で検索しても英語サイトしか出ない。
    「PDF 線 座標 取得」それらしき情報無し。
    やっぱ、この手の情報は日本語サイトには無い。

    JavaScript™ for Acrobat® API Reference バージョン 8.0」より
    TypeプロパティでLine判定有り。
    Rect配列有り。

    Type 注釈のタイプの一覧
    Text :テキスト注釈
    FreeText :テキストボックス
    Line :線
    Square :長方形
    Circle :楕円
    Polygon :多角形
    PolyLine :折れ線
    Hightlight : ハイライト
    Underline : 下線
    Squiggly : 波形の注釈マーク
    StrikeOut : 取り消し線
    Stamp :スタンプ注釈
    Ink :※鉛筆注釈 ?
    FileAttachment :ファイル添付注釈
    Sound :音声注釈

    調査した箇所が間違っているかもしれない(汗

  21. 管理人様
    お時間割いて調査して頂き本当にありがとうございます。
    OLE経由でそのような事は無理っぽいんですね・・・

    いづれにせよ、本当にありがとうございました。

    == 以下作業メモを見てこちらで実施した内容 ==
    現段階で対象としているPDFを使用してTouchUpオブジェクトツールで罫線を選択

    プロパティを表示

    コンテナタグ等(全部?)がグレーアウト(Artifact等の文字すらなくグレー)
    「種類:」は{パス}と表記あり

    対象PDFに「ページの抽出・注釈」を許可しない制限があるせいか?

    Excel2010で保護していないPDFを作成

    保存されたPDFファイルで同様にプロパティを見る

    種類:パス
    コンテナタグ:段落
    構造タグ:スパン
    この際選んでいるのは「線」です

    という結果ですので、この辺りは出力するモノによって変わってしまう?かも??

  22. あっ・・・
    こちらの環境書いてありませんでした。

    Windows7
    Acrobat 9 Pro になります。

  23. のぶ さんへ

    1つの線を選択状態にする時は画面を拡大して行わないと複数の線等を選択してしまいます。
    その時のコンテナタブの内容は正確になりません。

    手書きPDF入門」にも書いてありますが、線等はPDF内部で座標情報を持っています。
    きっと Acrobat JavaScript に答えが有るとは思っています。
    ん~~、800頁のマニュアルをじっくりと理解する時間が無い。(悲

  24. はじめまして。最近PDFの仕事を始めたので大変参考になっています。
    指定フォルダ配下のPDFに作成者とタイトルを一括で設定するVBAもこちらのページを参照して作らせて頂き、非常に効率化が図れました。

    セキュリティーの解除はどのようにコードを書いたらよいかご存知でしょうか。もちろんパスワードは分かっているという前提で。
    SETINFOでどうにかなるものなのでしょうかね。

    納品物にパスワードを掛けるのですが、掛けた後で一括修正したいときなど一括で解除出来たらいいなと思い聞いてみました。

コメントを残す

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

CAPTCHA


★ 文章での質問は難しいですよネ。でも、早く解決して、家に帰りたい。


SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください