はじめに
macOSに標準でインストールされているPages.appには、複数枚の名札やラベルを1枚の紙に差込印刷する機能がありません。1枚ずつの差込印刷は可能ですので、それをPDFファイルにして、市販のラベル印刷用紙にまとめる方法を紹介します。
名札作成
まず名札サイズの用紙に差込印刷でPDFファイルを作成します。
名簿をNumbers.appで作成し、Pages.appで名札1枚分(名刺サイズ 横91mm,縦55mm)の用紙に差込印刷します。新たな用紙サイズは(ファイル -> ページ設定... -> 用紙サイズ)で定義できます。
差込印刷でできた書類をPDFファイルとして書き出します。(ファイル -> 書き出す -> PDF...)
印刷する用紙にまとめる
次に、Pages.app で新規書類を作ります(A4でページレイアウトに)
先ほどのPDFファイルをプレビュー.appで開いて、サムネール表示(表示 -> サムネール)
サムネール表示部分を1ページずつPagesの紙面にドラッグ&ドロップ(あるいはコピペ)します。
ここでは1ページあたり10枚の用紙を用いていますので、10枚を超えると新たなページに挿入します。
(追記)
PDFファイルをPagesの紙面にドラッグ&ドロップすると先頭のページのみ挿入されますが、複数のファイルをまとめて挿入することができます。ページ数が多いときには、1ページずつに分割されたPDFファイルを作りそれを挿入する方が便利かも。
ページ分割は「【macOS】ショートカットアプリでクイックアクションを作成」を参考に。
名札を整列
Pages.appを開いた状態で以下のスクリプトをスクリプトエディタ.appで実行します。(画像オブジェクトを整列しているだけです)
-- version 0.1
set namePlatePositions to {{40, 31}, {298, 31}, {40, 187}, {298, 187}, {40, 343}, {298, 343}, {40, 499}, {298, 499}, {40, 655}, {298, 655}} -- 名札の座標 単位はポイント
tell application "Pages"
tell front document
repeat with ix in pages
tell ix
repeat with i from 1 to count images
set position of image i to item i of namePlatePositions
end repeat
end tell
end repeat
end tell
end tell
できたファイルを印刷すれば出来上がりです。
名札(ラベル)サイズや並べ方を変える場合には、次のスクリプトで座標を計算できます。
-- version 0.1
set paperSize to {x:210, y:297} -- 用紙サイズ A4
set cardSize to {x:91, y:55} -- カードサイズ 名刺サイズ
set margin to {x:14, y:11} -- 余白 左, 上
set n to {x:2, y:5} -- 横縦枚数
-- 単位をmmからpointに変換
on toPoint(mm)
round (mm * 72.0 / 25.4)
end toPoint
set namePlatePosition to {}
repeat with iy from 1 to y of n
repeat with ix from 1 to x of n
set xmm to (ix - 1) * (x of cardSize) + (x of margin)
set ymm to (iy - 1) * (y of cardSize) + (y of margin)
set end of namePlatePosition to {toPoint(xmm), toPoint(ymm)}
end repeat
end repeat
namePlatePosition