HTML şablon
Bu kılavuz neleri kapsıyor?
Bu kılavuz, tek bir görüntünün nasıl oluşturulacağını adım adım açıklıyor. HTML fatura içinde n8n kullanarak fatura_örneği_1.html Ve fatura_örnek_veri_1.jsonŞablon şu şekilde kullanılır: bıyık sözdizimi ({{alıcı.adı}}, {{#each subInfo}}). HTML dır sadece Ham işaretleme kodunu yapıştırmayı destekleyen şablon türü HTML KodÇıktı şudur: HTML sadece (E-posta metinleri veya web önizlemeleri için idealdir).
Başlamadan Önce
fatura_örneği_1.html İç içe geçmiş yollara sahip eksiksiz bir fatura düzenidir ({{alıcı.posta adresi.sokak1}}) ve bir satır öğesi döngüsü ({{#each subInfo}}Yollar, JSON yapınızla birebir eşleşmelidir.fatura_örnek_veri_1.json (tavsiye edilen), test.xml, veya test.csv. JSON iç içe nesneler ve bir altbilgi sıralamak. CSV Alanları düzleştirir ve her satır öğesi için bir satır kullanır.Örnek Dosya Paketi
Aşağıdaki dört dosyayı da indirin. Bir HTML Aynı fatura içeriğine sahip üç farklı veri formatı içeren şablon.
Örnek Dosyaların İçeriği
Şablon düzeni (invoice_sample_1.html)
Örnek, stilize edilmiş bir örnektir. HTML fatura (tablolar, logo, PDF4me (Satıcı bloğu). Dinamik bölümler:
| Belge bölümü | Statik içerik (şablona sabitlenmiş) | Bıyık yer tutucu (verilerden doldurulmuştur) |
|---|---|---|
| Alıcı adresi | (sadece yerleşim planı) | {{recipient.name}}, {{coText}}, {{recipient.postalAddress.*}} |
| Satıcı engellemesi | PDF4meZürih, dev.pdf4me.com | (statik) |
| Alıcı / teslimat | Alıcı etiketi | {{buyer.name}}, {{coTextDelivery}}, {{buyer.postalAddress.*}} |
| Fatura meta verileri | Son Ödeme Tarihi, Fatura Numarası, Düzenleme Tarihi etiketlerinde | {{dueDate}}, {{invoiceNumber}}, {{issuedOn}} |
| Satır öğeleri tablosu | Ürün, Dönem, Miktar, Fiyat, KDV, Toplam başlıkları | {{#each subInfo}} … {{plan}}, {{quantity}}, {{vat}}, {{totalPrice}} |
| Dönem sütunu | (Fatura başına tek aralık) | {{periodStart}} - {{periodEnd}} |
| Toplam satır | Toplam bakiye etiketi | {{totalAmount}} |
:::ipucu Bıyık sözdizimi (HTML sadece)
HTML şablonlar kullanılır {{fieldName}} Ve {{object.nestedKey}}. Satır öğelerini tekrarlayın {{#each subInfo}} … {{/each}}Bu, Word şablonlarından farklıdır. <<[fieldName]>>Bakınız HTML şablon kurulum kılavuzu Daha fazla desen için.
:::
:::Not HTML Kod mu yoksa dosya yükleme mi? HTML Kod yalnızca şu durumlarda geçerlidir Şablon Dosya Türü dır HTMLWord, PDF Formu, Posta Birleştirme veya Google Dokümanlar için İkili Veri kullanın. Base64, veya URL yerine. :::
Tüm veri dosyalarında alan eşlemesi
| HTML placeholder | JSON path (invoice_sample_data_1.json) | XML element (test.xml) | CSV column (test.csv) | Sample value |
|---|---|---|---|---|
{{recipient.name}} | recipient.name | Recipient/Name | recipient_name | Test AG |
{{coText}} | coText | CoText | coText | cotext |
{{recipient.postalAddress.street1}} | recipient.postalAddress.street1 | Recipient/PostalAddress/Street1 | recipient_street1 | Test Street1 |
{{recipient.postalAddress.street2}} | recipient.postalAddress.street2 | Recipient/PostalAddress/Street2 | recipient_street2 | Test Street2 |
{{recipient.postalAddress.zipCode}} {{city}} | recipient.postalAddress.zipCode, .city | Recipient/PostalAddress/ZipCode, City | recipient_zipCode, recipient_city | 8000 Zurich |
{{recipient.postalAddress.country}} | recipient.postalAddress.country | Recipient/PostalAddress/Country | recipient_country | Switzerland |
{{buyer.name}} | buyer.name | Buyer/Name | buyer_name | buyer name |
{{coTextDelivery}} | coTextDelivery | CoTextDelivery | coTextDelivery | Delivery text |
{{buyer.postalAddress.street1}} | buyer.postalAddress.street1 | Buyer/PostalAddress/Street1 | buyer_street1 | Test Street1 |
{{buyer.postalAddress.street2}} | buyer.postalAddress.street2 | Buyer/PostalAddress/Street2 | buyer_street2 | Test Street2 |
{{dueDate}} | dueDate | DueDate | dueDate | 2025-04-30 |
{{invoiceNumber}} | invoiceNumber | InvoiceNumber | invoiceNumber | 123456 |
{{issuedOn}} | issuedOn | IssuedOn | issuedOn | 2025-04-01 |
{{periodStart}} - {{periodEnd}} | periodStart, periodEnd | PeriodStart, PeriodEnd | periodStart, periodEnd | 2025-03-01 to 2025-03-31 |
{{#each subInfo}} {{plan}} | subInfo[].plan | SubInfo/Item/Plan | plan | PDF4me base 1000 |
{{quantity}} | subInfo[].quantity | SubInfo/Item/Quantity | quantity | 1 |
{{vat}} | subInfo[].vat | SubInfo/Item/Vat | vat | 2.83 |
{{totalPrice}} | subInfo[].totalPrice | SubInfo/Item/TotalPrice | totalPrice | 37.83 |
{{totalAmount}} | totalAmount | TotalAmount | totalAmount | 124.31 |
Örnek JSON içerir iki nesnelerde subInfo (PDF4me (Temel 1000 ve Çağrı Paketi 2000). {{#each subInfo}} bloklarda HTML Her öğe için bir tablo hücresi satırı oluşturun.
İş Akışına Genel Bakış
En hızlı test: macun HTML Ve JSON doğrudan içinde PDF4me düğüm (dosya düğümlerine gerek yok).
Manual Trigger → PDF4me Generate Document (Single) → (optional) Send Email / Write Binary File
| Adım | n8n düğüm | Amaç |
|---|---|---|
| 1 | Manuel Tetikleyici | İş akışını isteğe bağlı olarak başlatın |
| 2 | PDF4me → Belge Oluştur (Tekli) | Yapıştır HTML Kod + JSON Metin, oluşturulan çıktı HTML |
| 3 | E-posta gönder veya İkili Dosya Yaz (isteğe bağlı) | Teslim et veya kaydet generated_document_output.html |
/generate-document-single-full-html.png)
Hedef yapılandırması: yapıştırıldı HTML Kod + JSON içinde Belge Verileri Metni + HTML çıktı
Adım 1: Örnek Dosyaları İndirin
- İndirmek
invoice_sample_1.htmlVeinvoice_sample_data_1.json-den Örnek Dosya Paketi üstünde. - Her iki dosyayı da bir metin düzenleyicide açın ve tüm içeriklerini kopyalayın. n8n düğüm.
- İsteğe bağlı olarak indirin
test.xmlveyatest.csvtest etmek için XML veya CSV Veri türlerine daha sonra değineceğiz.
Adım 2: Oluşturun n8n İş Akışı
- İçinde n8nYeni bir iş akışı oluşturun.
- Ekle Manuel Tetikleyici düğüm.
- Eklemek PDF4me → Belge Oluştur (Tekli) tetikleyiciden sonra.
- Bağlantınızı kurun. PDF4me kimlik belgesi.
Üretim için şunları ekleyebilirsiniz: İkili Dosyayı Oku düğüm yerine HTML Kod (bkz. Alternatif şablon girişi altında).
Adım 3: Yapılandırın HTML Şablon (HTML Kod)
Açın PDF4me Düğümü seçin ve şablon alanlarını ayarlayın:
| Alan | Değer |
|---|---|
| Şablon Dosya Türü | HTML |
| Çıktı Türü | HTML (tek seçenek için) HTML şablonlar) |
| Şablon Dosyası Giriş Türü | HTML Kod |
| Şablon Dosya Adı | invoice_sample_1.html |
| HTML Kod | Yapıştır bütün içeriği invoice_sample_1.html |
:::ipucu Kısmi HTML dır OK
Eğer kod parçacığınız eksikse <html> veya <head>Düğüm, onu temel bir yapıya sarar. HTML Kabuk otomatik olarak çalışır. Örnek dosya eksiksiz bir belgedir, bu nedenle olduğu gibi yapıştırın.
:::
Adım 4: Belge Verilerini Yapılandırın (JSON)
| Alan | Değer |
|---|---|
| Belge Veri Giriş Türü | Metin |
| Belge Veri Türü | JSON |
| Belge Verileri Metni | Lütfen aşağıdaki metnin tamamını yapıştırın. invoice_sample_data_1.json (aşağıdaki bloğa bakınız) |
{
"recipient": {
"name": "Test AG",
"postalAddress": {
"street1": "Test Street1",
"street2": "Test Street2",
"zipCode": "8000",
"city": "Zurich",
"country": "Switzerland"
}
},
"coText": "cotext",
"buyer": {
"name": "buyer name",
"postalAddress": {
"street1": "Test Street1",
"street2": "Test Street2"
}
},
"coTextDelivery": "Delivery text",
"dueDate": "2025-04-30",
"invoiceNumber": "123456",
"issuedOn": "2025-04-01",
"subInfo": [
{
"plan": "PDF4me base 1000",
"quantity": 1,
"price": 35,
"vat": 2.83,
"totalPrice": 37.83
},
{
"plan": "Call Package 2000",
"quantity": 1,
"price": 80,
"vat": 6.48,
"totalPrice": 86.48
}
],
"totalAmount": 124.31,
"periodStart": "2025-03-01",
"periodEnd": "2025-03-31"
}
Çekirdek düğüm ayarları (özet)
| Alan | Değer | Notlar |
|---|---|---|
| Bağlantı kurmak için kimlik bilgisi | Senin PDF4me kimlik belgesi | Elde etmek API anahtar |
| Kaynak | Generate | |
| Operasyonları Oluştur | Belge Oluştur (Tekli) | |
| İkili Veri Çıkış Adı | data (varsayılan) | Çıktı şudur: HTML bu ikili özellikte |
Adım 5: Çalıştırın ve Doğrulayın HTML
- Tıklamak İş akışını yürüt.
- Açın PDF4me Düğüm çıktısı altında. İkiliaçık mülk
data(generated_document_output.html). - Oluşturulan faturanın aşağıdaki bilgileri içerdiğini doğrulayın:
- Alıcı → Test AG, cotext, Test Street 1/2, 8000 Zürih, İsviçre
- Alıcı → Alıcı adı, Teslimat metni, Test Caddesi 1/2
- Fatura meta verileri → Son Ödeme Tarihi 30.04.2025, Fatura Numarası 123456, Düzenleme Tarihi 01.04.2025
- Satır öğeleri → PDF4me 1000 baz ve 2000 Çağrı Paketi (miktarlar ve KDV dahil)
- Toplam bakiye → 124.31
Yer tutucu boş görünüyorsa, bıyık yolunu kendi yolunuzla karşılaştırın. JSON. recipient.postalAddress.street1 Şablonda, verilerde de aynı iç içe geçmiş yapı gereklidir.
Adım 6: Çıktıyı Gönderin veya Kaydedin (İsteğe bağlı)
E-posta gönder: harita PDF4me ikili data olarak HTML gövde (etkinleştir) HTML e-posta).
İkili Dosyayı Yaz:
| Alan | Değer |
|---|---|
| Dosya adı | invoice-output.html |
| Veri Özelliği Adı | data |
| Çıkış Yolu | Klasörün bulunduğu yer n8n dosyayı yazmalıdır |
Alternatif Şablon Girişi: Yükle HTML Dosyadan
Yapıştırmak istemiyorsanız HTML düğüme:
- Eklemek İkili Dosyayı Oku önce PDF4me ve onu şuraya doğru yönlendirin
invoice_sample_1.html. - İçinde PDF4me ayarlamak Şablon Dosyası Giriş Türü ile İkili Veri, Şablon İkili Özelliği ile
data, Şablon Dosya Adı ileinvoice_sample_1.html. - Kale Belge Veri Giriş Türü gibi Metin ve yapıştırın JSON 4. adımda olduğu gibi.
Ayrıca ev sahipliği de yapabilirsiniz. .html halka açık bir yerde URL ve kullanın Şablon Dosyası Giriş Türü: URL ile Şablon Dosyası URL.
Alternatif Veri Biçimleri
Seçenek A: JSON Dosya ikili formatta (invoice_sample_data_1.json)
- Eklemek İkili Dosyayı Oku için JSON dosya (veya şunu kullanın) Birleştir Şablon da ikili ise düğüm).
- Ayarlamak Belge Veri Giriş Türü ile İkili Veri, Belge Veri Türü ile JSON, Belge İkili Özelliği Veri alanınıza, Belge Veri Dosyası Adı ile
invoice_sample_data_1.json.
B Seçeneği: XML (test.xml)
Ayarlamak Belge Veri Türü ile XML ve içeriğini yapıştırın test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Invoice>
<Recipient>
<Name>Test AG</Name>
<PostalAddress>
<Street1>Test Street1</Street1>
<Street2>Test Street2</Street2>
<ZipCode>8000</ZipCode>
<City>Zurich</City>
<Country>Switzerland</Country>
</PostalAddress>
</Recipient>
<CoText>cotext</CoText>
<Buyer>
<Name>buyer name</Name>
<PostalAddress>
<Street1>Test Street1</Street1>
<Street2>Test Street2</Street2>
</PostalAddress>
</Buyer>
<CoTextDelivery>Delivery text</CoTextDelivery>
<DueDate>2025-04-30</DueDate>
<InvoiceNumber>123456</InvoiceNumber>
<IssuedOn>2025-04-01</IssuedOn>
<SubInfo>
<Item>
<Plan>PDF4me base 1000</Plan>
<Quantity>1</Quantity>
<Price>35</Price>
<Vat>2.83</Vat>
<TotalPrice>37.83</TotalPrice>
</Item>
<Item>
<Plan>Call Package 2000</Plan>
<Quantity>1</Quantity>
<Price>80</Price>
<Vat>6.48</Vat>
<TotalPrice>86.48</TotalPrice>
</Item>
</SubInfo>
<TotalAmount>124.31</TotalAmount>
<PeriodStart>2025-03-01</PeriodStart>
<PeriodEnd>2025-03-31</PeriodEnd>
</Invoice>
C Seçeneği: CSV (test.csv)
Ayarlamak Belge Veri Türü ile CSV ve yapıştırın CSV Vücut. Örnekte şunlar var: iki veri satırı (bir kişi için) subInfo satır öğesi); başlık sütunları düzleştirilmiş adlar kullanır, örneğin recipient_name Ve plan:
recipient_name,recipient_street1,recipient_street2,recipient_zipCode,recipient_city,recipient_country,coText,buyer_name,buyer_street1,buyer_street2,coTextDelivery,dueDate,invoiceNumber,issuedOn,periodStart,periodEnd,totalAmount,plan,quantity,price,vat,totalPrice
"Test AG","Test Street1","Test Street2","8000","Zurich","Switzerland","cotext","buyer name","Test Street1","Test Street2","Delivery text","2025-04-30","123456","2025-04-01","2025-03-01","2025-03-31",124.31,"PDF4me base 1000",1,35,2.83,37.83
"Test AG","Test Street1","Test Street2","8000","Zurich","Switzerland","cotext","buyer name","Test Street1","Test Street2","Delivery text","2025-04-30","123456","2025-04-01","2025-03-01","2025-03-31",124.31,"Call Package 2000",1,80,6.48,86.48
Üretim İş Akışı Kalıpları
Üretim ortamında HTML şablonu ve veri sağlamanın yaygın yollarıOnce the sample test works, replace the Manual Trigger with these patterns.
- Webhook faturalama verilerini alıyor.
- PDF4me sabit bir şekilde çalışır HTML Kod şablon.
- Harita webhook'u JSON ile Belge Verileri Metni.
- E-posta gönder çıktıyı kullanır HTML mesaj gövdesi olarak.
- Google Drive / S3 depoları
fatura_örneği_1.html. - Düğüm yüklerini indir HTML ikili olarak.
- PDF4me: Şablon Dosyası Giriş Türü = İkili Veri.
- Sheets'ten oluşturulan veriler veya CRM gibi JSON.
- Ev sahibi
.htmlVe.jsonhalka açık HTTPS URLs. - Ayarlamak Şablon Dosyası Giriş Türü = URL Ve Belge Veri Giriş Türü = URL.
- İkili Dosya Okuma düğümlerine gerek yok.
Sıkça Sorulan Sorular
İlgili Kılavuzlar
- Belge Oluştur (Tekli) genel bakış: tüm parametreler, çıktı alanları ve şablon türleri
- PDF4me Word Şablonu: Kelime
.docxile<<[field]>>etiketler ve PDF çıktı - Oluştur HTML şablondan Make: aynı desende Make