ملصقات لكل ورقة
تحدد حاسبة الملصقات لكل ورقة عدد الصفوف والأعمدة والسعة الإجمالية لشبكة مستطيلة قبل الطباعة أو طلب الخامات.
شغّل الأداة مجانًا
أدخلوا أبعاد الورقة والملصق بوحدة قياس واحدة، ثم خصصوا الهوامش العلوي والأيمن والسفلي والأيسر التي تتطلبها الطابعة. وتمثل الفواصل الأفقية والرأسية الاختيارية المسافة بين الملصقات. تعرض النتيجة كذلك الأبعاد القابلة للاستخدام والمشغولة وغير المستخدمة، مما يتيح التحقق من ملاءمة التخطيط من دون تصغير الملصقات بصورة غير ظاهرة.
أدخلوا جميع الأبعاد بوحدة قياس واحدة
ابدؤوا بالعرض والارتفاع الفعليين للورقة ولملصق واحد بعد القص. يمكن استخدام المليمترات أو البوصات أو النقاط أو أي وحدة طول أخرى، لأن الحاسبة تحتفظ بالقيم ولا تحولها. القاعدة الأساسية هي استعمال الوحدة نفسها في جميع الحقول؛ فلا تجمعوا ورقة مقاسة بالمليمترات مع ملصق مقاس بالبوصات. استخدموا مقاس القص الحقيقي للملصق، لا مقاس التصميم بعد أن يغير برنامج تشغيل الطابعة حجمه. يجب أن تكون جميع أبعاد الورقة والملصق أعدادا محدودة أكبر من صفر. يكشف هذا الشرط القياسات الناقصة أو السالبة أو القيم النصية قبل أن تنتج عددا مضللا. ويؤثر الاتجاه أيضا: يمثل sheet_width وlabel_width الاتجاه الأفقي، بينما تمثل حقول الارتفاع الاتجاه الرأسي. إذا كان تدوير الملصقات مسموحا، فأجروا حسابا ثانيا بعد تبديل عرض الملصق وارتفاعه، ثم قارنوا الإجماليين. لا تدور الحاسبة الملصقات تلقائيا، لأن الرسم أو اتجاه ألياف الخامة أو آلة اللصق أو سهولة القراءة قد تفرض اتجاها محددا.
خصصوا الهوامش والفواصل قبل عد الخلايا
تمثل الهوامش أجزاء الورقة التي لا يمكن وضع ملصقات فيها. أدخلوا قيم الأعلى واليمين والأسفل واليسار بصورة مستقلة حتى يطابق التخطيط مناطق الطابعة غير القابلة للطباعة إذا كانت غير متناظرة، أو الفاقد المختلف عند الحواف. تكون قيمة الهامش المحذوف صفرا. يجوز أن يساوي مجموع الهامشين الأيسر والأيمن عرض الورقة، لكن لا يجوز أن يتجاوزه؛ وتنطبق القاعدة نفسها على الهامشين الرأسيين. يمثل horizontal_gap المسافة الخالية بين الأعمدة المتجاورة، ويمثل vertical_gap المسافة بين الصفوف المتجاورة. لا يوجد الفاصل إلا بين الملصقات، وليس قبل الأول أو بعد الأخير، ولذلك يحتوي صف من 3 ملصقات على فاصلين أفقيين. القيمة الافتراضية لكلا الفاصلين هي صفر، ولا تقبل القيم السالبة. ينتج العرض القابل للاستخدام من طرح الهامشين الجانبيين من عرض الورقة، ويحسب الارتفاع بالطريقة نفسها. تمنع هذه الطريقة الخطأ الشائع المتمثل في إضافة فاصل بعد الملصق الأخير وتقليل سعة تخطيط يتسع تماما.
افهموا السعة والمساحة المتبقية
تعرض النتيجة columns وrows وlabels_per_sheet. يكون عدد الصفوف والأعمدة صحيحا لأن الملصق الذي لا يتسع بالكامل غير صالح للاستخدام، وحاصل ضربهما هو السعة الإجمالية. قد يعيد تخطيط صحيح صفرا إذا كانت المساحة المتاحة أصغر من ملصق واحد؛ وهذه نتيجة للملاءمة وليست خطأ في المدخلات. تبين الأبعاد القابلة للاستخدام المساحة الباقية بعد الهوامش. وتشمل الأبعاد المشغولة الملصقات والفواصل الداخلية، بينما تبين الأبعاد غير المستخدمة المساحة الفائضة داخل الجزء القابل للاستخدام. لا توزع الحاسبة ذلك الفائض ولا توسطه تلقائيا. لتوسيط الشبكة، أضيفوا نصف unused_width إلى الهامش الأيسر ونصف unused_height إلى الهامش العلوي عند تحديد موضع الملصق الأول. يفترض الحساب ملصقات مستطيلة موازية للمحاور ضمن شبكة منتظمة. ولا يضيف نزف الطباعة أو علامات القص أو سماحات الطابعة أو فراغ الزوايا المستديرة أو علامات التسجيل، إلا إذا أدرجتم هذه المتطلبات صراحة في الأبعاد أو الهوامش أو الفواصل. تحققوا من هندسة التخطيط مقابل مواصفات الطابعة قبل تنفيذ كمية كبيرة.
حالات الاستخدام
تخطيط خامة ملصقات مخصصة
قارنوا أبعاد الملصق وفواصله بالورقة المختارة قبل طلب قوالب القص أو الخامة أو عملية الإنتاج.
إعداد قالب للطباعة
احصلوا على أعداد دقيقة للشبكة والمساحة المتبقية لوضع الملصقات في مستند أو برنامج تخطيط.
مقارنة اتجاهات الملصق
احسبوا الاتجاه العادي والمدور لتحديد الشبكة الصحيحة ذات السعة الأعلى.
الأسئلة الشائعة
ما تكلفة الاستخدام؟
تكلفة كل طلب API هي $0.002. ويمكن تنفيذ الحساب الحتمي نفسه في المتصفح أيضا.
ما وحدات القياس التي يمكن استخدامها؟
تصلح أي وحدة طول، ومنها المليمترات والبوصات، بشرط استخدام الوحدة نفسها لجميع أبعاد الطلب الواحد.
هل يضاف فاصل بعد الملصق الأخير؟
لا. تحسب الفواصل بين الملصقات المتجاورة فقط، ولذلك تحتاج n من الملصقات إلى n ناقص واحد من الفواصل.
ماذا يحدث إذا لم يتسع ملصق؟
تعيد الحاسبة صفرا للاتجاه الذي لا يتسع فيه الملصق، وتكون قيمة labels_per_sheet صفرا أيضا.
هل تدور الحاسبة الملصقات لتحقيق أفضل ملاءمة؟
لا. تستخدم الاتجاه المدخل. بدلوا label_width وlabel_height في طلب ثان لتقييم التدوير.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/doc/labels-per-sheet \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sheet_width":210,"sheet_height":297,"label_width":63.5,"label_height":38.1}'const res = await fetch("https://api.kit.forhosting.com/doc/labels-per-sheet", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sheet_width": 210,
"sheet_height": 297,
"label_width": 63.5,
"label_height": 38.1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/labels-per-sheet",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sheet_width": 210,
"sheet_height": 297,
"label_width": 63.5,
"label_height": 38.1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/labels-per-sheet", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sheet_width":210,"sheet_height":297,"label_width":63.5,"label_height":38.1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sheet_width":210,"sheet_height":297,"label_width":63.5,"label_height":38.1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/labels-per-sheet", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"sheet_width": 210,
"sheet_height": 297,
"label_width": 63.5,
"label_height": 38.1
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.labels_per_sheet",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
max_pages | 200 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |