貼り付けるときは位置やページが指定できます。, コチラ(-stamp-on、-stamp-under、-scale-stamp-to-fit)を御覧ください。, はじめまして。ゆうすけといいます。 Dim lRet As Long 3.貼り付けたイメージのサイズを変更。 そのスタンプ用PDFを目的のPDFの上(又は下)にスタンプ扱いで貼り付ける。 アクションウイザードの処理部分もプログラミング操作等が出来ないかと再調査しましたが、出来ないと、言うより出来る方法が見つかりませんでした。 本当にありがとうございました。 Skip_01: こればかりは仕方ないですね。, 根気強くご説明いただき、大変感謝しております。 いろいろと試してみます。 もし、1ページのファイルに対しても使えるロジックをなにかご存知でしたら、再三で恐縮ですがお教えいただけると非常に助かります。, ~  If objAcroPDDoc.GetNumPages() > 1 Then   Debug.Print "PDFファイルはパスワードで保護されている。"     と言っても「出来る」かはテストして見ないと分かりません。, 1ヶ月前からのテストで、Acrobat 10 以下のバージョンのアクション処理(バッチ処理)のプログラミング操作が可能な状態になっています。   lRet = objAcroPDDoc.DeletePages(1, 1) 「ただし、保護がかかっているPDFについてはスキップすること」 lRet = objAcroPDDoc.Save(&H20, "C:\Users\temporary.pdf") 'なぜか~~.pdfで上書きされてしまう 関数:PDFファイルを完全にチェックする 3.  '② 処理対象のPDFを開く   Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() objAcroPDDoc.GetNumPages()の結果が入ったlPageCnt にページ数が入っているので、1ページ以上の時のみ実行する。 「この操作は、この文書では許可されていません。」 「抽出(コピー)」出来て、「編集(削除)」が出来ないPDFには出会ったことは無いですが、100%無いと言う保証はないので入れました。不要ならば削除して下さい。  lRet = objAcroPDDoc.Close ' ページの抽出(コピー)は出来ない。 Debug.Print "PDFは保護されていて抽出は出来ない。" GoTo Skip_01: End If '④ 1ページ目からテキストを取り出す Set jso = objAcroPDDocNew.GetJSObject 'PDFをアクセステキスト(accesstext)に変換する。 「&H20で保存できるかどうかで、保護状況を確認する」と変更したら③もクリアできそうです、 Skip_01: 申し訳ございませんでした。, 現在の質問としては、「保護状況を確認するためにもう少しいい方法はないか」でございます。  lRet = objAcroPDDocNew.Close() を追加しました。, If lPageCnt > 1 Then jso.SaveAs CON_TEXT2, "com.adobe.acrobat.plain-text" のいずれかで対応したいのですが、プログラムをお教えいただけませんでしょうか。, また、先ほどは記載しておらず申し訳ございませんでしたが、私の環境は以下となります。 ツール(Excel等) バージョン:Excel2016, 「既存のオブジェクト」=Acrobat OLE(IAC)だけでPDFにパスワードを設定するのは「不可能」です。 Const CON_TEXT1 = "I:¥AcroPDDoc¥text1.txt" pdftool.dllというファイルを使用するエクセルファイル(VBAを書いて動作させる)と同じフォルダにいれます。, こちらもダウンロードして中を見ると   GoTo Skip_02: End Sub, ・PDFファイルを開くときのパスワード付き jso.SaveAs CON_TEXT1, "com.adobe.acrobat.accesstext"   ※上記例のtext.txtの内容を読み込んで判断する。, 2ページ以上のPDFファイルについては今回お教えいただいたコードで希望の動作となることを確認いたしました。, ただし、1ページのPDFファイルのときは保護されていなくてもエラーとなってしまうので、似たようなロジックで回避してみました。 機能が存在しません。   GoTo Skip_01: Set jso = objAcroPDDoc.GetJSObject ④保護あり単ページPDF⇒スキップ Acrobat:Adobe Acrobat 8 professional pdf2txt.bas  End If Dim jso As Object   また、よろしくお願いいたします。, 質問なのですが、PDFの先頭ページのみをテキスト化する方法はございますでしょうか。 Option Explicit   If lRet = 0 Then Skip_02:   '※PDF文書はセキュリティ(パスワード)で保護されているので  lRet = objAcroPDDoc.Save(&H1 + &H20, SAVE_FILE)    '※PDF文書はセキュリティ(パスワード)で保護されているので Acrobat とPDF を Excel VBAから操作する関数とサンプルの一覧です。, IAC からだけでは限界があります。そこでVBAから起動連携が出来る、少し有効なソフトと思われるものを一部紹介します。, PDFへの高度なセキュリティ設定が出来るコマンドラインのフリーソフトです。業務ソフトではなく、PDFの開発者向けソフトで有る点が特徴です。このソフトの紹介はココです。, Xpdf 3.0 をペースに機能拡張したコマンドラインのフリーソフトです。PDFからメタデータ、各種セキュリティ設定、添付ファイル、フォント、テキスト等の情報を抽出します。更にHTML、各種画像への変換もできます。このソフトの機能を使っているソフトが今増えています。このソフトの紹介はココです。, コマンドラインのフリーソフトです。PDFからメタデータ、各種セキュリティ設定、添付ファイル、フォント、テキスト等の情報を抽出します。更にHTML、各種画像への変換もできます。開発は2年前に終了してますが、非常に安定動作します。このソフトの紹介はココです。, はじめまして。 LA在住の山本と申します。 ①②③はOKですが、④のパターンでエラーメッセージが出てしまいます。 クリップボードに入っている画像イメージがあります。, 1.このイメージをPDF上に貼り付け。 お時間を下さい。, それと、質問です。画像の  lRet = objAcroPDDocNew.InsertPages(-1, objAcroPDDoc, 0, 1, False)  Dim lRet      As Long SAMURAI Plugin Const CON_TEXT2 = "I:¥AcroPDDoc¥text2.txt"  lRet = objAcroPDDocNew.Create() 'PDFをアクセステキスト(accesstext)に変換する。 コメントをする時は出来れば以下もお願いします。, このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。, Acrobat JavaScript における「Safe Path」についての注意事項, 上記サンプルでは objAcroApp.Show でAcrobatアプリ本体を起動表示しています。, Acrobat SDK 8.1 に書かれているSaveAsメソッドの第2引数の説明が一部間違っています。. 唯一知っているPDFのテキスト化ソフトに「読んde!   Q3)移動先も変化する? 「読取革命」と言うOCRソフトも有るらしいですが使った事を無いので仕様等は不明です。, 以前から検討していた事が有り、現在はその手段が見つかっています。  '① 空(0ページ)のPDFファイルを作成する 「2ページ目以降を削除できるかどうかで、保護状況を確認する」を 初めてメールします。アクロバットプロ11で大量のTIFファイルをPDF化しOCRをかけようとしています。アクションウィザードを使えば、一つのフォルダーの中にある全てのファイルに対し、上記の処理はできます。ところが、なぜか、OCRができないファイルがあるために、そこで、ファイルが開いたまま止まってしまいます。原因はよくわかりません。そこで、VBAでOCRをかけ、もしも、30分以上、かかってもOCRが終了しない場合は、とっとと、次のファイルのOCRをするようなプログラムを組めないかと思っています。あるいは、もっと、良い手軽かもしれませんが、教えてください。よろしくお願いいたします。, VBA等の言語に関係無く、AcrobatのOCR機能部分をプログラミング操作できる命令等の部分は見つかりません。 ②保護あり複数ページPDF⇒スキップ OCR処理でフリーズ?した場合にスキップ処理をさせたいという部分は理解できますが。, TIFからPDFへ変換して、そのPDF上の文字画像をテキスト化をするにはAcrobat以外に選択肢は無いでしょう。 (ただし、この確認を行う過程でPDFが上書きされてしまう) Debug.Print "PDFの編集は出来ない。" 関数:「PDFのバージョン」を取得する 2. 関数:Acrobat , Adobe Reader のインストールパスとバージョンを取得 4.    Kill SAVE_FILE  Dim objAcroPDDocNew As New Acrobat.AcroPDDoc  jso.SaveAs CON_TEXT2, "com.adobe.acrobat.plain-text" ("If lPageCnt > 1 Then" にひっかからず、テキスト変換まで進んでしまう), 7/31のコメントの意味としては、 ' ページの削除は出来ない。 (3,4ファイル試しただけで、この方法ですべてのファイルの保護状況を確認できるかは疑問です), 最後の段落の内容があまりに突飛なため混乱させてしまったかと思います。  If lRet = 0 Then ※無理だと思うのですが・・   http://pdf-file.nnn2.com/  Dim jso      As Object  If lRet = 0 Then 「編集」の保護がかかっている場合は保存したテキストとPDFを削除します。 End Sub, ① ゼロページの空のPDFを仮に作ります。 lPageCnt の内容を見て処理をすればイイと思います。, そちらのロジックですと、 先に手作業で何も無いPDF上に画像を貼り付け、サイズや回転をさせた状態で用意します。それをスタンプ用PDFとします。 lRet = objAcroPDDoc.DeletePages(1, lPageCnt - 1) ここで「抽出」の保護が有れば、エラー扱いにします。, ⑤ AのPDFを別名で保存します。   '2ページ目のみ削除する。※時間の短縮 Adobe Acrobat ReaderではなくAdobe Acrobatが必用な方法はあったのですが、なかなかAdobe Acrobatを持っているケースも少ないものかと思いますし、できることならなんとか無料でやってしまいと思うのが人の性ではないでしょうか・・・, さらにこういう場合、フォルダ内にある全PDFを一括で処理したいというニーズもあるかと思います。, のサイトにあるpdftool.dllを使うことで無料で簡単にエクセルVBAでフォルダ内の全PDFファイルをテキスト化してしまえる方法をご紹介いたします。, 細かい注意事項などはコチラを確認→http://www.petitmonte.com/excel/excel_tips_11.html とエラーポップアップが出て止まってしまいます。, 保護ファイルはテキスト化できなくて問題ないので、