Lewati ke konten utama

Menggabungkan Secara Otomatis Setiap PDF yang Dijatuhkan ke Folder Dropbox di Power Automate: Alur Kerja Dinamis 6 Langkah

· Satu menit membaca
SEO and Content Writer

Bagian yang menyulitkan dari tiket "gabungkan PDF ini" bukanlah proses penggabungannya, melainkan... mengetahui isi folder pada saat runtimeNama berubah, berkas datang dan pergi, seseorang menambahkan dokumen kelima pada pukul 4:55 sore. Panduan ini membangun pola yang tepat dalam Power Automate dengan PDF4me Menggabungkan beberapa file PDF, Dropbox, dan satu kali penerapan pada setiap perulangan. Enam aksi alur. Nol nama file yang dikodekan secara permanen. Setiap PDF yang saat ini ada di folder yang dipantau akan digabungkan saat file baru masuk, dan nama output membawa jumlah file sehingga setiap eksekusi dapat diidentifikasi secara unik.

Alur secara sekilas
1. When a file is created
Dropbox trigger on /blog data/merge files dropbox. Fires the moment any file lands.
2. List files in folder
Dropbox action on the same folder. Returns every current file as an array of metadata objects.
3. Initialize variable
Name Files, Type Array. Buffer for the binary content of every file.
4. Apply to each
Loop body(List_files_in_folder). Inside, Get file content by Id, then Append to array with base64ToBinary on $content.
5. Merge multiple PDFs
PDF4me action. Body/docContent the Files array, Output File Name Output.pdf. One consolidated PDF out.
6. Create file
Dropbox /blog data/merge blog template/output. File Name expression concat(merge-, length(List_files_in_folder), .pdf).
Versi singkatnya

A Saat sebuah file dibuat Dropbox mengaktifkan pemicu setiap kali ada unggahan baru. Daftar file dalam folder mengembalikan cuplikan dari setiap file yang saat ini ada di dalam folder (dalam proses ini, empat file PDF: Contoh_PDF.pdf, sample_3_page.pdf, contoh_pdf.pdf, contoh.pdf). Sebuah perulangan "Terapkan ke setiap item" menelusuri daftar tersebut, memanggil Dapatkan isi file oleh Id, dan mendorong base64ToBinary(body('Get_file_content')?['$content']) ke dalam variabel array bernama BerkasPDF4me Gabungkan beberapa file PDF Mengonsumsi array dan menghasilkan satu PDF. Dropbox Buat berkas menuliskannya kembali sebagai merge-4.pdf, karena ada empat file input. Tambahkan file kelima besok dan proses selanjutnya akan menghasilkan gabungkan-5.pdf secara otomatis.

Tanya Jawab Berbasis Alasan

Mengapa menggunakan pemicu dan Daftar file dalam folder secara bersamaan? Pemicu tersebut memberi Anda satu peristiwa file baru, tetapi tidak menjamin daftar semua hal lain di dalam folder tersebut selalu terbaru. Daftar file dalam folder mengambil snapshot keadaan saat ini pada saat runtime, sehingga penggabungan selalu mencerminkan persis apa yang ada di disk saat ini, bukan apa yang ada saat pemicu diaktifkan atau saat alur dirancang.

Mengapa mengambil data berdasarkan ID dan bukan berdasarkan jalur? Nama file dapat berbenturan atau berubah. ID Dropbox stabil, unik, dan kebal terhadap perubahan nama. Pemetaan Pengenal dari Daftar file ke Dapatkan isi file Artinya, perulangan tetap berjalan meskipun pengguna mengganti nama file di tengah proses, atau jika dua file memiliki nama tampilan yang sama di subfolder yang berbeda.

Mengapa base64ToBinary(...) pada $content? Dropbox Dapatkan isi file mengembalikan file sebagai string base64 yang dibungkus dalam $content Properti. Aksi Gabungkan beberapa file PDF di PDF4me mengharapkan kumpulan buffer biner, bukan string base64. base64ToBinary(body('Get_file_content')?['$content']) adalah jembatan yang mengonversi setiap file begitu file tersebut masuk ke dalam array.

Mengapa membuat nama file output dengan gabungan() Dan panjang()? Pengkodean langsung Output.pdf Artinya, setiap eksekusi akan menimpa eksekusi sebelumnya. concat('merge-', string(length(body('List_files_in_folder'))), '.pdf') Menambahkan nomor file ke dalam nama, sehingga proses berurutan akan tercatat sebagai gabungkan-3.pdf, merge-4.pdf, gabungkan-5.pdfBonus: dengan melihat sekilas folder output, Anda dapat mengetahui berapa banyak file yang termasuk dalam cakupan setiap kali proses berlangsung.


Apa yang Akan Anda Dapatkan

Masukan: Sebuah folder Dropbox di /blog data/merge files dropbox berisi PDF apa pun yang Anda seret ke dalamnya. Panduan ini menggunakan empat PDF: PDFA_Sample.pdf, sample_3_page.pdf, sample_pdf.pdf, sample.pdf. Keluaran: Sebuah PDF terpadu tunggal di /blog data/merge blog template/output/ bernama merge-N.pdf Di mana N adalah jumlah file pada saat dijalankan. Tambahkan lebih banyak file dan proses selanjutnya akan secara otomatis mengambilnya.

Folder Dropbox sebelum dijalankan

Folder Dropbox /data blog/gabungkan file Dropbox berisi empat file PDF yang diurutkan berdasarkan nama: PDFA_Sample.pdf 16,5 KB, sample_3_page.pdf 2,48 KB, sample_pdf.pdf 2,14 KB, sample.pdf 97,67 KB, semuanya diatur ke Akses Hanya untuk Anda

Folder Dropbox setelah dijalankan

Daftar folder output Dropbox berisi merge-3.pdf berukuran 37,22 KB dan merge-4.pdf berukuran 110,78 KB, masing-masing output diberi nama sesuai dengan jumlah file yang tercakup saat alur dijalankan.

Eksekusi kedua memiliki empat file di dalam folder, jadi hasilnya adalah... merge-4.pdf. Edisi sebelumnya memiliki tiga.


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.
  • DropboxFolder sumber untuk PDF input, folder tujuan untuk output yang telah digabungkan. SharePoint, OneDrive, dan Google Drive berfungsi identik dengan konektor yang sesuai.
  • Sejumlah kecil file PDFUkuran apa pun, kombinasi apa pun. Panduan ini menggunakan empat contoh: Contoh_PDF.pdf, sample_3_page.pdf, contoh_pdf.pdf, contoh.pdf. Seret dan lepas agar setiap tangkapan layar tercermin.

Ambil terlebih dahulu himpunan input dan output yang diharapkan. Unduh keempat sampel tersebut ke dalam /data blog/gabungkan file dropbox Di Dropbox Anda, lalu publikasikan alur tersebut. Eksekusi pertama Anda seharusnya menghasilkan sebuah merge-4.pdf identik dengan yang tertaut di sini.


Gambaran Alur Secara Singkat

  1. Dropbox: Saat sebuah file dibuat (pemicu).
  2. Dropbox: Daftar file dalam folderMengembalikan semua file yang saat ini ada di folder yang dipantau.
  3. Inisialisasi variabel bernama Files (Array).
  4. Terapkan pada setiap pada body('List_files_in_folder'):
    • Dropbox: Dapatkan isi file oleh Id.
    • Tambahkan ke variabel array dengan base64ToBinary(body('Get_file_content')?['$content']).
  5. PDF4me: Menggabungkan beberapa file PDF menjadi satu file PDF. Files di dalam, Output.pdf keluar.
  6. Dropbox: Buat fileNama File concat('merge-', string(length(body('List_files_in_folder'))), '.pdf').

Gambaran alur lengkap

Kanvas alur Power Automate menampilkan enam tindakan yang tersusun dari atas ke bawah: Saat file dibuat, Daftar file dalam folder, Inisialisasi variabel, Terapkan ke setiap elemen yang berisi Dapatkan konten file dan Tambahkan ke variabel array yang diulang 4 kali, Gabungkan beberapa file PDF menjadi satu file PDF, Buat file

Enam tindakan. Opsi "Terapkan ke setiap kartu" menunjukkan "1 dari 4" karena folder yang dipantau berisi empat PDF pada saat dijalankan.


Langkah 1: Dropbox: Saat File Dibuat (Pemicu)

Alur sejauh ini: hanya pemicu.

  1. Di dalam Power Automate klik Membuat, memilih Alur cloud otomatis.
  2. Sebutkan alurnya (misalnya, Auto-Merge Dropbox Folder), memilih Dropbox: Saat sebuah file dibuat sebagai pemicu, klik Membuat.
  3. Menghubungkan Dropbox, jika Anda belum memilikinya.
  4. Konfigurasi:
    • Map: /blog data/merge files dropbox
    • Parameter lanjutanBiarkan pada pengaturan default (0 dari 1 ditampilkan).

Konfigurasi pemicu

Power Automate Dropbox Saat file dibuat, picu dengan Folder diatur ke /blog data/merge files dropbox dan Parameter lanjutan dilipat menampilkan 0 dari 1, Terhubung ke Dropbox

Pemicu ini melakukan polling pada folder yang dipantau dan aktif setiap kali ada unggahan baru. Frekuensi polling default bervariasi tergantung paket langganan, biasanya 1 hingga 5 menit.


Langkah 2: Dropbox: Daftar File dalam Folder

Alur sejauh ini: Trigger plus menampilkan daftar file dalam folder.

Pemicu diaktifkan pada satu file baru. Penggabungan membutuhkan semua PDF yang saat ini ada di dalam folder. Daftar file dalam folder mengambil snapshot terbaru dari isi folder pada saat dijalankan.

  1. Klik + Langkah baru, mencari Dropbox, memilih Daftar file dalam folder.
  2. Konfigurasi:
    • Map: /blog data/merge files dropbox (jalur yang sama dengan pemicu)

Konfigurasi daftar file

Power Automate Dropbox Daftar file dalam tindakan folder dengan Folder diatur ke /blog data/merge files dropbox, Terhubung ke Dropbox
  1. Aksi kembali body('List_files_in_folder'), sebuah array objek metadata file. Setiap objek membawa Id, Name, DisplayName, Path, LastModified, Dan SizeLangkah selanjutnya adalah mengulangi array ini.

Tip. Jika folder Anda berisi konten campuran (PDF di samping gambar dan dokumen Office) dan Anda hanya ingin menggabungkan PDF, tambahkan Susunan filter tindakan setelah langkah ini dengan ekspresi endsWith(toLower(item()?['Name']), '.pdf') dan memasukkan array yang telah difilter ke dalam loop sebagai gantinya.


Langkah 3: Inisialisasi File Variabel

Alur sejauh ini: Pemicu ditambah Daftar file ditambah Inisialisasi variabel.

Aksi penggabungan membutuhkan kumpulan file biner. Alokasikan array kosong untuk mengumpulkannya.

  1. Klik + Langkah baru, memilih Inisialisasi variabel.
  2. Konfigurasi:
    • Nama: Files
    • Jenis: Array
    • Nilai: biarkan kosong

Inisialisasi konfigurasi variabel

Tindakan inisialisasi variabel Power Automate dikonfigurasi dengan Nama File dan Tipe Array serta kolom Nilai yang kosong.

Langkah 4: Terapkan ke Setiap Plus Dapatkan Konten File Plus Tambahkan ke Array

Alur sejauh ini: Pemicu ditambah Daftar file ditambah Inisialisasi variabel ditambah Terapkan ke masing-masing.

Inilah inti dari alur kerjanya. Lakukan perulangan pada setiap file yang dikembalikan oleh snapshot, ambil byte-nya, konversi ke biner, lalu masukkan ke dalam Files.

Langkah 4a: Terapkan ke masing-masing (pilih sumbernya)

  1. Klik + Langkah baru, memilih Terapkan pada setiap.
  2. Konfigurasi:
    • Pilih output dari langkah sebelumnya (ungkapan): body('List_files_in_folder')
Power Automate Terapkan ke setiap tindakan dengan Pilih output dari langkah sebelumnya yang diatur ke ekspresi body open quote List_files_in_folder close quote close paren, token Body dari List files in folder ditampilkan

Langkah 4b: Dapatkan isi file (di dalam loop)

  1. Di dalam lingkaran, klik Tambahkan tindakan, memilih Dropbox: Dapatkan isi file.
  2. Konfigurasi:
    • Mengajukan: pilih Pengenal token dari Daftar file dalam konten dinamis folder (secara otomatis akan mengarah ke ID item saat ini).
    • Menentukan Jenis Konten: Yes (di bawah Parameter Lanjutan)
Power Automate Dropbox Dapatkan tindakan konten file dengan File diatur ke token Id dari Daftar file dalam folder, Parameter Lanjutan Infer Content Type Ya, panel konten dinamis terbuka di sebelah kanan yang menampilkan token Id, Name, DisplayName, Path, LastModified, Size dari Daftar file dalam folder

Langkah 4c: Tambahkan ke variabel array (di dalam loop)

  1. Di bawah ini, dapatkan isi file. Tambahkan tindakan, memilih Tambahkan ke variabel array.
  2. Konfigurasi:
    • Nama: Files
    • Nilai (ekspresi, klik) fx): base64ToBinary(body('Get_file_content')?['$content'])
Power Automate Tambahkan ke variabel array di dalam loop Terapkan ke setiap, Beri Nama File, Nilai diatur ke ekspresi base64ToBinary body open quote Get_file_content close quote close paren question dollar content close bracket yang ditampilkan di editor ekspresi

Inilah satu kalimat yang menghubungkan semuanya. Dropbox mengembalikan setiap file sebagai { "$content": "<base64 string>", "$content-type": "application/pdf" }Aksi penggabungan membutuhkan buffer biner. base64ToBinary(...) pada $content menjembatani keduanya. Lewati konversi dan tindakan penggabungan akan menampilkan kesalahan "konten tidak valid".


Langkah 5: PDF4me: Menggabungkan Beberapa File PDF Menjadi Satu File PDF

Alur sejauh ini: Pemicu plus Daftar file plus Inisialisasi variabel plus Terapkan ke setiap file plus Gabungkan beberapa PDF.

Seluruh array masuk dan satu PDF keluar.

  1. Di bawah klik Terapkan ke setiap perulangan + Langkah baru, mencari PDF4me, memilih Menggabungkan beberapa file PDF menjadi satu file PDF..
  2. Menghubungkan PDF4me Terhubung dengan kunci API Anda (hanya untuk pertama kali).
  3. Konfigurasi:
    • Isi/dokumen: pilih Files token variabel
    • Nama File Output: Output.pdf

Konfigurasi tindakan penggabungan

Power Automate PDF4me Menggabungkan beberapa file PDF menjadi satu file PDF dengan Body/docContent diatur ke variabel Files dan Nama File Output Output.pdf, panel konten dinamis terbuka menampilkan Variabel Files, Terapkan ke setiap, Item saat ini, Daftar file dalam folder, Body
  1. File PDF tersebut digabungkan dalam urutan array, yang merupakan urutan pengembalian Dropbox (biasanya berdasarkan abjad nama). Jika Anda memerlukan urutan yang berbeda, urutkan body('List_files_in_folder') dengan Memilih tindakan sebelum perulangan, misalnya dengan LastModified untuk yang terbaru terlebih dahulu.

Tip. Bagian dalam Output.pdf `name` hanyalah judul metadata PDF, bukan nama file Dropbox. Nama Dropbox yang sebenarnya diatur pada langkah 6. Simpan ini sebagai placeholder tetap agar Anda dapat mencari jalankan alur kerja berdasarkan nama tersebut di riwayat eksekusi Power Automate.


Langkah 6: Dropbox: Membuat File dengan Nama File Dinamis

Alur sejauh ini: Pemicu plus Daftar file plus Inisialisasi variabel plus Terapkan ke setiap item plus Gabungkan beberapa PDF plus Buat file.

Tulis kembali PDF yang telah digabungkan ke Dropbox dengan nama file yang dihitung saat runtime yang menyertakan jumlah file.

  1. Klik + Langkah baru, memilih Dropbox: Buat file.
  2. Konfigurasi:
    • Jalur Folder: /blog data/merge blog template/output
    • Nama File (ekspresi, klik) fx): concat('merge-', string(length(body('List_files_in_folder'))), '.pdf')
    • Isi File: pilih Isi File token dari tindakan Gabungkan beberapa PDF

Ekspresi nama file

Power Automate Dropbox Buat tindakan file Jalur Folder /data blog/gabungkan templat blog/output, Ekspresi Nama File concat tanda kurung buka gabungkan tanda hubung koma string tanda kurung buka panjang tanda kurung buka isi tanda kutip Daftar_file_dalam_folder tanda kutip tutup tanda kurung tutup tanda kurung tutup koma titik pdf tanda kurung tutup, Konten File dari tindakan penggabungan

Aksi terakhir siap

Aksi Buat berkas Dropbox Power Automate dengan Jalur Folder /data blog/gabungkan templat blog/output, ekspresi penggabungan token Nama Berkas, token Konten Berkas dari aksi Gabungkan beberapa berkas PDF menjadi satu berkas PDF, panel konten dinamis yang menampilkan token Konten Berkas, header/NamaBerkas, header/JumlahHalaman

Ekspresi yang sama juga mengungkap header/JumlahHalaman Pada output penggabungan, berguna jika Anda ingin mencatat berapa banyak halaman yang terdapat dalam PDF yang telah digabungkan.

Tip. Jika Anda lebih memilih untuk membubuhkan tanggal pada hasil eksekusi daripada jumlah file, ganti ekspresi tersebut dengan concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf')File mendarat sebagai merge-2026-06-12-094501.pdf dan tayangan ulang tidak pernah bentrok.


Jalankan Alur dan Verifikasi

  1. Menyimpan Aliran di kanan atas.
  2. Seret satu (atau empat) file ke dalam /blog data/merge files dropboxApa pun bisa digunakan, interval polling akan memicu respons dalam beberapa menit.
  3. Buka Riwayat eksekusi Di pojok kanan atas, perhatikan tindakan yang berubah menjadi hijau. "Terapkan ke setiap item" akan menampilkan jumlah iterasi yang tepat, "1 dari 4" jika ada empat file di dalam folder.
  4. Buka Dropbox di /blog data/merge blog template/output/Sebuah berkas bernama merge-4.pdf sedang menunggu. Bukalah, semua file PDF dari folder input akan digabungkan menjadi satu dokumen.

Apa yang sebenarnya kamu bangun? Sebuah alur konsolidasi tanpa intervensi yang bereaksi terhadap setiap unggahan baru, membaca seluruh status folder saat dijalankan, dan menulis satu PDF dengan nama unik yang berisi semua file saat ini. Tidak ada daftar yang dikodekan secara manual, tidak ada pekerjaan batch terjadwal, tidak ada klik manual. Pola yang sama menangani 4 PDF atau 400 PDF tanpa perubahan apa pun. Resep yang sama berfungsi di Make (Iterator pada Daftar File Dropbox) dan Zapier (Perulangan oleh Zapier pada hasil Pencarian File).


Variasi Umum yang Dapat Anda Tambahkan Tanpa Membangun Ulang

Filter hanya untuk PDF
Masukkan Susunan filter tindakan antara langkah 2 dan langkah 3 dengan endsWith(toLower(item()?['Name']), '.pdf')Kemudian, perulangan tersebut mengabaikan file dengan ekstensi .docx, .png, dan ekstensi lainnya di dalam folder tersebut.
Urutkan berdasarkan yang terbaru terlebih dahulu
Tambahkan Memilih tindakan yang memetakan daftar dan mengurutkannya dengan sort(body('Daftar_file_dalam_folder'), 'Terakhir_Diubah'). Balikkan dengan balik(...) Jika Anda ingin yang terbaru berada di bagian atas PDF yang digabungkan.
Konversikan ke PDF/A setelah penggabungan
Sisipkan PDF4me Buat PDF/A antara langkah 5 dan langkah 6 dengan Kepatuhan PDF/A-2b. Hasil yang masuk ke Dropbox sekarang sudah sesuai dengan standar pengarsipan ISO 19005.
Berkas sumber arsip
Setelah langkah 6, tambahkan lagi Terapkan pada setiap Lihat daftar file dan panggil Dropbox. Pindahkan berkas untuk mendorong setiap input ke dalam /diprosesPada eksekusi berikutnya hanya akan ditampilkan unggahan terbaru.

Penyelesaian Masalah

Kesalahan tindakan penggabungan dengan "konten tidak valid"

Tambahkan ke array Nilai ekspresi tidak dibungkus dalam base64ToBinary(...)Tanpa konversi, array tersebut berisi string base64 alih-alih buffer biner dan PDF4me menolaknya. Buka kembali "Tambahkan ke array", beralih ke editor ekspresi, dan tempelkan. base64ToBinary(body('Get_file_content')?['$content']) kata demi kata.

Terapkan pada setiap percobaan nol kali

Pemicu aktif tetapi List files mengembalikan array kosong. Periksa pemicu dan List files. Map Nilainya identik. Ketidakcocokan jalur (satu dengan garis miring di akhir, yang lain tanpa) adalah penyebab umum.

Nama file yang dihasilkan adalah gabungkan-.pdf

Yang panjang() Panggilan tidak terselesaikan pada waktu desain. Pastikan Anda telah menempelkan ekspresi ke dalam Nama File bidang melalui efek Editor ekspresi, bukan sebagai teks biasa. Teks biasa membiarkan tanda kurung kurawal sebagai karakter literal dan fungsi tersebut tidak pernah dijalankan.

Output akan menimpa hasil eksekusi sebelumnya.

Dua kali proses berjalan berturut-turut dengan jumlah file yang sama menghasilkan nama yang identik (merge-4.pdf). Atau ganti ekspresi tersebut dengan stempel waktu (concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf')) atau menambahkan GUID dengan guid().


Langkah Selanjutnya

Pola enam langkah yang sama (pantau, lalu daftar, lalu perulangan ke array, lalu gabungkan, lalu simpan dengan nama saat runtime) menangani otomatisasi "bereaksi terhadap folder" apa pun. Masukkan file baru besok, proses akan langsung memprosesnya. Tidak perlu pengeditan, tidak perlu penyebaran ulang.