Acrobat JS

[Js]Acrobat helpメニュー 少し修正


////////////////////////////////////////////////
// Acrobat Help Menu
//
// com.cocolog-nifty.quicktimer.icefloe
////////////////////////////////////////////////
menuParent = "Help";
////////////////////////////////////////////////
app.addSubMenu({
  cName: "addHelpSubMenuAdobe",
  cUser: "▼Adobe関連",
  cTooltext: "Adobe関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 5
});
app.addSubMenu({
  cName: "addHelpSubMenuUrl",
  cUser: "▼開発関連",
  cTooltext: "ヘルプ関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 6
});
app.addSubMenu({
  cName: "addHelpSubMenuCon",
  cUser: "▼コンソール",
  cTooltext: "コンソール関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 7
});
app.addSubMenu({
  cName: "addHelpSubMenuSh",
  cUser: "▼ファイル共有",
  cTooltext: "ファイル共有",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 8
});
app.addSubMenu({
  cName: "addHelpSubMenuOpen",
  cUser: "▼設定",
  cTooltext: "設定関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 9
});
////////////////////////////////////////////////
app.addMenuItem({
  cName: "OpenURL3",
  cUser: "■Document Cloud",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://documentcloud.adobe.com/\", true);",
  nPos: 3
});
app.addMenuItem({
  cName: "OpenURL4",
  cUser: "■Creative Cloud Assets File",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://assets.adobe.com/files\", true);",
  nPos: 4
});
app.addMenuItem({
  cName: "OpenURL5",
  cUser: "■Creative Cloud Assets Libraries",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://assets.adobe.com/libraries\", true);",
  nPos: 5
});
app.addMenuItem({
  cName: "OpenURL6",
  cUser: "■Creative Cloud Assets XD",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://assets.adobe.com/cloud-documents\", true);",
  nPos: 6
});
app.addMenuItem({
  cName: "OpenURL7",
  cUser: "■Publish Online",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://indd.adobe.com/dashboard\", true);",
  nPos: 7
});
app.addMenuItem({
  cName: "OpenURL8",
  cUser: "■Adobe Lightroom Online",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://lightroom.adobe.com/libraries/\", true);",
  nPos: 8
});
app.addMenuItem({
  cName: "OpenURL9",
  cUser: "■Adobe Fonts",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://fonts.adobe.com/?locale=ja-JP\", true);",
  nPos: 9
});
app.addMenuItem({
  cName: "appHelpOpenDocHelpUserGuide",
  cUser: "■ユーザーガイドを開きます",
  cLabel: "appHelpOpenGuide",
  cTooltext: "appHelpOpenGuide",
  cParent: "addHelpSubMenuAdobe",
  cExec: "appHelpOpenGuide();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 10,
});
app.addMenuItem({
  cName: "OpenURL16",
  cUser: "■Acrobatフォーラム",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://community.adobe.com/t5/acrobat%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A9%E3%83%A0/ct-p/ct-acrobat-jp\", true);",
  nPos: 11
});
app.addMenuItem({
  cName: "OpenURL17",
  cUser: "■Acrobat Readerフォーラム",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://community.adobe.com/t5/acrobat-reader-acrobat-dc-for-mobile%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A9%E3%83%A0/ct-p/ct-acrobat-reader-and-reader-mobile-jp?page=1&sort=latest_replies&lang=all&tabid=all&profile.language=ja#:~:text=Acrobat%20Reader%20/%20Acrobat%20DC%20for%20Mobile%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A9%E3%83%A0\", true);",
  nPos: 12
});
////////////////////////////////////////////
app.addMenuItem({
  cName: "OpenURL1",
  cUser: "リリースノート",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/index.html\", true);",
  nPos: 1
});
app.addMenuItem({
  cName: "OpenURL2",
  cUser: "Acrobat DC SDK Documentation",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/\", true);",
  nPos: 2
});
app.addMenuItem({
  cName: "OpenURL10",
  cUser: "JavaScript API",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsapiref/JS_API_AcroJS.html\", true);",
  nPos: 10
});
app.addMenuItem({
  cName: "OpenURL11",
  cUser: "Document Services API",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://documentcloud.adobe.com/dc-integration-creation-app-cdn/main.html\", true);",
  nPos: 11
});
app.addMenuItem({
  cName: "OpenURL12",
  cUser: "PDF Embed API",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://developer.adobe.com/document-services/docs/overview/pdf-embed-api/\", true);",
  nPos: 12
});
app.addMenuItem({
  cName: "OpenURL13",
  cUser: "AdminConsole",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://adminconsole.adobe.com/\", true);",
  nPos: 13
});
app.addMenuItem({
  cName: "appHelpOpenTrustedMenu",
  cUser: "API ReferencePDFを開く",
  cLabel: "appHelpOpenTrustedMenu",
  cTooltext: "appHelpOpenTrustedMenu",
  cParent: "addHelpSubMenuUrl",
  cExec: "appHelpOpenTrustedMenu();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 14
});
app.addMenuItem({
  cName: "OpenURL15",
  cUser: "Adobe Dev SDK",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://developer.adobe.com/console/servicesandapis\", true);",
  nPos: 15
});

app.addMenuItem({
  cName: "OpenURL18",
  cUser: "PrefRef Mac",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://www.adobe.com/devnet-docs/acrobatetk/tools/PrefRef/Macintosh/index.html\", true);",
  nPos: 18
});

app.addMenuItem({
  cName: "OpenURL19",
  cUser: "PrefRef Win",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://www.adobe.com/devnet-docs/acrobatetk/tools/PrefRef/Windows/index.html\", true);",
  nPos: 19
});


////////////////////////////////////////////////////////////////////////
app.addMenuItem({
  cName: "appHelpSubPrefOpen",
  cUser: "環境設定パネルを開きます",
  cLabel: "環境設定パネルを開きます",
  cTooltext: "環境設定パネルを開きます",
  cParent: "addHelpSubMenuOpen",
  cExec: "appHelpAddPrintList();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 22,
});
app.addMenuItem({
  cName: "OpenURL23",
  cUser: "JavaScripts フォルダを開きます",
  cParent: "addHelpSubMenuOpen",
  cExec: "appGetJavascriptPath()",
  nPos: 23
});
function appGetJavascriptPath() {
  try {
    var strUserJavascriptDir = app.getPath("user", "javascript");
    var strFilePath = strUserJavascriptDir.replace(/^.*Users/, '/Users');
    app.launchURL("file://" + strFilePath + "", true);
} catch (error) {
    console.println("メニュー実行エラー(undefined)")
    return;
}
}
app.addMenuItem({
  cName: "OpenURL24",
  cUser: "Stamps フォルダを開きます",
  cParent: "addHelpSubMenuOpen",
  cExec: "appGetStampsPath()",
  nPos: 23
});
function appGetStampsPath() {
  try {
    var strUserStampstDir = app.getPath("user", "stamps");
    var strFilePath = strUserStampstDir.replace(/^.*Users/, '/Users');
    app.launchURL("file://" + strFilePath + "", true);
} catch (error) {
    console.println("メニュー実行エラー(undefined)")
    return;
}
}

app.addMenuItem({
  cName: "appHelpOpenGeneralInfo",
  cUser: "文書のプロパティを開きます",
  cLabel: "appHelpOpenGeneralInfo",
  cTooltext: "appHelpOpenGeneralInfo",
  cParent: "addHelpSubMenuOpen",
  cExec: "appHelpOpenGeneralInfo();",
  cEnable: "event.rc = (event.target != null);",
  cMarked: "event.rc = false",
  nPos: 25,
});
////////////////////////////////////////////////////////////////////////
app.addMenuItem({
  cName: "SharedURL1",
  cUser: "Document Cloud",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://documentcloud.adobe.com/\", true);",
  nPos: 1
});
app.addMenuItem({
  cName: "SharedURL2",
  cUser: "Creative Cloud Assets File",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://assets.adobe.com/files\", true);",
  nPos: 2
});
app.addMenuItem({
  cName: "SharedURL3",
  cUser: "Box",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://app.box.com/\", true);",
  nPos: 3
});
app.addMenuItem({
  cName: "SharedURL4",
  cUser: "DropBox",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://www.dropbox.com/home\", true);",
  nPos: 4
});
app.addMenuItem({
  cName: "SharedURL5",
  cUser: "GoogleDrive",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://drive.google.com/\", true);",
  nPos: 5
});
app.addMenuItem({
  cName: "SharedURL6",
  cUser: "OneDrive",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://onedrive.live.com/\", true);",
  nPos: 6
});
////////////////////////////////////////////////////////////////////////
app.addMenuItem({
  cName: "appHelpSubPrintMenuList",
  cUser: "メニューリスト出力",
  cTooltext: "メニューリスト出力",
  cLabel: "メニューリスト出力",
  cParent: "addHelpSubMenuCon",
  cExec: "appHelpMenuList();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 2
});
//
app.addMenuItem({
  cName: "AppOpenConsole",
  cUser: "デバッガーを開く",
  cLabel: "デバッガーを開く",
  cTooltext: "デバッガーを開く",
  cParent: "addHelpSubMenuCon",
  cExec: "console.show();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 1
});
////////////////////////////////////////////////////////////////////////
appTrustedMenu = app.trustedFunction(
  function (argMenuName) {
    app.beginPriv();
    app.execMenuItem(argMenuName);
    app.endPriv();
}
);
function appHelpOpenTrustedMenu() {
  try {
    var cResponse = app.response({
      cQuestion: "開きたいPDFのURLを入力",
      cTitle: "よろしければOKしてください",
      cDefault: "https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/pdfs/acrobatsdk_jsdevguide.pdf#2",
      bPassword: false,
      cLabel: "Response:"
});
    if (cResponse == null) {
      console.println("メニュー実行エラー(null)");
      return;
} else if (cResponse == "undefined") {
      console.println("メニュー実行エラー(undefined)")
      return;
} else if (cResponse == "null") {
      console.println("メニュー実行エラー(null text)")
      return;
}
    else
      var myURL = encodeURI(cResponse);
    app.openDoc({ cPath: myURL, cFS: "CHTTP" });
} catch (error) {
    console.println("メニュー実行エラー");
}
}
/////////////////////////////////////////////////
function appHelpOpenGeneralInfo() {
  try {
    app.execMenuItem('GeneralInfo');
} catch (error) {
    console.println("メニュー実行エラー");
}
}
function appHelpOpenGuide() {
  try {
    app.execMenuItem('DocHelpUserGuide');
} catch (error) {
    app.launchURL("https://helpx.adobe.com/jp/acrobat/user-guide.html");
}
}
function appInfoMesAlert() {
  app.alert({
    //メッセージ本文
    //cMsg: "ユーザー情報を設定してください",
    cMsg: "ユーザー情報を\n\n設定してください",
    //ダイアログのタイトル
    cTitle: "ユーザー情報の入力",
    //アイコンの種類 0〜3
    nIcon: 3,
    //ボタングループの種類 0〜3
    nType: 0
});
}
function appHelpAddPrintList() {
  appInfoMesAlert();
  // app.execMenuItem('GeneralPrefs');
  app.execMenuItem('GeneralPrefs');
}
////////////////////////////////////////////////////////////////
function appHelpMenuList() {
  console.show();
  ////app.execMenuItem("CommentApp");
  function FancyMenuList(m, nLevel) {
    var s = "";
    for (var i = 0; i < nLevel; i++) s += " ";
    console.println(s + "+-" + m.cName);
    if (m.oChildren != null)
      for (var i = 0; i < m.oChildren.length; i++)
        FancyMenuList(m.oChildren[i], nLevel + 1);
}
  var m = app.listMenuItems();
  for (var i = 0; i < m.length; i++) FancyMenuList(m[i], 0);
  console.println("##############\n")
  var menuItems = app.listMenuItems()
  for (var i in menuItems)
    console.println(menuItems[i] + "\n")
  console.println("##############\n")
  var botItem = app.listToolbarButtons()
  for (var i in botItem)
    console.println(botItem[i] + "\n")
  console.println("\n##############\n" + botItem)
}



|

[Acrobat]書き出し各種

書き出しスクリプト 詰め合わせ
com.adobe.acrobat.xlsx
com.adobe.acrobat.accesstext
com.adobe.acrobat.doc
com.adobe.acrobat.docx
com.adobe.acrobat.eps
com.adobe.acrobat.html
com.adobe.acrobat.html3
com.adobe.acrobat.html4
com.adobe.acrobat.jpeg
com.adobe.acrobat.plain-text
com.adobe.acrobat.png
com.adobe.acrobat.pptx
com.adobe.acrobat.rtf
com.adobe.acrobat.tiff
com.callas.preflight.pdfa
com.callas.preflight.pdfe
com.callas.preflight.pdfx

ダウンロード - acrobatexport.zip



【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use framework "UniformTypeIdentifiers"
use framework "AppKit"
use scripting additions
property refMe : a reference to current application


set strBundleID to ("com.adobe.Acrobat.Pro") as text

###アプリケーションが起動しているか
set ocidRunningApplication to refMe's NSRunningApplication
set ocidAppArray to (ocidRunningApplication's runningApplicationsWithBundleIdentifier:(strBundleID))
set itemAppArray to ocidAppArray's firstObject()
if itemAppArray is (missing value) then
  display alert "エラー:アプリケーションが起動していません" buttons {"OK", "キャンセル"} default button "OK" as informational giving up after 2
return "エラー:アプリケーションが起動していません"
end if

###アプリケーションのWINDOWがあるか?
tell application id strBundleID
  set numCntWindow to (count of every window) as integer
end tell
if numCntWindow = 0 then
  display alert "エラー:pdfを開いていません" buttons {"OK", "キャンセル"} default button "OK" as informational giving up after 2
return "エラー:pdfを開いていません"
end if
####必要な情報の取得(As版)
tell application "Adobe Acrobat"
  tell active doc
    ##総ページ数
    set numAllPage to (count of every page) as integer
  end tell
  tell front PDF Window
    ##表示中のページ番号
    set numNowPage to (page number) as integer
  end tell
  tell active doc
    ##パス取得
    set aliasFilePath to file alias as alias
    ##ファイル名
    set strFileName to name as text
  end tell
end tell
###パス
set strFilePath to (POSIX path of aliasFilePath) as text
set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
set ocidBaseFilePath to ocidFilePath's stringByDeletingPathExtension()
###拡張子を取ったベースファイル名
set strBaseFileName to (ocidBaseFilePath's lastPathComponent()) as text

tell application "Finder"
  tell file aliasFilePath
    ##拡張子名
    set strExeName to name extension as text
  end tell
  ##コンテナディレクトリ(親ディレクトリ)
  set aliasContainerDirPath to (container of aliasFilePath) as alias
end tell
set strContainerDirPath to (POSIX path of aliasContainerDirPath) as text


####必要な情報の取得(Js版)
tell application "Adobe Acrobat"
  tell active doc
    ##総ページ数
    set numAllPage to do script ("this.numPages;")
    ##表示中のページ番号
    set numNowPage to do script ("this.pageNum;")
    set numJsNowPage to (numNowPage - 1)
    ###ファイルパス
do script "var strFileFullPath = this.path;"
    set strFileFullPath to (do script "this.path;") as text
    ###ファイル名(拡張子付き)
do script "var strFileName = this.documentFileName;"
    set strFileName to (do script "this.documentFileName;") as text
    ###拡張子名
do script "var strExeName = strFileName.split('.').pop();"
    set strExeName to (do script "strFileName.split('.').pop();") as text
    ###拡張子を取ったベースファイル名
do script "var strBaseFileName = strFileName.split('.').shift();"
    set strBaseFileName to (do script "strFileName.split('.').shift();") as text
    ###ファイルの親ディレクトリ
do script "var strContainerDirPath = strFileFullPath.replace(/\\/[^\\/]*$/, '/');"
    set strContainerDirPath to (do script "strFileFullPath.replace(/\\/[^\\/]*$/, '/');") as text
  end tell
end tell

tell application "Finder"
  ####保存先フォルダ
  set aliasUserDesktopDir to path to desktop folder from user domain as alias
  ###フォルダを作る
  set boolFolderExists to (exists of (folder strBaseFileName of folder aliasUserDesktopDir)) as boolean
  if boolFolderExists is false then
make new folder at aliasUserDesktopDir with properties {name:"" & strBaseFileName & "", owner privileges:"read write", group privileges:"read write", everyones privileges:"read write", comment:"このフォルダは削除しても大丈夫です", description:"スクリプトが生成したフォルダです削除しても大丈夫です", label index:3}
  end if
  set aliasSaveDirPath to (folder strBaseFileName of folder aliasUserDesktopDir) as alias
end tell
set strSaveDirPath to (POSIX path of aliasSaveDirPath) as text
##書き出しパス(これにページ番号が自動付与される)
set strSaveFilePathh to (strSaveDirPath & strBaseFileName & ".png") as text
tell application "Adobe Acrobat"
  activate
  tell active doc
do script ("var strSavePath = '" & strSaveFilePathh & "';")
    # do script ("console.println('Path: ' + strSavePath);")
do script ("this.saveAs({cPath:strSavePath, bPromptToOverwrite: true,cConvID:'com.adobe.acrobat.png',bCopy:false});")
  end tell
end tell


|

PDF内の特定のワードに特定のURLリンクを作成する

ダウンロード - dosetlinkaction.zip


Screencapture_20230529_22_59_54
ホントAcrobatのJavascriptって開発しにくい…
デバッガもアホだし…カユイところに手が届かない
極悪仕様だなぁ…

【スクリプトエディタで開く】|

//変数の初期化
var strChkWord, numWords, numPageCnt, numWordCnt;
//ページ順に全ページ実施
for (var numPageCnt = 0; numPageCnt < this.numPages; numPageCnt++) {
  //対象ページのワード数をカウント
  var numWords = this.getPageNumWords(numPageCnt);
  //対象ページのワード数だけ繰返し
  for (numWordCnt = 0; numWordCnt < numWords; numWordCnt++) {
    //対象となる文字列
    var strChkWord = this.getPageNthWord(numPageCnt, numWordCnt);
    //対象となる文字列が特定の文字列で始まる場合だけ処理する
    //endsWith startsWith ===  toUpperCase toLowerCase 等を
    //判定を工夫して修正する部分
    if (strChkWord.startsWith("yah")) {
      //アンダーライン注釈を作る
      forChkAnnot = this.addAnnot({
page: numPageCnt,
name: "URLリンク用(削除可)",
subject: "URLリンク用(削除可)",
type: "Underline",
strokeColor: ["CMYK", 0, 1, 0, 0],
opacity: 1,
quads: this.getPageNthWordQuads(numPageCnt, numWordCnt),
author: "URLリンク用(削除可)",
contents: "" + strChkWord.toString() + ""
});
      //アンダーライン注釈のRECT=位置情報を取得
      var listRectBounds = forChkAnnot.rect;
      //リンクとなるURLテキストを整形
      var strURL = "https://news." + strChkWord + ".co.jp/";
      //アンダーライン注釈の位置情報にリンク注釈を作成
      var objLinkAnnot = this.addLink(numPageCnt, listRectBounds);
      //URLをオープンするアクションを設定する
      objLinkAnnot.setAction("app.launchURL('" + strURL + "');");
      //枠線色
      objLinkAnnot.borderColor = color.white;
      //枠線幅
      objLinkAnnot.borderWidth = 1;
      //位置情報取得に使ったアンダーライン注釈を削除
      forChkAnnot.destroy();
}
}
}


doSetLinkAction.js.1Line.txtは デバッガー実行用です Screencapture-20230529-232209

|

PDFのページの回転を確認する

全ページ天地向き『回転0』にする
Javascriptのデバッガーにスクリプトをペーストして
Macの場合はコマンド押しながらリターンで実行されます
注釈は
注釈を『作ったページのページの回転』で
(表示の回転では無く、ページの回転です)
注釈にも『回転』が付いています。
例えば『文字が読める向きで、270度回転している』ページに
注釈をつけると
注釈は『90』度回転して表示されて文字が読める向きで作成されます。


アクロバット用アクションファイル

ダウンロード - ページ回転0(天地向)にする.sequ.zip


デモ用PDF(各ページ違う回転つけてあります)

ダウンロード - setpagerotations.pdf


Screencapture_20230525_23_30_38

【スクリプトエディタで開く】|

var numAllPageCnt = this.numPages;
for ( var numStep = 0; numStep < numAllPageCnt; numStep++) this.setPageRotations(0,(numStep),0);

プリフライトで確認する場合は Screencapture-20230525-233522

|

[Acrobat]注釈の複合構造について

元々、定義されなかった機能を後から追加するのは良いが
この方法はどうなんだろう…混乱を招く元凶を作ったような気がする

Acrobatの注釈は、複数の注釈を1つとみなして表示している物もある
そのため、JavascriptやAppleScriptからの操作には期待動作しない場合が多い

解説
1ドキュメント1ページに1つスタンプ注釈が入っています。
Screencapture-20230419-95151

このスタンプ注釈
『スタンプ』と『ポップアップ』注釈を1つと見立てて表示しています。

【スクリプトエディタで開く】

tell application "Adobe Acrobat Reader"
  get every annotation of page 1 of active doc
    --> {annotation 1 of page 1 of document "Acr10704353702424733111.tmp.pdf", annotation 2 of page 1 of document "Acr10704353702424733111.tmp.pdf"}
  (*注釈数:2*)
  get subtype of annotation 1 of page 1 of active doc
    --> "Stamp"
  (*Stamp*)
  get subtype of annotation 2 of page 1 of active doc
    --> "Popup"
  (*Popup*)
end tell
結果:
3

この注釈に『ステータス』を入れると
Screencapture_20230419_9_57_36

注釈が4つになります

【スクリプトエディタで開く】

tell application "Adobe Acrobat Reader"
  get every annotation of page 1 of active doc
    --> {annotation 1 of page 1 of document "Acr10704353702424733111.tmp.pdf", annotation 2 of page 1 of document "Acr10704353702424733111.tmp.pdf", annotation 3 of page 1 of document "Acr10704353702424733111.tmp.pdf", annotation 4 of page 1 of document "Acr10704353702424733111.tmp.pdf"}
  (*注釈数:4*)
  get subtype of annotation 1 of page 1 of active doc
    --> "Stamp"
  (*Stamp*)
  get subtype of annotation 2 of page 1 of active doc
    --> "Popup"
  (*Popup*)
  get subtype of annotation 3 of page 1 of active doc
    --> "Text"
  (*Text*)
  get subtype of annotation 4 of page 1 of active doc
    --> "Popup"
  (*Popup*)
end tell
結果:
5

なんでか?
元々『スタンプ』には『ステータス』を表示する機能を入れていなかったので
スタンプにステータス機能を持たせるときに『2階建て構造』で実装したのでしょう

やっかいなのが、スタンプにはステータスが元々無いので
Javascriptからスタンプを狙い撃ちでステータス変更できないのです。
Text注釈にはステータス項目が実装されていますので
Text注釈のステータスを変更すれば良いのですが
この『2階建て構造』の注釈の場合
スタンプに紐づいているText注釈はJavascriptAPIからは『見えない』のですわ

そんなわけで
Acrobatの注釈 javascriptからの操作には限界があるって話でした。

|

デバッガー(コンソール)を開く

ダウンロード - openjscom.pdf

|

PDFオープン

【スクリプトエディタで開く】

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

set strFilePath to "~/Desktop/A.pdf"
set ocidFilePathStr to (refMe's NSString's stringWithString:strFilePath)
set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidFilePath isDirectory:false)
set strFilePath to ocidFilePathURL's |path|() as text

tell application id "com.adobe.Reader"
  activate
  try
    ##########Javascript でエラー制御する場合
    ### set strJsCommandText to "try {app.openDoc({cPath:\"" & strFilePath & "\", bHidden: false,cDest:\"objAvtivDoc\", bUseConv:true});} catch (e) {};" as text
    ###シンプル版
    ##set strJsCommandText to "app.openDoc(\"" & strFilePath & "\"});" as text
    ##########画像系を含む(Pro)
    set strJsCommandText to "app.openDoc({cPath:\"" & strFilePath & "\", bHidden: false,cDest:\"objAvtivDoc\", bUseConv:true});" as text
    set strResults to do script strJsCommandText
  on error
    #######JavascriptでエラーしたらAppleScriptでオープンを試みる
    set strResults to open (ocidFilePathURL as alias)
  end try
end tell
###########
if strResults is "undefined" then
  log "Javascriptでファイルが開けませんでした"
else if strResults is missing value then
  log "AppleScriptでファイルが開けませんでした"
end if


|

[JS]Cropメニュー(連続ページに変換) 集約された2in1(2UP)のPDFを個別のページに分割します

以前配布していた【AcrobatJS】見開きページを単ページの連続ページに変更する(修正版)Jsファイルに
上下分割を加えたメニューセット






ダウンロード - apppagecropmenu.zip




拡張メニューが追加されます
Screencapture-20230406-25915
リーダーでは動作しません
Screencapture-20230406-30038

|

[Jsx]上下集約ページを単一連続ページに変換

//appPageCropjs 初回作成 2021年7月18日
//トリミングされたPDFARTCROP)に対応 2023年10月1日
//https://quicktimer.cocolog-nifty.com/icefloe/2023/04/post-7c7eb8.html
//上下集約ページを単一連続ページに変換
/*
Public Domain
href="http://creativecommons.org/publicdomain/zero/1.0/
自由に改変再配布等行ってください。

ダウンロードしたファイルは文字コードをUTF16に変更する必要があります

利用規約
このスクリプトを違法ダウンロードした漫画等のデータを読むために使う事を禁止します。
*/


////////////////
//ページを複製する
function doDuplicatePages() {
   var objDocuments = this;
   var objDocumentsPath = this.path;
   var numAllPage = this.numPages;
   var numInsertPage = 0;
   var numNowPage = 0;
   var numNowPageEnd = 0;
   while (numAllPage > numNowPage) {
      this.insertPages({ cPath: objDocumentsPath, nPage: numInsertPage, nStart: numInsertPage, nEnd: numInsertPage });
      var numInsertPage = numInsertPage + 2;
      var numNowPage = numNowPage + 1;
   };
};


function appPageCropTB() {

   doDuplicatePages();

   var nPage = this.pageNum;
   var MediaBoxSize = this.getPageBox("Media", nPage);
   var BleedBoxSize = this.getPageBox("Bleed", nPage);
   var TrimBoxSize = this.getPageBox("Trim", nPage);
   var CropBoxSize = this.getPageBox("Crop", nPage);
   var ArtBoxSize = this.getPageBox("Art", nPage);
   var BoundingBoxBoxSize = this.getPageBox("BBox", nPage);
   //ログ
   console.println('Media: ' + MediaBoxSize);
   console.println('Bleed: ' + BleedBoxSize);
   console.println('Trim: ' + TrimBoxSize);
   console.println('Crop: ' + CropBoxSize);
   console.println('Art: ' + ArtBoxSize);
   console.println('BBox: ' + BoundingBoxBoxSize);
   console.println('\n\n');

   var numAllPage = this.numPages;
   console.println('numAllPage: ' + numAllPage);

   var numNowPage = 0;

   while (numAllPage > numNowPage) {

      var listNowPageArtBoxSize = this.getPageBox("Crop", numNowPage);
      console.println('listNowPageArtBoxSize: ' + listNowPageArtBoxSize);
      if ((numNowPage % 2) == 0) {

         var numArtBoxSize0 = listNowPageArtBoxSize[0];
         var numArtBoxSize1 = listNowPageArtBoxSize[1] / 2;
         var numArtBoxSize2 = listNowPageArtBoxSize[2];
         var numArtBoxSize3 = listNowPageArtBoxSize[1];
      }
      if ((numNowPage % 2) != 0) {
         var numArtBoxSize0 = listNowPageArtBoxSize[0];
         var numArtBoxSize1 = listNowPageArtBoxSize[1] / 2;
         var numArtBoxSize2 = listNowPageArtBoxSize[2];
         var numArtBoxSize3 = listNowPageArtBoxSize[3];
      }

      this.setPageBoxes({
         cBox: "Media",
         nStart: numNowPage,
         nEnd: numNowPage,
         rBox: [numArtBoxSize0, numArtBoxSize1, numArtBoxSize2, numArtBoxSize3]
      });
      ////ここだけ指定が違います
      this.setPageBoxes({
         cBox: "Crop",
         nStart: numNowPage,
         nEnd: numNowPage,
//         rBox: [numArtBoxSize0, numArtBoxSize1, numArtBoxSize2, numArtBoxSize3]
         rBox: [numArtBoxSize0,numArtBoxSize1,numArtBoxSize0,numArtBoxSize3]
      });
      this.setPageBoxes({
         cBox: "Trim",
         nStart: numNowPage,
         nEnd: numNowPage,
         rBox: [numArtBoxSize0, numArtBoxSize1, numArtBoxSize2, numArtBoxSize3]
      });
      this.setPageBoxes({
         cBox: "Bleed",
         nStart: numNowPage,
         nEnd: numNowPage,
         rBox: [numArtBoxSize0, numArtBoxSize1, numArtBoxSize2, numArtBoxSize3]
      });
      this.setPageBoxes({
         cBox: "Art",
         nStart: numNowPage,
         nEnd: numNowPage,
         rBox: [numArtBoxSize0, numArtBoxSize1, numArtBoxSize2, numArtBoxSize3]
      });


      var numNowPage = numNowPage + 1;
      console.println('numNowPage: ' + numNowPage);
   };

};


/////////////////////////////DCの時はメニューを出す
if (app.viewerType == "Exchange-Pro") {
   app.addMenuItem({
      cName: "appPageCropTB",
      cParent: "CropMenu",
      cUser: "連続ページに変換(上下)",
      cExec: "appPageCropTB()",
      cEnable: "event.rc = true",
      cMarked: "event.rc = false",
      nPos: 1,
      cLabel: "見開きページを連続ページに変更"
   });
}
/////////////////////////////リーダーでは利用できない
if (app.viewerType == "Reader") {
   app.addMenuItem({
      cName: "appPageCropTB",
      cParent: "CropMenu",
      cUser: "連続ページに変換(上下)",
      cExec: "appPageCropTB()",
      cEnable: "event.rc = false",
      cMarked: "event.rc = false",
      nPos: 1,
      cLabel: "Readerでは動作しません"
   });
}



|

[Acrobat]HELPメニュー拡張

ダウンロード - acrobataddhelpmenu.zip




Acrobathelpmenu00002Acrobathelpmenu00001Acrobathelpmenu00005Acrobathelpmenu00003Acrobathelpmenu00004


////////////////////////////////////////////////
//
//
//
//
//   com.cocolog-nifty.quicktimer.icefloe
////////////////////////////////////////////////
menuParent = "Help";
////////////////////////////////////////////////
app.addSubMenu({
  cName: "addHelpSubMenuAdobe",
  cUser: "Adobe関連",
  cTooltext: "Adobe関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 5
});
app.addSubMenu({
  cName: "addHelpSubMenuUrl",
  cUser: "開発関連",
  cTooltext: "ヘルプ関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 6
});
app.addSubMenu({
  cName: "addHelpSubMenuCon",
  cUser: "コンソール",
  cTooltext: "コンソール関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 7
});
app.addSubMenu({
  cName: "addHelpSubMenuSh",
  cUser: "ファイル共有",
  cTooltext: "ファイル共有",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 8
});
app.addSubMenu({
  cName: "addHelpSubMenuOpen",
  cUser: "設定",
  cTooltext: "設定関連",
  cParent: menuParent,
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 9
});
////////////////////////////////////////////////
app.addMenuItem({
  cName: "OpenURL3",
  cUser: "Document Cloud",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://documentcloud.adobe.com/\", true);",
  nPos: 3
});
app.addMenuItem({
  cName: "OpenURL4",
  cUser: "Creative Cloud Assets File",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://assets.adobe.com/files\", true);",
  nPos: 4
});
app.addMenuItem({
  cName: "OpenURL5",
  cUser: "Creative Cloud Assets Libraries",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://assets.adobe.com/libraries\", true);",
  nPos: 5
});
app.addMenuItem({
  cName: "OpenURL6",
  cUser: "Creative Cloud Assets XD",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://assets.adobe.com/cloud-documents\", true);",
  nPos: 6
});
app.addMenuItem({
  cName: "OpenURL7",
  cUser: "Publish Online",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://indd.adobe.com/dashboard\", true);",
  nPos: 7
});
app.addMenuItem({
  cName: "OpenURL8",
  cUser: "Adobe Lightroom Online",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://lightroom.adobe.com/libraries/\", true);",
  nPos: 8
});
app.addMenuItem({
  cName: "OpenURL9",
  cUser: "Adobe Fonts",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://fonts.adobe.com/?locale=ja-JP\", true);",
  nPos: 9
});
app.addMenuItem({
  cName: "appHelpOpenDocHelpUserGuide",
  cUser: "ユーザーガイドを開きます",
  cLabel: "appHelpOpenGuide",
  cTooltext: "appHelpOpenGuide",
  cParent: "addHelpSubMenuAdobe",
  cExec: "appHelpOpenGuide();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 10,
});
app.addMenuItem({
  cName: "OpenURL16",
  cUser: "Acrobatフォーラム",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://community.adobe.com/t5/acrobat%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A9%E3%83%A0/ct-p/ct-acrobat-jp\", true);",
  nPos: 11
});
app.addMenuItem({
  cName: "OpenURL17",
  cUser: "Acrobat Readerフォーラム",
  cParent: "addHelpSubMenuAdobe",
  cExec: "app.launchURL(\"https://community.adobe.com/t5/acrobat-reader-acrobat-dc-for-mobile%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A9%E3%83%A0/ct-p/ct-acrobat-reader-and-reader-mobile-jp?page=1&sort=latest_replies&lang=all&tabid=all&profile.language=ja#:~:text=Acrobat%20Reader%20/%20Acrobat%20DC%20for%20Mobile%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A9%E3%83%A0\", true);",
  nPos: 12
});
////////////////////////////////////////////
app.addMenuItem({
  cName: "OpenURL1",
  cUser: "リリースノート",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/index.html\", true);",
  nPos: 1
});
app.addMenuItem({
  cName: "OpenURL2",
  cUser: "Acrobat DC SDK Documentation",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/\", true);",
  nPos: 2
});
app.addMenuItem({
  cName: "OpenURL10",
  cUser: "JavaScript API",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsapiref/JS_API_AcroJS.html\", true);",
  nPos: 10
});
app.addMenuItem({
  cName: "OpenURL11",
  cUser: "Document Services API",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://documentcloud.adobe.com/dc-integration-creation-app-cdn/main.html\", true);",
  nPos: 11
});
app.addMenuItem({
  cName: "OpenURL12",
  cUser: "PDF Embed API",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://developer.adobe.com/document-services/docs/overview/pdf-embed-api/\", true);",
  nPos: 12
});
app.addMenuItem({
  cName: "OpenURL14",
  cUser: "AdminConsole",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://adminconsole.adobe.com/\", true);",
  nPos: 14
});
app.addMenuItem({
  cName: "appHelpOpenTrustedMenu",
  cUser: "API ReferencePDFを開く",
  cLabel: "appHelpOpenTrustedMenu",
  cTooltext: "appHelpOpenTrustedMenu",
  cParent: "addHelpSubMenuUrl",
  cExec: "appHelpOpenTrustedMenu();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 13,
});
app.addMenuItem({
  cName: "OpenURL15",
  cUser: "Adobe Dev SDK",
  cParent: "addHelpSubMenuUrl",
  cExec: "app.launchURL(\"https://developer.adobe.com/console/servicesandapis\", true);",
  nPos: 14
});
////////////////////////////////////////////////////////////////////////
app.addMenuItem({
  cName: "appHelpSubPrefOpen",
  cUser: "環境設定パネルを開きます",
  cLabel: "環境設定パネルを開きます",
  cTooltext: "環境設定パネルを開きます",
  cParent: "addHelpSubMenuOpen",
  cExec: "appHelpAddPrintList();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 22,
});
app.addMenuItem({
  cName: "OpenURL23",
  cUser: "JavaScripts フォルダを開きます",
  cParent: "addHelpSubMenuOpen",
  cExec: "appGetJavascriptPath()",
  nPos: 23
});
function appGetJavascriptPath() {
  try {
    var strUserJavascriptDir = app.getPath("user", "javascript");
    var strFilePath = strUserJavascriptDir.replace(/^.*Users/, '/Users');
    app.launchURL("file://" + strFilePath + "", true);
  } catch (error) {
    console.println("メニュー実行エラー(undefined")
    return;
  }
}
app.addMenuItem({
  cName: "OpenURL24",
  cUser: "Stamps フォルダを開きます",
  cParent: "addHelpSubMenuOpen",
  cExec: "appGetStampsPath()",
  nPos: 23
});
function appGetStampsPath() {
  try {
    var strUserStampstDir = app.getPath("user", "stamps");
    var strFilePath = strUserStampstDir.replace(/^.*Users/, '/Users');
    app.launchURL("file://" + strFilePath + "", true);
  } catch (error) {
    console.println("メニュー実行エラー(undefined")
    return;
  }
}

app.addMenuItem({
  cName: "appHelpOpenGeneralInfo",
  cUser: "文書のプロパティを開きます",
  cLabel: "appHelpOpenGeneralInfo",
  cTooltext: "appHelpOpenGeneralInfo",
  cParent: "addHelpSubMenuOpen",
  cExec: "appHelpOpenGeneralInfo();",
  cEnable: "event.rc = (event.target != null);",
  cMarked: "event.rc = false",
  nPos: 25,
});
////////////////////////////////////////////////////////////////////////
app.addMenuItem({
  cName: "SharedURL1",
  cUser: "Document Cloud",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://documentcloud.adobe.com/\", true);",
  nPos: 1
});
app.addMenuItem({
  cName: "SharedURL2",
  cUser: "Creative Cloud Assets File",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://assets.adobe.com/files\", true);",
  nPos: 2
});
app.addMenuItem({
  cName: "SharedURL3",
  cUser: "Box",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://app.box.com/\", true);",
  nPos: 3
});
app.addMenuItem({
  cName: "SharedURL4",
  cUser: "DropBox",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://www.dropbox.com/home\", true);",
  nPos: 4
});
app.addMenuItem({
  cName: "SharedURL5",
  cUser: "GoogleDrive",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://drive.google.com/\", true);",
  nPos: 5
});
app.addMenuItem({
  cName: "SharedURL6",
  cUser: "OneDrive",
  cParent: "addHelpSubMenuSh",
  cExec: "app.launchURL(\"https://onedrive.live.com/\", true);",
  nPos: 6
});
////////////////////////////////////////////////////////////////////////
app.addMenuItem({
  cName: "appHelpSubPrintMenuList",
  cUser: "メニューリスト出力",
  cTooltext: "メニューリスト出力",
  cLabel: "メニューリスト出力",
  cParent: "addHelpSubMenuCon",
  cExec: "appHelpMenuList();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 2
});
//
app.addMenuItem({
  cName: "AppOpenConsole",
  cUser: "デバッガーを開く",
  cLabel: "デバッガーを開く",
  cTooltext: "デバッガーを開く",
  cParent: "addHelpSubMenuCon",
  cExec: "console.show();",
  cEnable: "event.rc = true",
  cMarked: "event.rc = false",
  nPos: 1
});
////////////////////////////////////////////////////////////////////////
appTrustedMenu = app.trustedFunction(
  function (argMenuName) {
    app.beginPriv();
    app.execMenuItem(argMenuName);
    app.endPriv();
  }
);
function appHelpOpenTrustedMenu() {
  try {
    var cResponse = app.response({
      cQuestion: "開きたいPDFURLを入力",
      cTitle: "よろしければOKしてください",
      cDefault: "https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/pdfs/acrobatsdk_jsdevguide.pdf#2",
      bPassword: false,
      cLabel: "Response:"
    });
    if (cResponse == null) {
      console.println("メニュー実行エラー(null");
      return;
    } else if (cResponse == "undefined") {
      console.println("メニュー実行エラー(undefined")
      return;
    } else if (cResponse == "null") {
      console.println("メニュー実行エラー(null text")
      return;
    }
    else
      var myURL = encodeURI(cResponse);
    app.openDoc({ cPath: myURL, cFS: "CHTTP" });
  } catch (error) {
    console.println("メニュー実行エラー");
  }
}
/////////////////////////////////////////////////
function appHelpOpenGeneralInfo() {
  try {
    app.execMenuItem('GeneralInfo');
  } catch (error) {
    console.println("メニュー実行エラー");
  }
}
function appHelpOpenGuide() {
  try {
    app.execMenuItem('DocHelpUserGuide');
  } catch (error) {
    app.launchURL("https://helpx.adobe.com/jp/acrobat/user-guide.html");
  }
}
function appInfoMesAlert() {
  app.alert({
    //メッセージ本文
    //cMsg: "ユーザー情報を設定してください",
    cMsg: "ユーザー情報を\n\n設定してください",
    //ダイアログのタイトル
    cTitle: "ユーザー情報の入力",
    //アイコンの種類 03
    nIcon: 3,
    //ボタングループの種類 03
    nType: 0
  });
}
function appHelpAddPrintList() {
  appInfoMesAlert();
  //  app.execMenuItem('GeneralPrefs');
  app.execMenuItem('GeneralPrefs');
}
////////////////////////////////////////////////////////////////
function appHelpMenuList() {
  console.show();
  ////app.execMenuItem("CommentApp");
  function FancyMenuList(m, nLevel) {
    var s = "";
    for (var i = 0; i < nLevel; i++) s += " ";
    console.println(s + "+-" + m.cName);
    if (m.oChildren != null)
      for (var i = 0; i < m.oChildren.length; i++)
        FancyMenuList(m.oChildren[i], nLevel + 1);
  }
  var m = app.listMenuItems();
  for (var i = 0; i < m.length; i++) FancyMenuList(m[i], 0);
  console.println("##############\n")
  var menuItems = app.listMenuItems()
  for (var i in menuItems)
    console.println(menuItems[i] + "\n")
  console.println("##############\n")
  var botItem = app.listToolbarButtons()
  for (var i in botItem)
    console.println(botItem[i] + "\n")
  console.println("\n##############\n" + botItem)
}


|

その他のカテゴリー

Acrobat Acrobat Annotation Acrobat Dialog Acrobat Form Acrobat JS Acrobat Open Acrobat Plugin Acrobat python Acrobat Reader Acrobat Sequ Acrobat Stamps Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin System Information Admin Tools Admin Users Admin Volumes Adobe Apple AppleScript AppleScript Guide AppleScript Accessibility AppleScript AppKit AppleScript Applications AppleScript AppStore AppleScript Archive AppleScript Attributes AppleScript Automator AppleScript AVAsset AppleScript AVconvert AppleScript AVFoundation AppleScript AVURLAsset AppleScript BackUp AppleScript Barcode AppleScript Bash AppleScript Basic AppleScript Basic Path AppleScript Bluetooth AppleScript BOX AppleScript Browser AppleScript Calendar AppleScript CD/DVD AppleScript Choose AppleScript Chrome AppleScript CIImage AppleScript CloudStorage AppleScript Color AppleScript com.apple.LaunchServices.OpenWith AppleScript Console AppleScript Contacts AppleScript CotEditor AppleScript CURL AppleScript current application AppleScript Date&Time AppleScript delimiters AppleScript Desktop AppleScript Device AppleScript Disk AppleScript do shell script AppleScript Dock AppleScript DropBox AppleScript eMail AppleScript Encode Decode AppleScript Error AppleScript EXIFData AppleScript ffmpeg AppleScript File AppleScript Finder AppleScript Firefox AppleScript Folder AppleScript Fonts AppleScript GIF AppleScript HTML AppleScript Icon AppleScript Illustrator AppleScript Image Events AppleScript Image2PDF AppleScript ImageOptim Applescript iWork AppleScript Javascript AppleScript Jedit AppleScript Json AppleScript Label AppleScript List AppleScript locationd AppleScript LRC AppleScript LSSharedFileList AppleScript m3u8 AppleScript MakePDF AppleScript Map AppleScript Math AppleScript Microsoft AppleScript Microsoft Edge AppleScript Microsoft Excel AppleScript Mobileconfig AppleScript Mouse AppleScript Movie AppleScript Music AppleScript NetWork AppleScript Notes AppleScript NSArray AppleScript NSBitmapImageRep AppleScript NSBundle AppleScript NSCFBoolean AppleScript NSCharacterSet AppleScript NSColor AppleScript NSColorList AppleScript NSData AppleScript NSDictionary AppleScript NSError AppleScript NSEvent AppleScript NSFileAttributes AppleScript NSFileManager AppleScript NSFont AppleScript NSFontManager AppleScript NSImage AppleScript NSIndex AppleScript NSKeyedArchiver AppleScript NSKeyedUnarchiver AppleScript NSLocale AppleScript NSMutableArray AppleScript NSMutableDictionary AppleScript NSMutableString AppleScript NSNotFound AppleScript NSNumber AppleScript NSOpenPanel AppleScript NSPasteboard AppleScript NSPDFImageRep AppleScript NSpoint AppleScript NSPredicate AppleScript NSRange AppleScript NSRegularExpression AppleScript NSRunningApplication AppleScript NSScreen AppleScript NSSize AppleScript NSString AppleScript NSStringCompareOptions AppleScript NSTask AppleScript NSTimeZone AppleScript NSURL AppleScript NSURL File AppleScript NSURLBookmark AppleScript NSURLComponents AppleScript NSURLResourceKey AppleScript NSUserDefaults AppleScript NSUUID AppleScript NSView AppleScript NSWorkspace AppleScript Numbers AppleScript OAuth AppleScript ObjC AppleScript OneDrive AppleScript Osax AppleScript PDF AppleScript PDFAnnotationWidget AppleScript PDFContext AppleScript PDFDisplayBox AppleScript PDFDocumentPermissions AppleScript PDFKit AppleScript PDFnUP AppleScript PDFOutline AppleScript Photos AppleScript Photoshop AppleScript Plist System Events AppleScript PostScript AppleScript prefPane AppleScript Preview AppleScript Python AppleScript QR AppleScript QR Decode AppleScript QuickLook AppleScript QuickTime AppleScript record AppleScript Regular Expression AppleScript Reminders AppleScript ReName AppleScript Repeat AppleScript RTF AppleScript Safari AppleScript SaveFile AppleScript ScreenCapture AppleScript ScreenSaver AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript Sort AppleScript Sound AppleScript Spotlight AppleScript SRT AppleScript StandardAdditions AppleScript stringByApplyingTransform AppleScript System Events AppleScript System Settings AppleScript TemporaryItems AppleScript Terminal AppleScript Text AppleScript Text CSV AppleScript Text TSV AppleScript TextEdit AppleScript Translate AppleScript Trash AppleScript Twitter AppleScript UI AppleScript Unit Conversion AppleScript UTType AppleScript valueForKeyPath AppleScript Video AppleScript VisionKit AppleScript Visual Studio Code AppleScript webarchive AppleScript webp AppleScript Wifi AppleScript XML AppleScript XML EPUB AppleScript XML OPML AppleScript XML Plist AppleScript XML RSS AppleScript XML SVG AppleScript XML TTML AppleScript XML webloc AppleScript YouTube AppleScript Zero Suppress Applications Barcode OnLine Tools CityCode Design iPhone List Logs lsappinfo Memo Music perl PlistBuddy pluginkit postalcode ReadMe SF Symbols character id SF Symbols Entity sips Skype Slack sqlite TCC Tools Typography Video Wacom zoom