Buat Undangan yang Dipersonalisasi dan Gabungkan Menjadi Satu PDF di Power Automate: Alur Kerja Dropbox 7 Langkah

Bagian yang menyulitkan dari pengiriman surat massal bukanlah menulis suratnya, melainkan... menjahit salinan yang dipersonalisasi menjadi satu. Sehingga bagian keuangan, SDM, atau operasional mendapatkan satu PDF yang rapi, bukan lima puluh lampiran. Panduan ini membangun pola yang tepat dalam Power Automate dengan PDF4me Menghasilkan Dokumen (Banyak), Gabungkan beberapa file PDF, Dropbox, dan satu kali penerapan pada setiap perulangan. Tujuh aksi alur. Satu templat DOCX. Sebuah array JSON penerima. Di ujung lainnya akan keluar satu PDF gabungan, satu halaman per penerima, diberi nama dan diunggah kembali ke Dropbox secara otomatis.
Dua langkah Dropbox membingkai alur kerja. Fitur Generate Documents (Multiple) dari PDF4me menghasilkan satu PDF yang dipersonalisasi untuk setiap penerima. Sebuah perulangan "Apply to each" membungkus setiap penerima. streamFile di dalam base64ToBinary(...) dan memasukkannya ke dalam variabel array. Fitur Gabungkan beberapa file PDF dari PDF4me menggabungkan array tersebut menjadi satu file PDF yang terkonsolidasi. Dropbox Buat berkas Menuliskannya kembali. Alur berjalan kurang dari satu menit pada batch dua penerima dan skalanya linier. Tidak ada ekspresi khusus selain yang satu ini. base64ToBiner panggilan.
Tanya Jawab Berbasis Alasan
Mengapa Menghasilkan Dokumen (Banyak) alih-alih (Satu)? Varian Single mengambil satu record dan menghasilkan satu PDF. Untuk menghasilkan N PDF, Anda perlu memanggilnya N kali, masing-masing menambahkan event penagihan dan perjalanan bolak-balik jaringan. (Multiple) mengambil seluruh array JSON dalam satu panggilan dan mengembalikan N PDF secara bersamaan. badan/keluaranDokumenSatu panggilan, satu transaksi penagihan, seluruh batch.
Mengapa menggunakan variabel array ditambah "Terapkan pada setiap item"? Hasilkan Dokumen (Banyak) mengeluarkan setiap PDF sebagai string base64 pada streamFileFungsi `merge multiple PDF files` membutuhkan kumpulan data biner. Perulangan `Apply to each` menjembatani keduanya: mengkonversi setiap string base64 ke biner dengan base64ToBinary(...) dan memasukkannya ke dalam variabel array bernama menggabungkan berkasSetelah perulangan, array tersebut adalah koleksi yang diharapkan oleh aksi penggabungan.
Mengapa menggunakan DOCX sebagai templat dan bukan PDF? Token penggabungan DOCX (<<[Nama Depan]>>, <<[HC_WoM_Date]>>) berada di dalam teks utama tempat mesin PDF4me membacanya secara langsung. Templat PDF memerlukan skema kolom formulir di awal, yang berlebihan untuk sebuah surat. DOCX juga merupakan format ekspor yang sudah digunakan oleh Word, Office 365, dan Google Docs, sehingga penulis dapat mengedit templat tanpa meninggalkan alat tulis mereka.
Mengapa harus digabungkan menjadi satu PDF? Tinjauan kepatuhan, pencetakan massal, jejak audit tanda tangan, dan pengarsipan selanjutnya lebih menyukai satu PDF gabungan daripada N lampiran. Jika Anda memerlukan kembali file individual tersebut, kirimkan saja Pisahkan PDF berdasarkan jumlah halaman = 1 Lakukan tindakan di depan langkah 7 dan Anda akan mendapatkan kedua hal tersebut tanpa perlu membangun ulang alur kerja lainnya.
Apa yang Akan Anda Dapatkan
Masukan: Satu templat DOCX dengan <<[merge_token]>> tempat penampung di /blog data/merge blog template/template.docx, ditambah dengan array JSON penerima yang ditempelkan ke tindakan Hasilkan Dokumen (Banyak). Keluaran: Sebuah file PDF tunggal bernama Merged_files.pdf diunggah ke /blog data/merge blog template/output, dengan satu halaman yang dipersonalisasi untuk setiap penerima dalam urutan yang sama dengan array JSON. Templat tetap tidak berubah di folder sumbernya sehingga eksekusi ulang bersifat idempoten.
Apa yang Anda Butuhkan
- Power Automate. Open Power Automate. Paket apa pun dengan konektor premium (PDF4me Connect adalah premium).
- Kunci API PDF4me. Dapatkan kunci API AndaHubungkan saat pertama kali Anda menambahkan aksi PDF4me.
- DropboxSumber untuk templat, tujuan untuk PDF yang digabungkan. SharePoint, OneDrive, Google Drive bekerja dengan cara yang sama dengan konektor masing-masing.
- Templat DOCX dengan token penggabunganGunakan sintaks tanda kurung sudut ganda (
<<[NamaBidang]>>Panduan ini menggunakan...templat.docx, Anda bisa Unduh templat persis yang digunakan dalam panduan ini. lalu unggah ke Dropbox untuk mencerminkan setiap tangkapan layar. - Array JSON penerimaSatu objek per penerima, kunci yang persis sama dengan token templat. Unduh contoh JSON.
Unduh file sampel terlebih dahulu. Menjatuhkan Templat.docx ke dalam /data blog/gabungkan templat blog/ Unggah ke Dropbox Anda dan simpan JSON-nya di tempat penyimpanan sementara. Setiap nilai tangkapan layar di bawah ini kemudian akan sesuai dengan apa yang Anda lihat di alur kerja Anda sendiri.
Gambaran Alur Secara Singkat
- Memicu alur secara manual (pemicu).
- Dropbox: Mendapatkan konten file menggunakan jalur. Membaca
template.docxdari Dropbox. - PDF4me: Hasilkan Dokumen (Banyak). Template ditambah array JSON penerima sebagai input, array PDF yang dipersonalisasi sebagai output.
- Inisialisasi variabel bernama
mergefiles(Array). - Terapkan pada setiap pada
body/outputDocuments, dengan Tambahkan ke variabel array menggunakanbase64ToBinary(...)di dalam. - PDF4me: Menggabungkan beberapa file PDF menjadi satu file PDF. Array biner masuk, satu PDF keluar.
- Dropbox: Buat fileMenulis
Merged_files.pdfKembali ke Dropbox.
Gambaran alur lengkap

Tujuh aksi. Setiap kartu menampilkan tanda centang hijau saat dikonfigurasi. PDF4me berada di tengah dua kali: sekali untuk menghasilkan, sekali untuk menggabungkan.
Langkah 0: Templat DOCX
Sebelum alur kerja apa pun dijalankan, templat memerlukan token penggabungan yang tepat. Setiap <<[FieldName]>> Placeholder akan diganti sekali untuk setiap penerima. Ejaan dan huruf besar/kecil harus sama persis dengan kunci JSON.
Pratinjau templat

File DOCX menggunakan sintaks tanda kurung sudut ganda. Tidak ada karakter khusus, tidak ada XML, hanya placeholder literal yang dibaca langsung oleh mesin PDF4me.
Langkah 1: Memicu Alur Secara Manual
Alur sejauh ini: hanya pemicu.
- Di dalam Power Automate klik Membuat, memilih Aliran awan instan.
- Memilih Memicu alur secara manual sebagai pemicunya.
- Beri nama pada alur tersebut (misalnya,
Bulk Invitation Mailout) dan klik Membuat. - Biarkan kolom input pemicu kosong untuk sementara. Pemicu produksi sebenarnya (permintaan HTTP, pembaruan daftar SharePoint, jadwal) akan dimasukkan di sini setelah alur kerja lainnya berfungsi.
Langkah 2: Dropbox: Mendapatkan Konten File Menggunakan Jalur
Alur sejauh ini: trigger plus Dapatkan konten file.
Membaca templat DOCX ke dalam alur sebagai byte mentah sehingga Generate Documents dapat langsung menggunakannya.
- Klik + Langkah baru, mencari Dropbox, memilih Dapatkan isi file menggunakan jalur..
- Menghubungkan Dropbox, jika Anda belum memilikinya.
- Konfigurasi:
- Jalur File:
/blog data/merge blog template/template.docx - Menentukan Jenis Konten:
Yes
- Jalur File:
- Menyimpan Alurnya dan jalankan tes cepat. Tindakan tersebut mengembalikan
File Contenttoken yang berisi biner templat.
Dapatkan konfigurasi konten file

Opsi "Infer Content Type Yes" inilah yang membuat tindakan PDF4me selanjutnya menerima file tersebut sebagai DOCX asli, bukan sebagai aliran data generik.
Langkah 3: PDF4me: Hasilkan Dokumen (Banyak)
Alur sejauh ini: Pemicu plus Dapatkan konten file plus Hasilkan Dokumen (Beberapa).
Di sinilah satu file DOCX ditambah array JSON menjadi N PDF yang dipersonalisasi dalam satu panggilan tindakan.
- Klik + Langkah baru, mencari PDF4me, memilih Buat Dokumen (Beberapa).
- Menghubungkan PDF4me Terhubung dengan kunci API Anda (hanya untuk pertama kali).
- Konfigurasi bagian atas aksi:
- Jenis File Templat:
Docx - Nama File Templat:
Test.docx(hanya label, bukan jalur) - Data File Templat: pilih Isi File token dari langkah 2
- Jenis Data Dokumen:
Json
- Jenis File Templat:
Langkah 3a: Puncak aksi

- Tempelkan array JSON ke dalam Teks Data DokumenPanduan ini menggunakan dua penerima (John Doe, X AB). Setiap objek memiliki 19 kunci yang sama, setiap kunci cocok dengan sebuah
<<[Token]>>dalam templat DOCX.
Langkah 3b: Muatan JSON

[
{
"DebtorNumber": "100001",
"Salutation": "Mr",
"Title": "Dr.",
"FirstName": "John",
"LastName": "Doe",
"CareOfAddress": "c/o Accounting Department",
"Address": "123 Main Street",
"POBox": "PO Box 123",
"PostalCode": "10001",
"City": "New York",
"Country": "United States",
"HC_Name": "ABC Business Association",
"SalutationText": "Dear Dr. Doe",
"HC_Phone": "+1-212-555-0100",
"HC_WoM_RegistrationDeadline": "2026-05-22",
"HC_Street": "500 Park Avenue",
"HC_PostalCodeCity": "10022 New York",
"HC_WoM_Date": "2026-05-29",
"HC_WoM_Time": "10:00"
},
{
"DebtorNumber": "100001",
"Salutation": "Mr",
"Title": "Dr.",
"FirstName": "X",
"LastName": "AB",
"CareOfAddress": "c/o Accounting Department",
"Address": "123 Main Street",
"POBox": "PO Box 123",
"PostalCode": "10001",
"City": "New York",
"Country": "United States",
"HC_Name": "ABC Business Association",
"SalutationText": "Dear Dr. Doe",
"HC_Phone": "+1-212-555-0100",
"HC_WoM_RegistrationDeadline": "2026-05-22",
"HC_Street": "500 Park Avenue",
"HC_PostalCodeCity": "10022 New York",
"HC_WoM_Date": "2026-05-29",
"HC_WoM_Time": "10:00"
}
]
- Konfigurasi bagian bawah:
- Metadata Bidang: biarkan kosong (opsional, untuk format mata uang, tanggal, atau angka)
- Jenis Keluaran:
PDF - Pertahankan templat PDF agar dapat diedit.:
No
Langkah 3c: Jenis keluaran

- Simpan dan UjiAksi tersebut kembali
body/outputDocuments, serangkaian objek, satu untuk setiap penerima. Setiap objek membawa sebuahstreamFileproperti yang berisi PDF yang dipersonalisasi sebagai string base64.
Tip. Kunci JSON yang hilang akan ditampilkan sebagai string kosong dalam PDF keluaran, bukan sebagai kesalahan. Hal ini memang mentolerir data parsial, tetapi juga berarti kesalahan pengetikan akan gagal tanpa pemberitahuan. Bandingkan daftar token Anda dengan kunci JSON sebelum dipublikasikan, karena keduanya peka terhadap huruf besar dan kecil.
Langkah 4: Inisialisasi Variabel mergefiles
Alur sejauh ini: Pemicu plus Dapatkan konten file plus Hasilkan Dokumen (Beberapa) plus Inisialisasi variabel.
Aksi penggabungan memerlukan kumpulan file biner. Buat array kosong untuk menampungnya.
- Klik + Langkah baru, memilih Inisialisasi variabel.
- Konfigurasi:
- Nama:
mergefiles - Jenis:
Array - Nilai: biarkan kosong
- Nama:
Inisialisasi konfigurasi variabel

Inisialisasi variabel selalu dilakukan sebelum penerapan pertama pada setiap item yang membutuhkannya. Power Automate memberlakukan hal ini pada tahap desain.
Langkah 5: Terapkan ke Setiap Plus Tambahkan ke Variabel Array
Alur sejauh ini: Pemicu plus Dapatkan konten file plus Hasilkan Dokumen (Beberapa) plus Inisialisasi variabel plus Terapkan ke masing-masing.
Lakukan perulangan pada file PDF dan konversikan setiap file ke buffer biner.
Langkah 5a: Terapkan ke masing-masing (pilih sumbernya)
- Klik + Langkah baru, memilih Terapkan pada setiap.
- Konfigurasi:
- Pilih output dari langkah sebelumnya: memilih
body/outputDocumentsdari tindakan Hasilkan Dokumen (Banyak)
- Pilih output dari langkah sebelumnya: memilih

Langkah 5b: Tambahkan ke variabel array (di dalam loop)
- Di dalam klik Terapkan ke setiap kontainer Tambahkan tindakan, memilih Tambahkan ke variabel array.
- Konfigurasi:
- Nama:
mergefiles - Nilai (ekspresi, klik)
fx):base64ToBinary(items('Apply_to_each')?['streamFile'])
- Nama:

Inilah satu kalimat yang menghubungkan semuanya. Hasilkan Dokumen (Banyak) mengeluarkan string base64 pada streamFileMenggabungkan beberapa file PDF membutuhkan buffer biner. base64ToBinary(...) Ini adalah jembatan penghubung. Tanpa itu, tindakan penggabungan akan mengalami kesalahan dengan pesan "konten tidak valid".
Langkah 6: PDF4me: Menggabungkan Beberapa File PDF Menjadi Satu File PDF
Alur sejauh ini: Pemicu plus Dapatkan konten file plus Hasilkan Dokumen (Beberapa) plus Inisialisasi variabel plus Terapkan ke setiap plus Gabungkan beberapa PDF.
Sekarang seluruh array masuk dan satu PDF keluar.
- Di bawah klik Terapkan ke setiap perulangan + Langkah baru, mencari PDF4me, memilih Menggabungkan beberapa file PDF menjadi satu file PDF..
- Konfigurasi:
- Isi/dokumen: pilih
mergefilestoken variabel - Nama File Output:
Test.pdf
- Isi/dokumen: pilih
Konfigurasi tindakan penggabungan

- Tindakan ini menggabungkan PDF di urutan array, yang merupakan urutan JSON. Jika konsumen hilir Anda mengharapkan pengurutan tertentu (alfabetis, berdasarkan nomor debitur, berdasarkan wilayah), urutkan JSON sebelum langkah 3 dan alur selanjutnya akan mempertahankan urutan tersebut.
Tip. Butuh nama file output yang berbeda untuk setiap proses? Buat secara dinamis dengan concat('Undangan_', utcNow('yyyy-MM-dd'), '.pdf') pada kolom Nama File Output. PDF yang digabungkan akan memiliki stempel tanggal dan pengulangan proses tidak akan saling menimpa.
Langkah 7: Dropbox: Buat File
Alur sejauh ini: Pemicu plus Dapatkan konten file plus Hasilkan Dokumen (Beberapa) plus Inisialisasi variabel plus Terapkan ke setiap plus Gabungkan beberapa PDF plus Buat file.
Salin kembali PDF yang telah digabungkan ke Dropbox.
- Klik + Langkah baru, memilih Dropbox, Buat berkas.
- Konfigurasi:
- Jalur Folder:
/blog data/merge blog template/output - Nama File:
Merged_files.pdf - Isi File: pilih Isi File token dari langkah 6 (Gabungkan beberapa PDF)
- Jalur Folder:
- Menyimpan alurnya.
Buat konfigurasi file

Jalankan Alur dan Verifikasi
- Klik Tes Di pojok kanan atas, pilih Secara manual, klik Tes, Kemudian Alur eksekusi.
- Panel eksekusi alur berubah menjadi hijau tindakan demi tindakan. Pembuatan Dokumen (Beberapa) biasanya membutuhkan satu detik per catatan pada templat satu halaman. Penggabungan beberapa PDF menambahkan satu atau dua detik lagi untuk dua penerima.
- Buka Dropbox di
/blog data/merge blog template/output/Berkas tersebutMerged_files.pdfada di sana.
Hasilnya, berdampingan


Apa yang sebenarnya kamu bangun? Sebuah fitur pengiriman surat massal tanpa interaksi pengguna yang mengubah satu surat DOCX dan daftar penerima JSON menjadi satu PDF gabungan, siap untuk dicetak, ditandatangani, diarsipkan, atau dilampirkan. Pola yang sama dapat menangani dua penerima atau dua ribu penerima tanpa mengubah nilai bidang apa pun. Pola yang sama berfungsi di Make (Iterator ditambah modul PDF4me Merge) dan Zapier (Looping by Zapier ditambah aksi PDF4me Merge).
Variasi Umum yang Dapat Anda Tambahkan Tanpa Membangun Ulang
berkas_gabungan.pdf dan surat tersebut langsung masuk ke bagian keuangan, operasional, atau percetakan tanpa melalui Dropbox bolak-balik.PDF/A-2bSalinan Dropbox tersebut kemudian siap untuk diarsipkan dan sesuai dengan standar ISO 19005.Penyelesaian Masalah
Yang Nilai ekspresi dalam Tambahkan ke array tidak dibungkus dalam base64ToBinary(...)Tanpa konversi, tindakan penggabungan akan menerima string base64, bukan buffer biner. Buka kembali Tambahkan ke array, beralih ke editor ekspresi, dan tempel base64ToBinary(items('Apply_to_each')?['streamFile']) kata demi kata.
Kunci JSON tidak cocok dengan token templat. Hasilkan Dokumen (Banyak) mengganti kunci yang hilang dengan string kosong, yang bersifat toleran tetapi membiarkan kesalahan pengetikan gagal tanpa pemberitahuan. Bandingkan daftar token DOCX Anda dengan kunci JSON, keduanya peka terhadap huruf besar dan kecil.
Perulangan "Apply to each" mengulangi sumber yang salah. Buka perulangan, konfirmasi. Pilih output dari langkah sebelumnya titik pada badan/keluaranDokumen (array tersebut), bukan pada satu properti dari satu catatan.
Urutan halaman sesuai dengan urutan JSON. Urutkan larik JSON sebelum Menghasilkan Dokumen (Beberapa) menggunakan Memilih atau Menyusun tindakan agar penerima tiba sesuai urutan yang Anda butuhkan.
Langkah Selanjutnya
Pola tujuh langkah yang sama (memicu, kemudian mengambil templat, kemudian menghasilkan batch, kemudian mengulang ke array, kemudian menggabungkan, kemudian menyimpan) berlaku untuk pengiriman email massal yang dipersonalisasi di Power Automate. Kirim satu, dan pengiriman berikutnya hampir tidak memerlukan biaya.