مرحباً @Tim_Barrett
السبب في ظهور ملف PDF الخاص بك فارغاً هو أنك تمزج بين طريقتين مختلفتين لإنشاء ملفات PDF في سير العمل الخاص بك. أنت تحاول استخدام نهج قائم على القالب (عبر واجهة برمجة تطبيقات مولد PDF)، لكنك تزوده بـ ملف ثنائي (عبر عقدة تحويل إلى ملف) وتقدم بيانات JSON غير صحيحة.
فيما يلي المسائل الثلاث المحددة وكيفية إصلاحها:
- عقدة
Convert to Fileتأخذ النص الخاص بك وتحوله إلى ملف HTML ثنائي. ومع ذلك، عقدة واجهة برمجة تطبيقات مولد PDF لا تقوم بـ “تحويل” ملف موجود إلى قالب؛ بل تقوم بـ إنشاء ملف جديد بدمج بيانات JSON في قالب محدد مسبقاً.
بوضع Convert to File قبل مولد PDF، أنت تغير المدخلات من كائن JSON (وهو ما تحتاجه الواجهة البرمجية) إلى كائن ثنائي، مما يتسبب في فشل الواجهة البرمجية في العثور على البيانات التي تحتاجها لملء القالب.
الحل: احذف عقدة Convert to File وربط Edit Fields1 مباشرة بـ Generate a PDF document.
- في عقدة
Generate a PDF documentالخاصة بك، لديك البيانات مضبوطة كـ:={} {{ $json.output }}
هذا ليس JSON صحيحاً. تتطلب واجهة برمجة تطبيقات مولد PDF كائن JSON حيث تطابق المفاتيح العناصر النائبة التي أنشأتها في لوحة تحكم قالب واجهة برمجة تطبيقات مولد PDF.
الحل: غيّر حقل data إلى كائن JSON صحيح. على سبيل المثال، إذا كان قالبك يحتوي على عنصر نائب يسمى {{quote_content}}، يجب أن يبدو حقل البيانات الخاص بك كما يلي:
{
"quote_content": "{{ $json.output }}"
}
- لكي تظهر البيانات فعلياً على ملف PDF، يجب أن يطابق المفتاح الذي تستخدمه في n8n اسم المتغير في قالبك بالضبط (ID: 1649628).
- إذا كان قالبك فارغاً: هذا يعني أن الواجهة البرمجية استقبلت الطلب، لكن لم تتمكن من العثور على أي مفاتيح في JSON الخاص بك تطابق علامات
{{variable}}في التصميم الخاص بك. - التوصية: تحقق من قالبك في لوحة تحكم واجهة برمجة تطبيقات مولد PDF. إذا كان لديك علامات مثل
{{client_name}}أو{{total_price}}، يجب عليك توفيرها بشكل محدد في JSON:
{
"client_name": "{{ $("Edit Fields").item.json["ما اسمك؟"] }}",
"quote_content": "{{ $json.output }}"
}