▼ サイトの紹介
このサイトはExcel VBAから、Acrobat アプリケーションをプログラミング操作するOLE機能について解説しています。
Adobe社はこのOLE機能の事を「IAC」と表現しています。
(注意:Adobe Readerだけでは使用出来ません)
Adobe社提供のSDK資料を元にサンプルを加えて説明をしています。
サイト管理人もご覧下さい。
▼ 当サイトの使い方
当サイトをうまく使う上での手順を以下に示します。
- 最初に「Acrobat SDK:OLE objects and methods図を入手する」にあるオブジェクト連携図を手に入れます。出来れば印刷する方が見やすいです。1頁です。
- 下記の「Excel」、「Acrobat」、「ダウンロード」、「SDK」、「備考」にサッと目を通します。「その他&メモ」は特に見なくてもイイです。
- 自分が目的とする処理を探しながら、印刷したオブジェクト連携図を元にサイト右記「Object & List」下を上からクリックしてザックリと内容を見ます。各オブジェクトのメソッドの詳細は後にして全体で何が出来て、何が出来ない(サポートされていない)かを把握します。
「Acobat OLE 以外の選択」も見て下さい。 - 目的が解決出来ない時は、キッパリとあきらめてAdobe社の日本語「Acrobatフォーラム」で相談します。当サイトより質が高い。
- それでもダメなら、当サイトにコメントを入れてみます。サイト管理人がある程度、判る範囲でお答えをします。
(お願い:管理人を「様」での呼び方はご遠慮下さい。管理人さん、で十分です。)
▼ Excel
- Excel からAcrobatを操作する訳
- Excel から PDFファイル を作成&操作出来る
- Excel のオブジェクトブラウザ
- Excel からAcrobatを起動する
- Excel からPDFファイルを起動表示する
- Excel サンプル:PDFの文書プロパティを表示する
- 上記7のサンプルファイルの実行エラー
- Excel VBA 実行エラー時のメッセージ
- Excel でOLEの参照設定をする
- Excel でOLEの参照設定をする (AFormAut の追加)
- Excel でOLEの参照設定をする (Stream の追加)
- Excel でOLEの参照設定をする (MSXMLの追加)
▼ Acrobat
- Acrobat SDK:OLE objects and methods図を入手する
ここで示す図は必ず入手する必要があります。
これが無いとオブジェクト連携が判らなく、OLE(IAC)操作が出来ません。 - Acrobatアプリケーションを閉じる(実は簡単に出来ない)
- Acrobat OLEのエラーを防ぐVBAロジック
- Acrobat OLE 使用上の注意事項
- Acrobatプログラミングにおける技術上の制約やライセンス上の制約
- PDFファイルを作成、及び操作する開発者に対しての注意事項
- Windows のコマンドラインから Acrobat や Adobe Reader を使用して印刷する方法
- PDFドキュメントの文書フラグとは
- PDF バージョンとは
- PDFバージョンの変化
- ExportTask.xml
- 一括で複数ファイルを処理(アクション、バッチ処理)
- PDF の3つのパスワード
- PDFのパスワードは32文字まで
- 印刷の問題点を解決
- PDF内での座標の起点
- Acrobatとレジストリ
- PDF上のテキストとその座標
▼ ダウンロード
- 各種サンプルのダウンロード
- Adobe Acrobat 9.1 SDK のダウンロード
SDKをダウンロードしてサンプル、解説PDF,HTML等を入手する必要があります。
Adobe Acrobat X SDK のダウンロード情報も入ってます。 - Adobe Acrobat 8.1 SDK のダウンロード
この 8.1 バージョンのSDKは現時点(2013/10/03)で一般公開されてません。
情報が入り次第、掲載します。 - Acrobat製品別ダウンロード先 URL
- AcroPDFLib.AxAcroPDF:Excel VBAサンプル(A)
- AcroPDFLib.AxAcroPDF:Excel VBAサンプル(B)
- Adobe Readerの各種バージョンのダウンロード
▼ SDK
- AcrobatプログラミングにおけるMenu and Toolbar Button Names 一覧
- PDDocのGetJsObjectのオブジェクト構造図が見当たらない
- Acrobat SDK:正誤表
Acrobat SDK v8.1ドキュメントに記載ミスが有ります。 - Acrobatに関するSDKが Acrobat Developer Center からダウンロード出来ます。
- Acrobat JavaScript における「Safe Path:セーフパス」についての注意事項
- Acrobat SDK公開Webサイト URLの取得方法
▼ 備考
- JavaScriptの解説はAcrobat v7 v8 共に英語版です。しかし、旧バージョンですがコメントを頂いた方から日本語版のAcrobat JavaScript解説PDFが見つかりました。以下がそのPDFです。
http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf - [2009/1/7] AcroExch.AVDoc:Open メソッド でバグ?を発見しました。Acrobat v8.1.3 v9.0が対象です。
▼ その他&メモ
- OCR機能:読んde!ココと比較した結果
- アドビ(Adobe)製品に関するRSSの情報
- 添付ファイルの扱いには注意が必要
- AcrobatはPDF作成ソフトの標準では無くなる?
- Acrobat PDF は国際標準化された
- 「手書きPDF入門」 リンク
- planet pdf (PDF関連の英語サイト) リンク
- デフォルトプリンタを一時的に変更する方法
- Delphi(デルファイ,デルフィ)言語からの使用方法
- Acrobat使用時のレジストリ変化を取得する方法
- オブジェクトは値では無く、参照情報を持つ
- Adobe Reader で PDF ファイルを表示 / 印刷する方法
- サンプル:RGB値の一覧(カラー番号)
- 「・・このバージョンの Acrobat ではサポートされていない新しい形式・・」警告メッセージへの対応
▼日本語の資料
日本語版で公開されている技術情報が非常に少なく、また対応バージョンも古く、作成年度も古いのが多いです。しかし、PDF 又はAcrobat のエンジニア向けの基本的な技術はこの10年間はそれ程進歩していません。よって思った以上に使える事に気がつくはずです。
公開されている情報は今後消滅すると予想されます。必要な情報はバックアップする事をお勧めします。
▼ Acrobat SDK 関連
Acrobat JavaScript Object Specification バージョン 5.0.5テクニカルノート# 5186 改訂日:2001年9月14日
(297頁) Acrobat 5.0 JavaScript リファレンスマニュアル。
PDF ドキュメントでJavaScript を使用するために必要なすべての情報。
※2018/10 リンク先は消滅しました。- Developing Acrobat Applications Using JavaScript
Adobe Acrobat SDK バージョン 8.0
(220頁) JavaScript を使用してAdobe Acrobat での開発や拡張したりする方法について
説明したマニュアル。必読! - JavaScript for Acrobat 3D Annotations API Reference
Adobe Acrobat SDK 2007年4月バージョン 8.1
(105頁) 3D 機能(3D注釈のJavaScript API)をユーザに提供したい開発者を対象にしたマニュアル - Parameters for Opening PDF Files(日本語版)
Adobe Acrobat SDK Version 8.1 April 2007
(8頁) PDF ファイルをURL やコマンドの中で開く際に使用できるパラメータについて説明したマニュアル - Adobe Acrobat Workshop
(78頁) Acrobat 7.0 JavaScript、API、IAC等の開発環境に関する概念の説明図 - Adobe Acrobat 7.0 Acrobat JavaScript Scripting Guide 2005年1月7日
(276頁) Acrobat JavaScript を使用して開発したり拡張したりする方法について簡単に説明ししたもの - Programming Acrobat JavaScript Using Visual Basic
Technical Note #5417 バージョン:Acrobat 6.0 2003年5月
(14頁) Acrobat 6.0 提供のJSObject と言うOLE オートメーション機能のプログラミング環境に関しての概念を説明したもの - Acrobat JavaScript Scripting Guide
Technical Note #5430 バージョン:Acrobat 6.0 2003年5月
(90頁) Acrobat 6 Pro に搭載されている JavaScript 開発環境を使用して Acrobat アプリケーションを開発したり拡張したりする方法を簡単にまとめたもの - 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 にアップグレードする際に開発者が理解しておくべきことについて説明したマニュアル - Adobe® Solutions Network Developer Program FAQ for Members
Version 3.0 MAY 2002
(461頁) ASNディベロッパーサポートプログラム会員から頂いたAcrobat Plug-in API,IAC,Readerに関する質問を整理した情報 - Acrobat Developer FAQ
Adobe Developer Relations 改定:1999年9月2日
(37頁) 質問および回答形式を整理した情報 - Parameters for Opening PDF Files(日本語版)
Adobe Acrobat SDK Version 8.1 April 2007
(24頁) Acrobat SDK でよくある質問と回答を整理したもの - Adobe Acrobat 7.0 Acrobat SDK ユーザガイド 2004年12月14日
(124頁) Acrobat SDKで提供されている機能、Acrobatで提供されている機能とその操作説明等 - JavaScript for Acrobat API Reference
Adobe Acrobat SDK バージョン 8.0
(765頁) Acrobat JavaScript の詳細な解説書/リファレンス
▼ Acrobat 一般資料
- 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には無い機能で複数ファイルの自動化処理が可能だと思われます。
- Qpdf
PDF をコマンドラインで操作するツール
セキュリティ(パスワード)の設定が出来る! - Poppler
PDF をコマンドラインで操作するツール
Xpdf をペースした機能拡張版
注意:公式サイトからはWin版EXEは配布されてません。 - pdf2htmlEX
PDF をHTMLへ変換する高性能なツール - Coherent PDF Command Line Tools
非常に多機能なコマンドラインツール
ライセンスに注意が必要 - Xpdf
PDF をコマンドラインで操作するツール
Popplerの旧バージョン。安定版。 - PDFtk * ※検証予定(時期未定)
PDF をコマンドラインで操作するツール - PDFill PDF Writer: PDF作成ツール
コマンドラインの使用は有償版のみ。
無償版と有償版。表示は英語。 - ★その他の各種ソフトとツール★
各種のPDFソフトウェアを一覧でまとめたサイトです。
たぶん、ココの情報が最新で内容も充実してると思われます。
[コメント入力] <-をクリックするとページの最後にコメント入力が出来ます。
名前(ニックネーム)は必須。メールアドレス(非表示)も必須ですが、適当で結構です。
【更新日:2019/06/05 (11版)】
show さん
はじめまして。
パスワード関連はOLEでの機能提供はありません。
しかし、サイトマップに書いてある、PDFTK 又はQPDF がコマンドラインでパスワードの解除、設定をサポートしています。
コマンドラインでの操作ですから、VBA等のプログラミングから一括変更が可能になります。
当サイトではこの2つの解説予定はしていますが、時間が無くて今だ未着手です。
PDFTKの方が日本語で解説しているサイトが多いので、コチラの方をオススメします。
解決につながれば幸いです。
管理人さん、初めまして
Acrobat アドビフォーラムに以下の内容の相談をしていますが1件の返信もなく困ってます。
もう語りつくされた周知の事実なのでしょうか?
まったく情報がなく困っています。知っていることがあれば教えて頂けないでしょうか?
<質問内容>
AcroPDFLibを利用してVB.NETでPDFビューアを開発しています。希望として右クリックによるメニューの表示やCTRL+Pによる印刷ダイアログの表示を止めたいのですが手段が 分かりません。不可能であればそれを示す資料等があれば別の手段を考えるのですがそのような情報はないでしょうか?
駒井 さん
はじめまして
以下がAcroPDFLibに関するAdobe社の技術公開ページです。
http://help.adobe.com/livedocs/acrobat_sdk/10/Acrobat10_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm
上記を開いたら、左側のメニューから
Acrobat Interapplication Communication > Interapplication Communication API Reference > OLE Automation > AxAcroPDFLib.AxAcroPDF
の順で開いていきます。
これが当サイトで見つけた唯一の技術資料です。
サンプルソースは
http://www.adobe.com/jp/devnet/acrobat/sdk/eula.html
から Agree and download Acrobat X SDK for Windows (ZIP, 52.2 MB(sdk100_v1_win.zip)をダウンロードします。
ZIPファイル内の \Acrobat 10 SDK\Version 1\InterAppCommunicationSupport\VBSamples\AcrobatActiveXVB\AcrobatActiveXVB フォルダにVB.NETのサンプルが有ります。
AcroPDFLibもOLEもそうですが、非常に古い技術です。
数年前からAcrobat本体のバージョンアップはあっても、この手のプログラミング技術のバージョンアップは無いです。(と言っても過言ではないです。)
理由は不明です。
公開資料も非常に不十分です。
当サイトはその数少ない資料を元にテスト結果で出したサイトです。
よって、ココ以上の情報が欲しければ、Adobe社の有償の技術サポート等を受けるしか手がないでしょう。多分ですが目が飛び出るほどのサポート料と勝手に予測しています。
他の人を見ると、PDF仕様書(英語版)を見て、PDFファイルをバイナリー操作してのが現状です。
多分、その様な事は望んで無いと受け取ってますので、上記で紹介したサイトの内容をご覧ください。
少しでも解決につながれば幸いです。
管理人さん
回答、誠にありがとうございました。
できないと判断するには十分です。
管理人さん、はじめまして。
このHPを参考にAcrobatを外部操作したいと考えています。
そのため、Acrobatの購入を検討し始めました。
AcrobatにはStandard版とPro版があるようなのですが、
このHPで紹介しておられる操作を行うには、Standard版で可能でしょうか?
それとも、Pro版の購入が必要になるのでしょうか?
よろしくお願いします。
ふじた さん
はじめまして
古いバージョン(Acrobat 9以前)ではPro版でないとOLE操作は出来ません。
それ以降のバージョン(Acrobat X , XI , DC)では未確認です。
但し、最近頂いたコメントで Acrobar DC ではStandard版でもOLEが使用できると言うコメントを頂き、少しですが動作確認をしたところ、一応動きました。
「一応」と書いたのは厳密な動作確認は出来なかったからです。体験版をAdobe社は公開していますが、Acrobat DCに関してはPro版のみしか体験版は公開してません。
Pro版なら確実に動作すると思いますが、Standard版は正確には不明です。
購入前ならAdobe社に問合せてみてはどうでしょうか。
http://www.adobe.com/jp/support/service_faq/before/
上記に購入前の問合せに関したサイトが有ります。
更に
https://helpx.adobe.com/jp/contact.html?step=APRO-APAP-APCC-ACRO-CPDF-ECHP-acrobat_deciding-what-to-buy_stillNeedHelp
を見ると、
電話(アドビストア / ご購入に関するお問い合わせもこちらから):
0120-61-3884
月曜~金曜の 9:30 - 20:00 (土日祝および当社指定休業日を除く)
と言うのが有りました。こちらの方がイイかもしれません。
解決につながれば幸いです。
※それと、結果を頂けると有難いです。(^_^;)
回答ありがとうございます。
あまりに回答が速くて驚きました。
購入相談に電話してみました。
OLE機能はStandard版もPro版も同じ機能が使用できるということでした。
「Acrobat DCプラン別機能比較」をもう一度確認してどちらにするか決めたいと思います。
ありがとうございました。
ふじた さんへ
結果を頂いて助かります。
早速、サイトに反映します。
管理人さん、はじめまして。
いろいろと調べているのですが、なかなか解決できない為、ご教授頂きたいのですが、複数ページのPDF内のテキストを1ページずつ読み取って、任意のソートキー(例えば郵便番号順)でVBAからAcrobatProを操作してPDFファイルのページの並び替えを行うことは可能でしょうか?
※こちらのサイトを参考にしてPDF内のテキストは読み取ることができています。
またAcrobatProとVBAでは不可能な場合、どのような環境でPDFのページの並べ替えが可能かをご教授頂けると大変有難いです。
たこし さん
はじめまして
「ページの並び替え」と言う機能そのものは無いです。ただし、並び替えに相当する機能を作ることは可能です。
以下は1つの例です。
① 対象のPDF(a)からページ番号と並び替えキー情報をVBA内で配列に持たせてVBAでその配列を並び替えする。
② 一時的に作業用にゼロ頁のPDF(wk)を作成。
例:AcroExch.PDDoc: Create メソッド
③ ①の並び替えた配列からページ番号を取り出し、元のPDF(a)から該当ページをPDF(wk)に順次追加していく。
例:ACROEXCH.PDDOC: INSERTPAGES メソッド
注意:このサンプルには問題点が有り!
④ 全て追加したら一旦、元のPDF(a)の全ページを削除する。
例:ACROEXCH.PDDOC: DELETEPAGES メソッド
⑤ PDF(wk)の全ページをゼロ頁のPDF(a)に追加する。
例:ACROEXCH.PDDOC: INSERTPAGES メソッド
⑥ PDF(a)を保存する。
例:ACROEXCH.PDDOC: SAVE メソッド
上記は作業用のPDF(wk)に並び替えたPDFを一時的に作ってしまいます。その内容を元のPDF(a)に戻すと言うやり方です。
PDF(wk)を最終的なPDFとして保存するには文書のプロパティに関する情報も更新しないといけません。文書のプロパティの更新に関してはまだ整理してなく、また結構厄介な部分が有ります。そこで文書のプロパティを変更しないで済む元のPDF(a)に並び替えた頁で一気に戻します。
それと③の処理は問題点が有ります。例の解説ページをよく見てください。この問題点に対処するにはもう一つ作業用のPDF(wk2)が必要になると思っています。VBAのロジックがその分だけ少し追加になりますが、それよりも処理速度が問題になるかもしれません。
処理速度を考える必要がある時は、コマンドラインツールのPDFtkやQPDFでも似たような処理が出来るはずですから、ご検討しても良いかと思います。このツールも並び替え機能は無いですが、挿入と削除ができるので上記と同様な考えでVBAからコントロール出来ると思っています。
処理時間、メンテナンス性、開発期間、ライセンス(フリーはダメ等)によってもやり方は変わると思います。
ご参考になれば幸いです。
ご教授頂きましてありがとうございました。
大変参考になりました。
教えて頂いた内容で、まずは実装してみようかと思います。
本当にありがとうございました。
管理人さん
イラストレーターでExcelから出力したPDFを読み込む作業をしているのですが、単純に読み込むとフォントが崩れるため、
アクロバットを利用して文字のアウトライン化をすることにしましたが、Excel VBAでのコードがわからず困っております。
アドビフォーラムにも問合せてみましたが、返事がなく・・
【VBA化にあたり参照した資料】
JavaScript for AcrobatR API Reference
を参照し、
pp = getPrintParams();
rf = pp.constants.rasterFlagValues;
pp.rasterFlags |= rf.textToOutline;
this.print(pp);
というコードから文字のアウトライン化は「textToOutline」を使用すればよいとわかったのですが、vbaに適用できません。
そもそも上記コードをアクロバット側で実行しても反映されなかったので、やり方が間違っていそうです。
もしおわかりになればどうぞよろしくお願いします。
(アクロバットは7を使っています。)
み さん 初めまして。
判る範囲で即答します。
上記サンプルは JavaScript for AcrobatR API Reference 資料の582頁・例1でしょうか。
これはAcrobat(アクロバット)アプリ内で専用に実行させるスクリプト「Acrobat JavaScript」の説明です。
よって、Excel VBAとは全く関係無いです。Excel VBA の言語ではないので、Excel VBA上では全く実行できません。
>・・上記コードをアクロバット側で実行しても反映されなかった・・
注意:Acrobat JavaScriptは全く詳しくないのですが・・・。
上記のサンプルをAcrobat XI(10.0.14)で実行したところ、・・(汗)・・、まずは印刷するためのダイアログが表示されます。それを手動で実行させると、埋め込んだ頁のみの文字がアウトライン化し、・・ました。
要は複数のPDFファイル内の文字を自動でアウトライン化したいという事だと勝手に予測しています。
当サイト内の情報のみでそれを実行するのはチョット無理が有ります。
また 使用しているAcrobatは 7 と書かれていますが。上記の説明書はAcrobat 8 です。その点も注意が必要です。更に実行OS(Windows ?)+Excelのバージョンも気になります。
Acrobat 7 テスト環境はコチラでも有りますが、動作させる条件がすぐには出来ません。
何か有りましたら、書き込みます。
※数日後かも管理人さん
さっそくありがとうございます!
サンプルはおっしゃる通り582ページです。
環境はOSはWin7(32bit)×Office2010(32bit)です。
やりたいことは、まさに「複数のPDFファイル内の文字を自動でアウトライン化」です。作成済のPDFを連続で変換していく仕組みができないか検討しております。
参照設定をしても、Excelから操作するのは難しいのですね。
今Acrobat X(10.0.0.396)に変えてみて、サンプルを実行したら管理人さんと同様に印刷ダイアログが表示されました・・
うーん、、難しいんですかね。。Excelみたいに、マクロの記録があるといいのですが。
もしおわかりになれば、引き続きどうぞよろしくお願いいたします。
み さんへ。
先に結論から。自動化は出来ました。v(^_^)
ExcelのVBAではなく、発想を変えて Acrobat XI のアクションウイザード(旧バッチ処理)を使います。
(判っているかもしれませんが)PDFをアウトライン化するにはPDF内部に「透かし」が存在している必要が有ります。よって、ダミーの「透かしの追加」 -> 「保存」の「最適化」時にアウトライン化を行う事でフォント無しのPDFが作成出来ました。
アクションウイザードの詳細な操作手順は別途、作成中です。後日公開。
VBAからAcrobat JavaScriptの実行も出来ないことは無いです。しかし、それ以前に Acrobat JavaScript の実行エラーが回避出来なく、海外のネット検索+イロイロと試行錯誤しましたが断念しました。
Windows 10 なら 標準装備 Microsoft Print to PDF を使えば透かしなど気にせずに、簡単にPDFのアウトライン化が出来ます。しかし、保存時のファイル名の入力の自動化が出来ません(正確には出来なかった)。本当はAcrobatを使わないでこの手を使いたかったです。
操作手順は少し、お待ち下さい。※2~3日ぐらい。
管理人さん
すごい!!
ありがとうございます。お返事が遅れてすみません。
>ダミーの「透かしの追加」 -> 「保存」の「最適化」時にアウトライン化を行う事でフォント無しのPDFが作成出来ました。
なるほど・・そこまでわかっておりませんでした。
操作手順、楽しみにしています。m(_ _)m
み さんへ。
以下を御覧ください。
Acrobat 9:複数のPDF内の文字を一括でアウトライン化(+裏技)
Acrobat X:複数のPDF内の文字を一括でアウトライン化(+裏技)
Acrobat XI:複数のPDF内の文字を一括でアウトライン化(+裏技)
Acrobat DC:複数のPDF内の文字を一括でアウトライン化(+裏技)
イラストレーターは無いので取り込みテストはしていません。
解決できることを願っています。
管理人さん!
お返事遅くなり申し訳ありません。
で、できました~!!ありがとうございます!
イラストレーターに取り込んだところ、無事アウトライン化されていたことを報告いたします。神!
み さんへ。
お役に立って、良かったです。(^_^)
管理人さん。
初めまして。
現在、複数のPDFファイルからプロパティを取得し
編集した内容を一括で書き込むVBAを作成しようとしています。
単純な内容だと思ったのですが、
いくつかテストしたところどうしても解決出来ない内容が出て来ました。
1.作成者とキーワードに読点やカンマがあると
ダブルクォーテーションが入る。
2.キーワードに既に登録されている場合(手作業などで登録)
抽出されない。またキーワードを書き込みすると書き換えられず、
追加される。
また、そのデータを抽出すると追加された分しか抽出されない。
といった現象が発生しています。
Acrobat X Pro/DC Proどちらでも発生します。
もし、おわかりでしたらご教示いただけますでしょうか。
seizi さん
はじめまして。
申し訳ありませんがコチラのサイトの都合で、上記の返答はコッチに変えさせて下さい。
管理人様、お世話になります。
QPDF、ExcelVBAを使用してパスワード付きPDFファイルの作成を
行おうと思っておりますが、サンプルが複雑なため、(あとはExcelVBA初心者でもあるのはありますが…)そのままコピペでできなさそうなイメージがわいております。
行いたいのは、
PDFファイル(ExcelVBAで作成)にユーザーパスワードを付けた状態のPDFファイルを作成し、保存するというシンプルなものなので、簡易的な方法はございませんでしょうか。また、他の方法があればご教示いただきたいと存じます。
わがままな連絡が申し訳ないですが、なにとぞよろしくお願い申し上げます。
OS:Windows7 or 10(Wundows7でも10でも動くことが必要)
Excel2010
NAO さん
はじめまして。
Qpdf : コマンドラインのPDFツールの「Qpdf を起動するサンプル」の28~30行を以下にします。
001 strCmd = "I:¥Tools¥Run¥Qpdf-6.0.0¥bin¥qpdf.exe " & _
002 "--encrypt youser@pass """" 40 -- " & _
003 "D:¥In.pdf D:¥Out.pdf"
・--encrypt :encrypt オプションの開始
・youser@pass :ユーザーパスワード
・"" :オーナーパスワード。無設定なので""。
・40 :キーの長さ。これは今は深く考える必要は無し。
・-- :encrypt オプションの終了
・D:¥In.pdf :入力PDFファイルのフルパス
・D:¥Out.pdf :出力PDFファイルのフルパス
入力PDFにパスワードを直接掛ける事は出来ません。必ず出力ファイルを指定する必要が有ります。よってOut.pdfにパスワードが掛かります。
上記のサンプルはダウンロード(cLine-qpdfDemo.xls)出来ます。それを流用すると楽に使えると思っています。
上記以外のセキュリティ設定の場合は、以下を御覧ください。
Qpdf : PDFにパスワードとセキュリティ設定をコピーするVBA関数
上記はセキュリティ設定をしたPDFのセキュリティ部分のみを他のPDFへコピーするサンプルです。
PDFのセキュリティ設定はネット上に山の様に解説が有るので、それが参考になります。
そのPDFを利用して、上記サンプルでセキュリティ部分のみをコピーします。
これ以上の「簡易的な方法」は無いです。
頑張ってください。
管理人様
ご回答ありがとうございます。
INPUTファイルとOUTPUTファイルが同じではできない仕様になっているようですね。
(同じファイル名の場合、エラーとなりました)
これで問題なくできると思います。(コマンドプロンプト上で実行したら、できました)
ありがとうございました。
NAO さんへ
お役に立ったみたいで嬉しいです。