Pagesでオープン中の最前面の書類から、最大文字サイズのパラグラフ(段落)のテキストを抽出するAppleScriptです。
Pages v10.0で縦組みのテキスト中心の書類を作っていて、そのタイトルに該当する部分のテキストを抽出したいと考えておりました。
Pagesでは、本文にテキストをベタ打ちしつつ、文字スタイルを適用していくワープロ的な作り方と、ボックスでテキストアイテムを配置して文字を入れていくDTP的な(?)作り方の2通りがあります(混在できます)。
ここでは、本文テキストベタ打ちで作っています。
本来であれば、各パラグラフに指定されたスタイルの名称を取得して、スタイル名が「タイトル」だったらタイトルと判定するのが他のアプリケーションでの処理ですが、Pagesにはスタイル名を取得する機能はありません。
そこで、書類中の全パラグラフの文字サイズを取得し、その最大値を求め、最大値の文字サイズを持つパラグラフを求めるようにしてみました。
こういう(↑)文字ボックスを配置して作成した書類では、本Scriptのアプローチではタイトルを取得できません。
AppleScript名:書類中の最大文字サイズのパラグラフのテキストを抽出.scptd |
— – Created by: Takaaki Naganoya – Created on: 2020/06/12 — – Copyright © 2020 Piyomaru Software, All Rights Reserved — use AppleScript version "2.4" — Yosemite (10.10) or later use framework "Foundation" use scripting additions property NSMutableArray : a reference to current application’s NSMutableArray tell application "Pages" tell front document tell body text –フォントサイズのみパラグラフ単位に取得 set szList to size of every paragraph set aMaxPoint to calcMax(szList) of me –最大の文字サイズを取得 –文字サイズが最大のパラグラフを抽出 set resList to every paragraph whose size is aMaxPoint –> {"テクノロジーが色彩(カラー)を決定している例は?"} end tell end tell end tell on calcMax(aList as list) set nArray to (NSMutableArray’s arrayWithArray:aList) set maxRes to (nArray’s valueForKeyPath:"@max.self")’s doubleValue() return maxRes end calcMax |
More from my site
(Visited 302 times, 1 visits today)