InDesignでPDFを複数ページに配置する方法をお探しですね。

広告

InDesignで複数のPDFをまとめて配置する方法【スクリプトで作業時間を大幅短縮】

InDesignで支給されたPDFを台紙に貼り込む作業、数ページなら手作業でもなんとかなりますが、数十ページ、数百ページとなると話は別です。

配置ミスや順番違いが起こりやすくなり、確認作業だけで時間が溶けていきます。

そんなとき「別ファイルのPDFをInDesignの複数ページに一括で流し込む」方法を知っていると、カタログ、教材、校正用データなどを短時間で整えられます。

この記事では、InDesignの標準機能だけでは手間がかかるPDF配置を、スクリプトで効率化する方法を分かりやすく解説します。

1. 手作業でPDFを配置すると、どんな問題が起こる?

InDesignでは、「ファイル」→「配置」からPDFを読み込んで、ページ上にクリックして配置できます。

読み込みオプションを使えば、PDFの何ページ目を配置するか、どの範囲を基準にするかも指定できます。

でもこの方法、基本的に1つずつ選んで1ページずつ配置していく作業なんですよね。

PDFが数点なら問題ありませんが、別々のPDFファイルが大量にあって、それぞれをInDesignの複数ページへ順番に配置したい場合、手作業では時間がいくらあっても足りません。

特に気をつけたいのは、慣れている人でも「同じ操作を何度も繰り返す」場面ではミスが起こりやすいということ。

たとえば、PDFの配置順を間違える、同じPDFを重複して配置する、1ページ飛ばしてしまう、拡大縮小率がページごとに微妙に変わる…といったトラブルです。

DTP制作では、最終的な見た目だけでなく、リンク管理や書き出し時の安定性も重要。

だから単純な反復作業はできるだけ自動化して、人間はレイアウト確認や修正といった判断が必要な作業に集中したほうが効率的なんです。

ここで役立つのが、InDesignのスクリプト機能。

InDesignはJavaScript、AppleScript、Visual Basicなどで操作できるんですが、特にJavaScript形式の「.jsx」ファイルは実務でもよく使われています。

スクリプトを使えば、フォルダー内のPDFを順番に取得して、InDesignのページを追加しながら自動配置する、なんて処理が可能になります。

上位記事でも紹介されているように、DTP制作では画像抽出、画像リサイズ、テキストフレーム分割など、反復作業の自動化によって工期短縮や品質の安定化を実現できます。

PDF配置も同じ考え方で効率化できるんです。

2. スクリプトを使う前に準備しておくこと

スクリプトで一括配置する前に、まずPDFファイルの整理が必要です。

多くのスクリプトは、フォルダー内のファイル名順にPDFを処理します。

なので、配置したい順番に「001.pdf」「002.pdf」「003.pdf」のような連番を付けておくと安全。

「表紙.pdf」「本文A.pdf」「追加資料.pdf」みたいな名前でも処理自体はできますが、OSやスクリプトの並び替え条件によって意図した順番にならないことがあります。

大量のPDFを扱う場合は、ファイル名のルールを先に決めておくことが、後々のミス防止につながります。

InDesign側では、配置先のドキュメントサイズをPDFに合わせておくか、台紙として使うサイズを先に決めておきましょう。

PDFをページ全面に収めたい場合は、InDesignのページサイズとPDFの仕上がりサイズが一致していると、配置後の確認が楽になります。

逆に、PDFを少し縮小して余白付きで配置したい、ヘッダーやノンブルを追加したい、校正用の注記スペースを残したい、という場合は、あらかじめマージンやマスターページを設計しておくとスムーズです。

自動配置は便利ですが、「どこに、どの大きさで置くのか」というルールが曖昧なままだと、配置後に手直しが増えてしまいます。

また、PDFの種類にも注意が必要です。

単ページPDFが複数あるのか、複数ページPDFが複数あるのかで、使うスクリプトの考え方が変わってきます。

単ページPDFを1ファイルずつInDesignの1ページに配置するだけなら、比較的シンプルなスクリプトで対応できます。

一方、複数ページPDFの全ページを順番に流し込みたい場合は、PDFのページ数を取得して、ページ番号を切り替えながら配置する処理が必要です。

InDesignにはサンプルスクリプトとして「PlaceMultipagePDF.jsx」が用意されている環境もあって、1つの複数ページPDFを連続配置する用途では参考になります。

ただし、複数の別ファイルPDFをまとめて扱う場合は、実務に合わせた調整が必要になります。

準備段階で確認しておきたい項目をまとめると、こんな感じです。

– PDFの配置順が分かるように、ファイル名を連番で統一する
– InDesignのページサイズ、余白、マスターページを先に決める
– 単ページPDFなのか、複数ページPDFなのかを確認する
– 配置基準をトリミング、メディア、裁ち落としのどれにするか決める
– 作業前にInDesignファイルとPDFフォルダーのバックアップを取る

3. フォルダー内のPDFを一括配置する基本スクリプト

ここでは、フォルダー内にある複数の単ページPDFを、InDesignの各ページへ1つずつ配置する基本例を紹介します。

実務では環境や仕上がり条件に応じて調整が必要ですが、「PDFを選ぶ」「ページを追加する」「ページ全面のフレームに配置する」という流れを理解するには十分です。

スクリプトはInDesignの「ウィンドウ」→「ユーティリティ」→「スクリプト」から管理できます。

ユーザーフォルダーを表示して、以下のような内容を「pdf_batch_place.jsx」などの名前で保存すれば、スクリプトパネルから実行できます。

“`javascript

#target indesign

(function () {
    var doc;
    if (app.documents.length === 0) {
        doc = app.documents.add();
    } else {
        doc = app.activeDocument;
    }

    var folder = Folder.selectDialog("配置するPDFが入ったフォルダーを選択してください");
    if (!folder) return;

    var files = folder.getFiles(function (f) {
        return f instanceof File && /\.pdf$/i.test(f.name);
    });

    files.sort(function (a, b) {
        return decodeURI(a.name) > decodeURI(b.name) ? 1 : -1;
    });

    if (files.length === 0) {
        alert("PDFファイルが見つかりませんでした。");
        return;
    }

    var oldPrefs = app.pdfPlacePreferences.properties;
    app.pdfPlacePreferences.pageNumber = 1;

    for (var i = 0; i < files.length; i++) {
        var page;
        if (i === 0 && doc.pages.length === 1 && doc.pages[0].allPageItems.length === 0) {
            page = doc.pages[0];
        } else {
            page = doc.pages.add(LocationOptions.AT_END);
        }

        var gb = page.bounds;
        var frame = page.rectangles.add({
            geometricBounds: gb,
            strokeWeight: 0
        });

        frame.place(files[i]);
        frame.fit(FitOptions.PROPORTIONALLY);
        frame.fit(FitOptions.CENTER_CONTENT);
    }

    app.pdfPlacePreferences.properties = oldPrefs;
    alert(files.length + "件のPDFを配置しました。");
})();

“`

このスクリプトは、選択したフォルダー内のPDFをファイル名順に並べて、InDesignのページを必要数だけ増やしながら配置していきます。

ページ全体に長方形フレームを作成して、その中へPDFを読み込んだうえで、縦横比を保ったまま収めて中央に揃える処理をしています。

つまり、サイズが完全に一致しないPDFでも、天地左右の比率を崩さずに配置できるわけです。

ただし、紙面いっぱいに塗り足し込みで配置したい場合や、PDFをトリミング基準で読み込みたい場合は、fitの指定やPDF読み込み設定を変更する必要があります。

複数ページPDFを全ページ配置したい場合は、考え方が少し変わります。

InDesignのPDF配置では、`app.pdfPlacePreferences.pageNumber`で読み込むPDFページを指定できます。

なので、1ページ目を配置して、次に2ページ目を配置して、というループ処理を組めば複数ページPDFにも対応できます。

ただし、PDFの総ページ数をどう取得するか、存在しないページ番号を指定したときにどう終了するかなど、実務では検証が必要です。

確実性を重視するなら、Adobe付属のサンプルスクリプトを確認するか、PDFを単ページに分割してから一括配置する運用にすると安定しやすくなります。

4. 一括配置後の確認ポイントと、実務で安全に使うための注意点

スクリプトでPDFを一括配置できるようになると、作業時間は劇的に短縮できます。

でも、自動処理したデータをそのまま完成扱いにするのは避けたほうが安全です。

配置後は、ページ順、PDFの欠落、リンク状態、拡大縮小率、天地左右の余白を必ず確認しましょう。

特に、ファイル名順で処理するスクリプトでは「1.pdf、10.pdf、2.pdf」のような並びになることがあります。

これを防ぐには、最初から「001.pdf、002.pdf、010.pdf」のように桁数をそろえることが重要。

自動化の品質は、スクリプトそのものだけでなく、入力データの整理にも左右されるんです。

印刷や入稿を前提にする場合は、PDFの配置基準にも注意が必要です。

PDFには、メディアボックス、トリムボックス、ブリードボックスなど複数の領域情報が含まれることがあります。

画面上では同じように見えても、どのボックスを基準に配置するかによって、仕上がり位置や塗り足しの見え方が変わります。

支給PDFをそのまま校正用に並べるだけなら大きな問題にならないこともありますが、印刷用の面付け前データや再編集用の台紙として使う場合は、配置基準を必ず確認してください。

必要であれば、スクリプト内でPDF読み込みオプションを指定するか、配置後にプリフライトでチェックする運用を組み込みましょう。

また、InDesignのデータ結合機能との使い分けも理解しておくと便利です。

データ結合は、CSVなどのデータソースを使って、宛名、名刺、QRコード、可変テキスト、画像パスなどを大量に流し込む用途に向いています。

一方、今回のように「別ファイルのPDFをInDesignの複数ページに一括で配置したい」という目的では、ページ追加やPDF配置を直接制御できるスクリプトのほうが柔軟なんです。

上位記事で紹介されているQRコード生成や可変印刷のようなデータ駆動型の作業はデータ結合、フォルダー内のPDFや画像を順番に処理する作業はスクリプト、と考えると整理しやすくなります。

実務でスクリプトを使う最大のメリットは、単なる時短だけじゃありません。

同じルールで処理できるから、作業者ごとのばらつきが減って、配置漏れや手順ミスの発見もしやすくなります。

最初はサンプルスクリプトを少し調整するだけでも十分。

慣れてきたら、配置後にページ番号を追加する、PDF名を小さく表示する、特定サイズのPDFだけ警告を出す、リンク切れを確認する、といった機能を加えることもできます。

InDesignのスクリプト活用は、DTP作業を速くするだけでなく、品質を安定させるための実用的な仕組み。

PDF配置の反復作業が多い現場ほど、早めに導入する価値がありますよ。

広告