Adobe XDや他のデザインツールで作成したPDFをPhotoshopに取り込む際、各ページをレイヤーとして読み込みたい場面があります。
この記事では、スクリプトを使って複数ページのPDFを1ページずつレイヤーとして読み込む手順を解説します。

目次
Adobe XDからのPDF出力手順
- Adobe XDでデザインを作成します。

- [書き出し] > [すべてのアートボード] > [単一のPDFファイル] を選択してPDFを出力します。

PDFをレイヤーとしてPhotoshopに読み込む手順
1. スクリプトの準備
下記のコードをテキストエディタに貼り付け、ファイル名を「PDF_Pages_to_Layers.jsx」として保存します。
Photoshopの他の操作については、関連記事のまとめも参照してください。
あわせて読みたい


Photoshopの使い方まとめ|レイヤー操作・書き出し・スクリプト
Photoshopの記事を、やりたいことから探せるように分類しました。 同じ作業を何度も繰り返している場合は、スクリプトの項目もご覧ください。 各カテゴリーは閲覧数の多…
PDF_Pages_to_Layers.jsx
#target photoshop
app.bringToFront();
displayDialogs = DialogModes.NO;
var myMaxPages = 100;
var myCounter = 1;
var myResolution = 300;
var myColor = OpenDocumentMode.CMYK;
app.backgroundColor.rgb.red = 255;
app.backgroundColor.rgb.green = 255;
app.backgroundColor.rgb.blue = 255;
var _pdfDatei = File.openDialog("PDFファイルの選択");
var myDatei = "" + _pdfDatei;
var myEndung = myDatei.substr(myDatei.length-4,4);
if (myEndung !== ".pdf") {
alert("選択されたPDFがありません。", "ファイル選択エラー");
} else {
var pdfOpenOptions = new PDFOpenOptions;
pdfOpenOptions.antiAlias = true;
pdfOpenOptions.mode = myColor;
pdfOpenOptions.bitsPerChannel = BitsPerChannelType.EIGHT;
pdfOpenOptions.resolution = myResolution;
pdfOpenOptions.supressWarnings = true;
pdfOpenOptions.cropPage = CropToType.TRIMBOX;
pdfOpenOptions.page = myCounter;
open(_pdfDatei, pdfOpenOptions);
var myDocument1 = app.activeDocument;
var myLayerName = app.activeDocument.name;
myDocument1.activeLayer.name = myLayerName;
for (myCounter = 2; myCounter < myMaxPages; myCounter++) {
try {
pdfOpenOptions.page = myCounter;
open(_pdfDatei, pdfOpenOptions);
myLayerName = app.activeDocument.name;
app.activeDocument.activeLayer.name = myLayerName;
app.activeDocument.selection.selectAll();
app.activeDocument.selection.copy(true);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
app.activeDocument = myDocument1;
myDocument1.paste();
myDocument1.activeLayer.name = myLayerName;
} catch (e) {
alert("Done");
myCounter = myMaxPages;
}
}
}- スクリプトファイルを保存し、PhotoshopのPresets内にあるScriptsフォルダに配置します。
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts - 配置後、Photoshopを再起動します。
2. スクリプトの実行
- Photoshopを起動します。
- [ファイル] > [スクリプト] > [参照]から
PDF_Pages_to_Layers.jsxを選択して実行します。 - 読み込みたいPDFファイルを選択すると、各ページが個別のレイヤーとして自動で読み込まれます。

読み込みと書き出しの記事は、ほかにもあります。
あわせて読みたい


Photoshop│PSDをImageMagickで出力するまとめ
ImageMagickを使ってPSDから画像やメタデータを抽出・変換する方法をまとめました。 1. PSDとは 拡張子: .psd(標準) / .psb(大型ドキュメント) 特徴 画像、レイヤー…
あわせて読みたい


Photoshop│PythonでPSDファイルを操作できるpsd-toolsの使い方
ImageMagickの代替として使い始めたpsd-tools。 PSDの編集はできないものの、情報の取得に特化していて便利です。 詳しい内容を解説します。 psd-toolsは、PythonでAdob…
あわせて読みたい


Photoshop│「ファイルをレイヤーとして読み込み」の使い方
Photoshopには、標準で利用できるスクリプトが用意されています。 ここでは、複数の画像ファイルを1つのドキュメントに個別レイヤーとして読み込める 「ファイルをレイ…
あわせて読みたい


Photoshop│「レイヤーをファイルに書き出し」の使い方
Photoshopには、標準機能として利用できる公式スクリプトが複数用意されています。 ここでは、「レイヤーをファイルに書き出し」を使い、レイヤーごとに画像を書き出す…
まとめ
- Adobe XDなどで書き出した複数ページPDFをレイヤーごとに読み込める
- 手作業での配置作業を省き、作業を効率化できる
- ページ数が多いPDFでも一括で処理できる
複数ページのPDFをPhotoshopでレイヤー分けして作業したい場合は、このスクリプトをお試しください。
