Ana içeriğe geç

SharePoint Listesinden PDF Oluşturmayı Otomatikleştirme: Handlebars Şablonu ve HTML'den PDF'ye Fatura İş Akışı

· 26 dakikalık okuma
SEO and Content Writer

PDF4me Tekli Belge Oluştur Bu, Handlebars HTML şablonunu ve bir JSON verisini tamamlanmış bir HTML belgesine dönüştüren bir Power Automate eylemidir; ardından eşleştirilmiş HTML'yi PDF'ye Dönüştür eylemi bunu A4 boyutunda sayfalara ayırır. Yeni bir SharePoint liste satırı akışı başlatır, Compose JSON'u bir araya getirir ve Dropbox, fatura numarasına göre adlandırılmış fatura PDF'sini depolar. Premium bağlantı yok, kod yok.

Her finans ekibi Power Automate'te aynı engelle karşılaşıyor. Dosyayı Dönüştür Bu işlem, premium lisans gerektirir ve HTML şablonuna dokunmayı reddeder. Adobe PDF Hizmetleri ücretlidir. Encodian ücretlidir. matthewdevaney'in popüler çözümü HTML'yi tamamen atlar ve sizi Power Apps'e kilitler. Aşağıdaki model, SERP'te ilk on arasında yer alan hiç kimsenin baştan sona göstermediği modeldir: bir SharePoint liste sütun kümesi, gerçek bir JSON yüküne dönüşür. Gidon şablonu dosya şurada yaşıyor /Shared Documents/Ayrıca, PDF4me'nin iki işlemi, ücretsiz bağlantı katmanı maliyeti karşılığında görüntüleme ve sayfalama işlemlerini gerçekleştirir.

Handlebars şablon oluşturma: PDF4me ve alternatifleri

Her Power Automate mimarının fatura PDF'leri için bir bağlayıcı seçmeden önce yaptığı karşılaştırma:

Yaklaşım vs PDF4meGidon şablonu mu?HTML'den PDF'ye sayfalama aracı?Bağlayıcı katmanıNotlar
PDF4me (bu blog)Evet, Tek Belge OluşturEvet, HTML'yi PDF'ye dönüştürün.Standartİki adet tek amaçlı işlem, premium lisansa gerek yok.
Adobe PDF HizmetleriHAYIREvetPremiumKullanıcı başına maliyet, şablon motoru yok, yalnızca HTML.
EnkodcuYerel şablonlama yokEvetPremiumPopüler ancak kullanım başına ücretli.
matthewdevaney Power Apps rotasıSadece Word şablonuYokStandartHTML'i tamamen atlar, Power Apps ön yüzüne kilitlenmiştir.
Yerli Convert FileHAYIRSadece Word/Excel, HTML değil.PremiumHTML faturası hiç görüntülenemiyor.
Akışa genel bakış
1. When an item is created
SharePoint trigger on the Invoices list. Fires per new row, hands every column to the flow as dynamic content.
2. Compose
Builds one JSON payload from the row: invoice, customer, items[], totals, notes. The exact shape the Handlebars template expects.
3. Get file content using path
SharePoint /Shared Documents/invoice_template.html. The Handlebars template lives beside the data, versioned in the same site.
4. PDF - Generate Document (Single)
PDF4me action. Template File Type Html (Handlebars Syntax), Document Data Type Json, Output Type Html.
5. Convert HTML to PDF
PDF4me action. A4, portrait, scale 0.8, 40px margins, print backgrounds Yes.
6. Create file
Dropbox /. File Name Title.pdf, so INV-1005 is saved as INV-1005.pdf.
kısa versiyon

SharePoint Faturalar listesi, doğruluk kaynağıdır. Yanında tek bir Handlebars HTML şablonu saklanır. Her yeni satırda, Compose JSON'u oluşturur, PDF4me Generate Document (Single) şablonu doldurur, PDF4me Convert HTML to PDF sayfalama işlemini yapar ve Dropbox, tamamlanmış faturayı satırın Başlığı ile adlandırarak kaydeder. Altı işlem, tümü standart seviye bağlantı elemanları, satır başına bir markalı PDF.

Neden Odaklı Soru-Cevap

Handlebars şablonunu SharePoint'te saklamak yerine HTML kodunu doğrudan iş akışına yazmanın daha doğru olmasının nedeni nedir? Şablon, finans veya tasarım ekiplerinin tarayıcıda güncelleyebileceği düzenlenebilir bir dosya haline gelir. Logoyu değiştirin, toplam satırını ayarlayın veya KDV satırı ekleyin; bir sonraki faturada bu değişiklikler otomatik olarak uygulanır. İş akışının yeniden açılmasına asla gerek kalmaz.

Neden tek bir PDF4me işlemi yerine iki işlem? Tekli Belge Oluştur, bir şablon motorudur, sayfalama işlevi görmez. JSON'u HTML'ye dönüştürür ve HTML döndürür. HTML'yi PDF'ye Dönüştür ise bu HTML'yi okuyan, A4 sayfa boyutunu, kenar boşluklarını ve arka plan baskısını uygulayan ve PDF baytlarını döndüren sayfalama işlevidir. Rollerin ayrılması, her eylemin tek amaçlı olmasını sağlar ve sayfalama işleminden önce oluşturulan HTML'yi önizlemenize olanak tanır.

Neden besteyi ortada yapmalısınız? Handlebars şablonu iç içe geçmiş yapıdadır (fatura, müşteri, ürün dizisi, toplamlar). SharePoint size 12 düz sütun sunar. Compose, bu düz sütunları şablonun üzerinde yinelediği iç içe geçmiş veri yapısına dönüştüren "JSON'u birleştirme" adımıdır. Bunu Compose'da yapmak, Belge Oluştur (Tekli) işleminin, yapılandırma dosyasında dağınık halde bulunan 12 dinamik içerikli kod parçası yerine tek bir temiz girdi görmesini sağlar.

Çıktıyı neden SharePoint'e değil de Dropbox'a gönderiyorsunuz? Dropbox demo depolama alanı olarak kullanılıyor. Son adımda herhangi bir dosya bağlayıcı kullanılabilir: SharePoint Dosya Oluştur, OneDrive Dosya Oluştur, Google Drive Dosya Oluştur veya SFTP Yükleme. HTML'den PDF'ye Dönüştürme işleminden gelen gövde düz bir ikili veridir; hedef bir takas işlemidir, yeniden işleme değil.


Neler Alacaksınız?

Giriş: adlı bir SharePoint listesi Invoices (sütunlar: Başlık, Fatura Tarihi, Son Ödeme Tarihi, Müşteri Adı, Müşteri Adresi, Müşteri E-postası, Para Birimi, Ara Toplam, Vergi Oranı, Vergi Tutarı, Genel Toplam, Notlar) artı tek bir Handlebars şablonu /Shared Documents/invoice_template.html. Çıktı: Dropbox'ta her satırda bir A4 PDF dosyası olacak şekilde adlandırılmış {Title}.pdf (INV-1005, INV-1005.pdf haline gelir).


İhtiyacınız Olanlar

  • Güç Otomasyonu. Open Power AutomateAşağıda kullanılan SharePoint, Dropbox ve PDF4me bağlantı araçlarının tümü standart seviyededir, premium plana gerek yoktur.
  • PDF4me API anahtarı. API anahtarınızı alınPDF4me eylemini ilk kez eklediğinizde bağlantıyı kurun.
  • SharePoint sitesi adlı bir liste ile Invoices ve Handlebars şablonunun saklandığı bir Belgeler kitaplığı (herhangi bir isim).
  • Dropbox hesabı (veya herhangi bir dosya hedefi: SharePoint, OneDrive, Google Drive, SFTP hepsi olduğu gibi kalır).
  • Handlebars fatura şablonuYüklemeye hazır /Shared Documents/. fatura_şablonu.htmlİçindeki her Handlebars yolu, aşağıdaki eşleme tablosuyla eşleşir.
  • İmzalı fatura örneği PDFBu akış, INV-1005 için tam olarak ne üretti? fatura-örneği.pdf.

Önce örnekleri alın. Gidon şablonunu indirin ve yükleyin. /Shared Documents/ Akışı oluşturmadan önce, 3. Adımın işaret edeceği bir dosya olsun. Örnek çıktı PDF'si, "başarı"nın tam olarak neye benzediğini gösteriyor.


Akışa Genel Bakış

  1. Bir öğe oluşturulduğunda (SharePoint tetikleyicisi açık) Invoices liste).
  2. Bestelemek İç içe geçmiş JSON veri paketi (fatura / müşteri / ürünler / toplamlar / notlar).
  3. Yol kullanarak dosya içeriğini al için /Shared Documents/invoice_template.html.
  4. PDF - Belge Oluştur (Tekli) Şablon gövdesi ve JSON ile birlikte, çıktı türü HTML.
  5. HTML'yi PDF'ye dönüştür A4 dikey format, 0.8 ölçek, 40 piksel kenar boşlukları, baskı arka planları Evet.
  6. Dosya oluştur Dropbox'ta /, dosya adı {Title}.pdf.

Akışın genel görünümü

Power Automate akış genel görünümü, yeşil başarı onay işaretleri ve çalışma süreleriyle altı ardışık eylemi göstermektedir: SharePoint Bir öğe oluşturulduğunda 0,4 s, Oluştur 0 s, SharePoint Yol kullanarak dosya içeriğini al 0,3 s, PDF4me PDF - Tek Belge Oluştur 0,4 s, PDF4me HTML'yi PDF'ye dönüştür 11 s ve Dropbox Dosya oluştur 1 s

Baştan sona çalışma. 11 saniyelik HTML'den PDF'ye dönüştürme işlemi sayfalama işlemidir, geri kalan her şey yarım saniyenin altındadır.


Adım 1: Yeni bir SharePoint faturasında Power Automate akışını nasıl tetiklersiniz?

Şu ana kadarki akış: Akış buradan başlıyor.

SharePoint tetikleyicisini fatura satırlarınızı içeren siteye ve listeye yönlendirin. Her sütun, aşağı akışta dinamik içerik haline gelir.

  1. Eklemek SharePoint > Bir öğe oluşturulduğunda tetikleyici olarak.
  2. Yapılandır:
    • Site Adresi: SharePoint sitesini seçin (örnekte: PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints).
    • Liste Adı: Invoices.
  3. Kaydedin ve tetikleyicinin liste şemasını algılamasına izin verin. Aşağıdaki ekran görüntüsündeki satırlar (INV-1002, INV-1003, INV-1005), Handlebars şablonunun kullanacağı tam 12 sütunu göstermektedir.

Faturalar listesi

SharePoint fatura listesi, INV-1002 Globex Ltd, INV-1003 Initech Inc ve INV-1005 Initech LLC olmak üzere üç örnek satırla, Başlık, FaturaJson, FaturaTarihi, Son Ödeme Tarihi, MüşteriAdı, MüşteriAdresi, MüşteriE-postası, Para Birimi, Ara Toplam, VergiOranı, VergiTutarı, GenelToplam ve Notlar sütunlarını göstermektedir.

SharePoint listesi, doğruluk kaynağıdır. Buradaki her sütun, Handlebars yükünün bir alanına karşılık gelir.

Tetikleyici yapılandırması

Power Automate SharePoint'te bir öğe oluşturulduğunda, Site Adresi olarak PDF4me SharePoint ve Liste Adı olarak Faturalar ile yapılandırılmış tetikleyici, SharePoint'e bağlı durumunu gösterir.

Tetikleyici sadece iki alandan ibaret. Geri kalan her şey satırdan geliyor.

Uç. Finans ekibiniz faturaları zaten Excel veya Dataverse'te saklıyorsa, orada bırakın. Tetikleyiciyi değiştirin. Excel - Bir satır eklendiğinde veya Dataverse - Bir satır eklendiğindeAkışın geri kalanı değişmez.


Adım 2: SharePoint satırından Handlebars JSON veri paketini nasıl oluşturursunuz?

Şu ana kadarki akış: SharePoint tetikleyicisi.

Compose, 12 düz SharePoint sütununu, Handlebars şablonunun üzerinde yinelediği iç içe geçmiş JSON'a dönüştürür. Şablon şunları bekler: invoice, customer, BİR items sıralamak, totalsve bir notes sicim.

  1. Eklemek Bestelemek.
  2. İçinde GirişlerAşağıdaki JSON'u yapıştırın, ardından sayıların ve tarihlerin metin dizeleri olarak görünmesi için her değerin tırnak işaretleri arasına ilgili SharePoint dinamik içerik hapını bırakın.
{
"invoice": {
"number": "Title",
"date": "InvoiceDate",
"dueDate": "DueDate"
},
"customer": {
"name": "CustomerName",
"address": "CustomerAddress",
"email": "CustomerEmail"
},
"items": [
{ "description": "Item1Description", "quantity": "Item1Qty", "unitPrice": "Item1UnitPrice", "lineTotal": "Item1Amount", "currency": "Currency" },
{ "description": "Item2Description", "quantity": "Item2Qty", "unitPrice": "Item2UnitPrice", "lineTotal": "Item2Amount", "currency": "Currency" },
{ "description": "Item3Description", "quantity": "Item3Qty", "unitPrice": "Item3UnitPrice", "lineTotal": "Item3Amount", "currency": "Currency" },
{ "description": "Item4Description", "quantity": "Item4Qty", "unitPrice": "Item4UnitPrice", "lineTotal": "Item4Amount", "currency": "Currency" },
{ "description": "Item5Description", "quantity": "Item5Qty", "unitPrice": "Item5UnitPrice", "lineTotal": "Item5Amount", "currency": "Currency" }
],
"totals": {
"currency": "Currency",
"subTotal": "Subtotal",
"taxRate": "TaxRate",
"taxAmount": "TaxAmount",
"grandTotal": "GrandTotal"
},
"notes": "Notes"
}

Yapılandırmayı oluştur

Power Automate Compose eylem kodu görünümü, fatura (numara, tarih, vade tarihi), müşteri (ad, adres, e-posta), 5 satır öğesinden oluşan ürün dizisi (açıklama, miktar, birim fiyat, satır toplamı, para birimi), toplamlar (para birimi, ara toplam, vergi oranı, vergi tutarı, genel toplam) ve notlar içeren iç içe geçmiş bir JSON yükünü göstermektedir; her değer bir SharePoint tetikleyicisi dinamik içerik hapına bağlıdır.

Kod görünümünde oluşturun. Her JSON değeri, iki tırnak işareti arasında yer alan bir SharePoint hapı şeklindedir; bu nedenle sayılar ve tarihler, Handlebars şablonunun işleyebileceği dizeler olarak gelir.

Uç. Öğeler dizisini, SharePoint'e eklediğiniz sütunlarla eşleşen sabit bir boyutta tutun (bu örnekte beş). Bir satırda yalnızca üç öğe varsa, SharePoint'te Item4/Item5'i boş bırakın ve bir tane ekleyin. {{#if description}} Handlebars şablonundaki satırın etrafına bir koruma etiketi ekleyerek boş satırların atlanmasını sağlayın.

Referans: SharePoint sütunundan Handlebars yoluna

SharePoint sütunu ile şablon içindeki tam karşılık gelen konum arasındaki eşleşme. Şemayı genişletirken bu tabloyu yer imlerinize ekleyin.

SharePoint sütunuGidon yoluTipŞablonda kullanıldı
Titleinvoice.numberMetinFatura numarası başlığı ve Dropbox dosya adı
InvoiceDateinvoice.dateTarihFatura başlığı
DueDateinvoice.dueDateTarihFatura başlığı
CustomerNamecustomer.nameMetinYasa tasarısını engellemek
CustomerAddresscustomer.addressMetinYasa tasarısını engellemek
CustomerEmailcustomer.emailMetinYasa tasarısını engellemek
Item{N}Descriptionitems[N-1].descriptionMetinSatır öğesi satırı
Item{N}Qtyitems[N-1].quantitySayıSatır öğesi satırı
Item{N}UnitPriceitems[N-1].unitPriceSayıSatır öğesi satırı
Item{N}Amountitems[N-1].lineTotalSayıSatır öğesi satırı
Currencytotals.currency ve her biri items[].currencyMetinPara birimi sembolü
Subtotaltotals.subTotalSayıToplamlar bloğu
TaxRatetotals.taxRateSayıToplamlar bloğu
TaxAmounttotals.taxAmountSayıToplamlar bloğu
GrandTotaltotals.grandTotalSayıToplamlar bloğu
NotesnotesMetinAltbilgi

3. Adım: SharePoint'ten Handlebars şablon dosyasını nasıl yüklersiniz?

Şu ana kadarki akış: SharePoint tetikleyicisi ve Compose.

Şablonu düz bir dosya olarak kaydedin. .html Sitenin Belgeler kitaplığındaki dosya. "Dosya içeriğini yol kullanarak al" eylemi, ham baytlarını okur, böylece "Belge Oluştur (Tekli)" bunları şablon gövdesi olarak kullanabilir.

Şablonun kendisi

Şablon, satır içi CSS içeren sıradan HTML'den ve verilerin yerleştirildiği yerlerde Handlebars ifadelerinden oluşmaktadır. Asıl işi iki yapı yapmaktadır. {{#each items}} Her satır öğesi için tablo satırını tekrarlar ve {{#if description}} İçerideki koruma mekanizması, kullanılmayan Item4 ve Item5 sütunlarının bıraktığı boşlukları atlar.

<tbody>
{{#each items}}
{{#if description}}
<tr>
<td>{{description}}</td>
<td class="num">{{quantity}}</td>
<td class="num">{{currency}}{{unitPrice}}</td>
<td class="num">{{currency}}{{lineTotal}}</td>
</tr>
{{/if}}
{{/each}}
</tbody>

Geri kalan her şey doğrudan bir ikamedir: {{invoice.number}} başlıkta, {{customer.*}} fatura adresi bloğu, {{totals.*}} toplamlar tablosunda ve {{notes}} Altbilgide.

Şablonu indirin. Yükle /Shared Documents/ gibi invoice_template.htmlArdından, en üstte yer alan satıcı adını, adresini ve KDV numarasını düzenleyin. Bunlar bilerek sabit bırakılmıştır, bu nedenle ilk çalıştırmadan önce yalnızca bu satırlara dokunmanız gerekir.

  1. Eklemek SharePoint > Yol kullanarak dosya içeriğini al.
  2. Yapılandır:
    • Site AdresiTetikleyiciyle aynı yer.
    • Dosya Yolu: /Shared Documents/invoice_template.html.
    • İçerik türünü çıkarımla: Yes (Varsayılan ayarları bırakın).

Yol kullanarak dosya içeriğini al

Power Automate SharePoint'te "Dosya içeriğini yol kullanarak al" eylemini, Site Adresi olarak PDF4me Sharepoints, Dosya Yolu olarak /Shared Documents/invoice_template.html ve İçerik türünü çıkar olarak Evet seçenekleriyle kullanın.

Şablon şurada yaşıyor: /Shared Documents/ ve mutlak yol ile alınır. Sürüm geçmişi otomatik olarak oluşturulur çünkü bu sadece bir SharePoint dosyasıdır.

Uç. Şablonunuz OneDrive veya Dropbox'ta bulunuyorsa, bu işlemi depolama biriminin eşdeğeri olan "Dosya içeriğini al" işlemiyle değiştirin. Body Bunlardan herhangi birinin çıktısı, bir sonraki adımda Şablon Dosyası Verilerine aktarılır.


Adım 4: PDF - Belge Oluştur (Tekli) işlevi Handlebars şablonunu nasıl doldurur?

Şu ana kadarki akış: SharePoint tetikleyicisi, Compose ve yol kullanarak dosya içeriğini alma.

Generate Document (Single), şablon motorudur. Handlebars kaynak kodunu okur ({{invoice.number}}, {{#each items}}...{{/each}}Bu kod, JSON verilerinden gelen değerleri değiştirir ve oluşturulmuş HTML'i döndürür. Sayfalama yapmaz. Bu, bir sonraki adımın görevidir.

  1. Eklemek PDF4me PDF > PDF - Belge Oluştur (Tekli).
  2. Yapılandır:
    • Şablon Dosya Türü: Html (Handlebars Syntax).
    • Şablon Dosya Adı: invoice_template.html.
    • Şablon Dosya Verileri: dinamik içerik, Body SharePoint Dosya içeriğini alma adımından.
    • Belge Veri Türü: Json.
    • Belge Verileri Metni: dinamik içerik, Body Oluşturma adımından.
    • Çıktı Türü: Html.
    • PDF şablonunu düzenlenebilir tutun.: No.

Belge Oluştur (Tekli) yapılandırması

PDF4me PDF - Şablon Dosya Türü Html (Handlebars Sözdizimi), Şablon Dosya Adı invoice_template.html, Şablon Dosya Verileri SharePoint Gövdesinden eşlenmiş, Belge Veri Türü Json, Belge Veri Metni Oluşturma Gövdesinden eşlenmiş, Çıktı Türü Html, PDF şablonunun düzenlenebilir kalmasına izin verilmemiş ve PDF4me PDF durumuna bağlı olarak Belge Oluştur (Tek) işlemi.

Çıktı Türü Html, Olumsuz Pdf. Belge Oluştur (Tekli) seçeneği, oluşturulan HTML'yi bir sonraki adıma aktarır, böylece sayfalama ayrı ve test edilebilir bir konu olarak kalır.

Uç. Tekli Belge Oluştur seçeneği Word ve PDF şablonlarını da destekler. Tasarım ekibi size bir belge verirse... .docx Fatura taslağı, Şablon Dosya Türünü şu şekilde ayarlayın: Word ve Çıktı Türünü değiştir Pdf Dönüştürme adımını tamamen atlamak için. CSS kontrolü ve tarayıcı önizleme yinelemesi istediğinizde Handlebars yöntemi kazanır.


Adım 5: Oluşturulan HTML'yi A4 PDF'ye nasıl sayfalandırırsınız?

Şu ana kadarki akış: SharePoint tetikleyicisi artı Oluştur artı Yol kullanarak dosya içeriğini al artı PDF - Belge Oluştur (Tekli).

HTML'yi PDF'ye Dönüştür, sayfalama motorudur. Belge Oluştur (Tekli) tarafından üretilen HTML'yi okur, sayfa boyutunu ve kenar boşluklarını uygular ve PDF baytlarını döndürür.

  1. Eklemek PDF4me PDF > HTML'yi PDF'ye dönüştür.
  2. Yapılandır:
    • Dosya İçeriği: dinamik içerik, Body Belge Oluştur (Tekli) adımından.
    • HTML Dosya Adı: invoice.html.
    • Sayfa Düzeni: Portrait.
    • Sayfa Boyutu: A4.
    • Ölçek: 0.8 (5 maddelik faturayı tek sayfaya sığdırır.)
    • Üst / Alt / Sol / Sağ Kenar Boşluğu: 40px her biri.
    • Arka Plan Baskısı: Yes (Toplamlar bloğunun arka plan rengini değiştirir.)

HTML'den PDF'ye dönüştürme yapılandırması

PDF4me HTML'yi PDF'ye dönüştürme işlemi, Belge Gövdesi Oluşturma'dan eşlenmiş Dosya İçeriği, HTML Dosya Adı invoice.html, Sayfa Düzeni Dikey, Sayfa Boyutu A4, Ölçek 0.8, Üst Alt Sol Sağ Kenar Boşlukları tümü 40px ve Arka Planı Yazdır Evet seçenekleriyle ayarlanmıştır.

Ölçek 0.8, beş satırlık bir faturayı tek bir A4 sayfasına sığdırır. Daha az kaleminiz varsa ve daha büyük bir yazı tipi istiyorsanız, ölçeği 0.9 veya 1.0'a yükseltin.

Uç. Print Background: Yes Renkleri nihayetinde mümkün kılan ayar budur. <td> Hücreler ve CSS gradyanları görünür. Tarayıcılar varsayılan olarak yazdırma işleminden arka plan renklerini kaldırır. PDF'deki toplam satırınız beyaz görünüyorsa, nedeni budur.


Adım 6: Fatura PDF dosyasını tahmin edilebilir bir isimle Dropbox'a nasıl kaydedersiniz?

Şu ana kadarki akış: SharePoint tetikleyicisi, Oluşturma, Yol kullanarak dosya içeriğini alma, PDF - Belge Oluşturma (Tekli), HTML'yi PDF'ye dönüştürme.

Son adımda PDF dosyası, fatura numarasıyla ilişkilendirilmiş bir isimle Dropbox klasörüne bırakılıyor.

  1. Eklemek Dropbox > Dosya oluştur.
  2. Yapılandır:
    • Klasör Yolu: / (veya bir alt klasör gibi) /invoices/).
    • Dosya adı: dinamik içerik, Title SharePoint tetikleyicisinden, ardından da tam metin dizesi gelir. .pdfINV-1005 şu hale gelir: INV-1005.pdf.
    • Dosya İçeriği: dinamik içerik, Body HTML'yi PDF'ye dönüştürme adımından.

Dosya yapılandırması oluştur

Power Automate Dropbox Dosya Oluşturma eylemi, Klasör Yolu /, SharePoint Başlık tetikleyici alanından oluşturulan Dosya Adı (sonrasında .pdf bulunur) ve HTML'yi PDF'ye Dönüştürme Gövdesinden eşleştirilen Dosya İçeriği ile Dropbox'a Bağlı durumunu gösterir.

Dosyayı fatura numarasıyla adlandırmak, Dropbox klasörünün otomatik olarak aranabilir, yinelenen kayıtları kaldırılmış bir fatura arşivi haline gelmesini sağlar.

Uç. İki satır aynı Başlığı paylaşabiliyorsa, bir tane ekleyin. _ ve bir zaman damgası: concat(triggerBody()?['Title'], '_', ticks(utcNow()), '.pdf')Aksi takdirde Dropbox, önceki dosyayı aynı isimle sessizce üzerine yazar.


Akışı Çalıştırın ve Doğrulayın

  1. Kaydetmek Sağ üstteki akış.
  2. Yeni bir satır ekle Invoices SharePoint listesi. Başlığı kolayca tanınabilir bir şeyle değiştirin (INV-1005) ve şablonun gerçek veriler içermesi için her sütunu doldurun.
  3. Akışı açın Çalıştırma geçmişi ve en son çalıştırmayı seçin. Her kart, akış genel bakış ekran görüntüsüne benzer şekilde yeşil olmalıdır. HTML'yi PDF'ye Dönüştürme kartı en yavaş olanıdır (yaklaşık 11 saniye), çünkü sayfalama burada gerçekleşir.
  4. Dropbox'ı açın ve onaylayın. INV-1005.pdf (veya Başlığınız) kök dizinde yer alıyor. İndirin, açın ve örnekle karşılaştırın.

Gerçekte ne inşa ettiniz? Düzenlenebilir HTML şablonuna sahip, SharePoint'e özgü bir fatura oluşturucu; altı standart seviye bağlantı eylemiyle çalışır. Aynı model (satır artı şablon artı oluşturma artı sayfalama artı kaydetme) teklifler, teslimat notları, satın alma siparişleri, garanti belgeleri veya satır başına markalı herhangi bir PDF için de geçerlidir. SharePoint yerine Dataverse veya Excel, Dropbox yerine OneDrive kullanın, iki PDF4me eylemini koruyun.


Yeniden derlemeye gerek kalmadan ekleyebileceğiniz yaygın varyasyonlar

Faturayı müşteriye e-posta ile gönderin.
Bir tane ekleyin Outlook E-posta Gönder (V2) Dosya oluşturulduktan sonra, HTML'den PDF'ye dönüştürme dosyasını ekleyin. Body ve bunu SharePoint'e yönlendirin. CustomerEmail kolon.
1. sayfaya imzanızı atın.
Ekle PDF - İmza HTML'yi PDF'ye dönüştürdükten sonraki işlem. Onaylanmış faturalar için 1. sayfanın sağ alt köşesine Dropbox'tan bir PNG imzası ekleyin.
Bir kopyayı SharePoint'e geri gönderin.
İkinci bir tane ekleyin SharePoint'te dosya oluşturma Dropbox'tan sonra PDF dosyasını sürükleyip bırakın. Shared Documents/Signed Invoices/ Bu nedenle kaynak listesinin yanında saklanır.
Convert ile Adobe/Encodian karşılaştırması
Adobe PDF Services ve Encodian, HTML'den PDF'ye dönüştürücüler sunuyor ancak kullanıcı başına premium lisans gerektiriyor. PDF4me ise standart dönüştürücü katmanında çalışıyor ve Adobe'nin iş akışında bulunmayan şablon oluşturma için "Belge Oluştur (Tekli)" seçeneğini sunuyor.

Sıkça sorulan sorular

SharePoint liste öğesinden Power Automate kullanarak PDF nasıl oluşturulur?

SharePoint'i kullanın When an item is created tetikleyici olarak, bir Compose Satırın düz sütunlarını iç içe geçmiş bir JSON verisine dönüştürme eylemi, Get file content using path HTML şablonunuzu yüklemek için yapılacak işlem /Shared Documents/PDF4me Generate Document (Single) JSON'u şablona entegre etmek ve PDF4me kullanmak. Convert HTML to PDF Sonucu sayfalara ayırmak için. Çıktıyı herhangi bir dosya bağlayıcısına kaydedin (Dropbox, OneDrive, SharePoint). Bu zincirdeki her işlem standart bağlayıcı katmanındadır, bu nedenle Power Automate Premium lisansına ihtiyacınız yoktur.

Power Automate PDF oluşturabilir mi?

Evet. Power Automate'in yerel sürümü HTML şablonundan kendi başına PDF oluşturamaz, ancak PDF4me Bağlayıcı, bunu mümkün kılan iki eylemi ekler: Generate Document (Single) şablon oluşturma için ve Convert HTML to PDF Sayfalama için. Her ikisi de standart seviyede ve kurulumu ücretsizdir. Birlikte, verilerin yanında saklanan düzenlenebilir bir HTML şablonu kullanarak herhangi bir SharePoint / Dataverse / Excel satırını markalı bir PDF'ye dönüştürürler.

Power Automate'te HTML'den PDF nasıl oluşturulur?

Ekle PDF4me HTML'yi PDF'ye dönüştürüyor Akışın kapsamı HTML olan herhangi bir yerde işlem gerçekleştirin (bir Compose çıktısı, bir Get file content Body, bir Compose ifadesi, bir webhook yükü). Sayfa boyutunu yapılandırın (A4), düzen (Portrait), kenar boşlukları (40px) ve ayarla Print Background: Yes Böylece CSS arka planları korunur. Eylemin Body Çıktı, depolama işlemine verdiğiniz PDF ikili dosyasıdır. Bu, yukarıdaki 5. adımda kullanılan işlemle aynıdır.

Power Automate, premium üyelik gerektirmeden HTML'yi PDF'ye dönüştürebilir mi?

Evet. PDF4me bağlayıcısının HTML'yi PDF'ye Dönüştürme eylemi standart bağlayıcı katmanında yer almaktadır; bu da onu, yerel sürümün gerektirdiği Premium lisans yükseltmesine gerek kalmadan herhangi bir Power Automate planına kurup kullanabileceğiniz anlamına gelir. Convert File ve Adobe PDF Hizmetleri bağlantı elemanları gerektirir. Yine de bir PDF4me API anahtarına ihtiyacınız var (ücretsiz sürüm mevcut), bunu işlemi ilk kez eklerken yapıştırıyorsunuz.

Power Automate'te şablondan PDF nasıl oluşturulur?

Kullanmak PDF4me Belge Oluştur (Tekli) ile Template File Type: Html (Handlebars Syntax) (HTML şablonları için) veya Word (için .docx Şablonları besleyin). Şablon baytlarını şuraya aktarın: Template File Data ve bir JSON verisi içine Document Data Text. Ayarlamak Output Type: Html Eğer sonradan sayfalara ayırmanız gerekiyorsa (bu blogda olduğu gibi), veya Pdf PDF dosyasını tek adımda geri almak için. Bu işlem, Handlebars sözdiziminin tamamını destekler. {{#each}} Ve {{#if}} Satır öğeleri ve koşullu bloklar için.


Sorun giderme

Gidonlar render'ları {{invoice.number}} PDF'de kelimenin tam anlamıyla

Şablon yer tutucusu değiştirilmedi, bu da Belge Veri Metninin boş veya hatalı biçimlendirilmiş JSON olduğu anlamına gelir. Çalıştırma geçmişindeki Oluşturma adımının Çıktılarını açın ve Handlebars'ın aradığı tam anahtar yoluna sahip geçerli bir JSON nesnesi olduğunu doğrulayın (büyük/küçük harf duyarlı).

PDF dosyasında toplamlar satırı beyaz görünürken, tarayıcı önizlemesinde renkli olarak görüntülenir.

Ayarlamak Print Background: Yes HTML'yi PDF'ye dönüştürürken, Chromium'un yazdırma motoru arka plan renklerini kaldırır. <td> Ve <div> Varsayılan olarak kapalıdır; bu anahtar onları yeniden etkinleştirir.

Fatura iki sayfaya yayılmış, ikinci sayfada sadece bir satır yer alıyor.

Aşağı Scale HTML'den PDF'ye dönüştürme işlemi 0.8'den 0.7'ye yükseltildi. Alternatif olarak, şunu ekleyin: page-break-inside: avoid üzerinde <table> Şablon içerisinde, sayfalama satırlar arasında kesilir, satırların içinde değil.

Dropbox'ta dosya oluşturma işlemi, daha önceki bir faturanın üzerine sessizce yazıyor.

İki sıra aynı şeyi paylaştı. TitleDosya Adı ifadesini şu şekilde değiştirin: concat(triggerBody()?['Title'], '_', ticks(utcNow()), '.pdf') Bu nedenle her çalıştırma benzersiz bir dosya adı üretir.


Sonraki Adımlar

Aynı altı adımlı model (satır artı şablon artı oluşturma artı sayfalama artı ad artı depolama), HTML'de tanımlayabileceğiniz satır başına markalı herhangi bir PDF dosyasını işler.