تبدیل متن به دست‌خط با هوش مصنوعی؛ آموزش ساخت دست‌نویس فارسی

در این راهنمای عملی یاد می‌گیرید متن فارسی و انگلیسی را به دست‌خط طبیعی تبدیل کنید، از دست‌خط خود فونت بسازید و صفحات دست‌نویس قابل چاپ را با هوش مصنوعی و پایتون تولید کنید.

Share
تبدیل متن به دست‌خط با هوش مصنوعی؛ آموزش ساخت دست‌نویس فارسی

تبدیل متن به دست‌خط با هوش مصنوعی روشی برای تبدیل نوشته‌های تایپ‌شده به صفحاتی است که ظاهری شبیه نوشته با خودکار روی کاغذ دارند. این روش می‌تواند برای ساخت جزوه‌های شخصی، یادداشت‌های آموزشی، نامه‌های دوستانه، کارت‌های مناسبتی، دفتر برنامه‌ریزی، محتوای گرافیکی و نمونه‌های نمایشی استفاده شود.

ابزارهای Text to Handwriting معمولاً اجازه می‌دهند متن را وارد کنید، نوع دست‌خط، رنگ جوهر، اندازه نوشته، فاصله خطوط و پس‌زمینه کاغذ را انتخاب کنید و در پایان خروجی تصویر یا PDF بگیرید.

اما تبدیل متن فارسی به دست‌خط با چالش‌های بیشتری همراه است. بسیاری از ابزارهای آنلاین برای زبان انگلیسی ساخته شده‌اند و ممکن است اتصال حروف فارسی، راست‌به‌چپ بودن، نیم‌فاصله و علائم نگارشی را درست پردازش نکنند.

در این مقاله یاد می‌گیرید:

  • تبدیل متن به دست‌خط چگونه انجام می‌شود
  • چه تفاوتی میان فونت دست‌نویس و تصویر تولیدشده با هوش مصنوعی وجود دارد
  • چگونه متن فارسی را به صفحه دست‌نویس تبدیل کنید
  • چگونه از دست‌خط خودتان فونت بسازید
  • چگونه خروجی شبیه کاغذ و دفتر واقعی ایجاد کنید
  • چگونه با پایتون و API درواره تولید صفحات را خودکار کنید
  • چگونه نتیجه را برای چاپ یا استفاده دیجیتال آماده کنید

تبدیل متن به دست‌خط چیست؟

در تبدیل متن به دست‌خط، محتوای تایپ‌شده با یک فونت یا موتور رندر دست‌نویس روی پس‌زمینه‌ای مانند کاغذ سفید، کاغذ خط‌دار، دفتر شطرنجی یا صفحه قدیمی قرار می‌گیرد.

خروجی ممکن است در یکی از قالب‌های زیر ارائه شود:

  • تصویر PNG
  • تصویر JPG
  • فایل PDF
  • فایل قابل چاپ A4
  • تصویر صفحه دفتر
  • فونت TTF یا OTF
  • سند چندصفحه‌ای
  • تصویر مناسب شبکه‌های اجتماعی

بعضی ابزارها فقط یک فونت دست‌نویس روی کاغذ قرار می‌دهند. ابزارهای پیشرفته‌تر می‌توانند زاویه حروف، فاصله کلمات، محل قرارگیری خطوط و تفاوت شکل نویسه‌های تکراری را تغییر دهند تا نتیجه طبیعی‌تر دیده شود.

آیا تبدیل متن به دست‌خط واقعاً با هوش مصنوعی انجام می‌شود؟

همه ابزارهایی که عبارت هوش مصنوعی را در نام خود دارند، لزوماً از مدل مولد پیشرفته استفاده نمی‌کنند. بیشتر روش‌های تبدیل متن به دست‌خط در یکی از چهار گروه قرار می‌گیرند.

روش اول: استفاده از فونت دست‌نویس

متن با یک فونت شبیه دست‌خط نمایش داده می‌شود. این روش سریع، دقیق و مناسب نوشته‌هایی است که باید کلمه‌به‌کلمه صحیح باشند.

مزایا:

  • دقت بالای متن
  • سرعت مناسب
  • امکان ویرایش
  • مناسب برای فارسی
  • کنترل اندازه و فاصله
  • امکان تولید چندین صفحه

محدودیت:

  • شکل تکراری حروف ممکن است مصنوعی دیده شود.
  • تمام کلمات بیش‌ازحد منظم هستند.
  • تفاوت طبیعی فشار قلم وجود ندارد.

روش دوم: فونت شخصی‌سازی‌شده

کاربر نمونه حروف دست‌خط خود را می‌نویسد و ابزار آن‌ها را به یک فونت تبدیل می‌کند. در نتیجه، هر متن تایپ‌شده با دست‌خط همان کاربر نمایش داده می‌شود.

این روش برای ساخت یادداشت‌ها، کارت‌ها و محتوای شخصی مناسب است.

روش سوم: موتور شبیه‌سازی دست‌خط

در این روش از چند شکل متفاوت برای هر حرف، تغییر فاصله، تغییر زاویه و جابه‌جایی جزئی خط مبنا استفاده می‌شود.

نتیجه نسبت به یک فونت ساده طبیعی‌تر است، زیرا همه حروف تکراری دقیقاً یکسان دیده نمی‌شوند.

روش چهارم: مدل تولید تصویر

می‌توان از مدل‌های تولید تصویر خواست صفحه‌ای از یک دفتر با نوشته دست‌نویس بسازند. این روش برای تولید تصویر مفهومی مناسب است، اما برای متنی که باید دقیق و بدون غلط باشد انتخاب قابل اتکایی نیست.

مدل تصویر ممکن است:

  • حروف فارسی را خراب کند.
  • کلمات را تغییر دهد.
  • جمله‌ها را ناقص بنویسد.
  • متن غیرقابل‌خواندن تولید کند.
  • تعداد خطوط را تغییر دهد.
  • بخشی از نوشته را تکرار کند.

بنابراین، برای تبدیل دقیق یک متن فارسی به دست‌خط بهتر است از فونت و موتور صفحه‌آرایی استفاده کنید. مدل تولید تصویر بیشتر برای ساخت پس‌زمینه، میز، دفتر، قلم و فضای تصویری اطراف متن مناسب است.

چه کاربردهایی برای تبدیل متن به دست‌خط وجود دارد؟

ساخت جزوه شخصی

می‌توانید خلاصه درس یا نکات آموزشی را به صفحاتی شبیه دفتر تبدیل و چاپ کنید.

تهیه فلش‌کارت

پرسش و پاسخ‌ها را با ظاهر دست‌نویس روی کارت‌های آموزشی قرار دهید.

ساخت برنامه روزانه

فهرست کارها، عادت‌ها و برنامه هفتگی را روی پس‌زمینه دفتر یا پلنر نمایش دهید.

طراحی نامه شخصی

متن نامه را با فونت دست‌نویس شخصی روی کاغذ مناسب آماده کنید.

ساخت کارت مناسبتی

پیام تبریک، تشکر یا دعوت را با ظاهر دست‌نویس در کارت قرار دهید.

تولید محتوای شبکه‌های اجتماعی

نقل‌قول‌ها، نکات کوتاه و محتوای آموزشی می‌توانند روی دفترچه یا کاغذ یادداشت نمایش داده شوند.

ساخت ماکت گرافیکی

طراحان می‌توانند برای موکاپ دفتر، نامه، برگه یادداشت یا میز کار از متن دست‌نویس استفاده کنند.

شخصی‌سازی ارتباط با مشتری

کسب‌وکارها می‌توانند کارت تشکر یا یادداشت کوتاه را با سبک نوشتاری ثابت تولید کنند. برای چنین کاربردی بهتر است متن، نام مشتری و صفحه‌آرایی به‌صورت خودکار ساخته شود.

انتخاب روش مناسب

هدفروش پیشنهادی
متن فارسی دقیقفونت دست‌نویس فارسی
خروجی سریع و سادهابزار Text to Handwriting
استفاده از دست‌خط خودتانساخت فونت شخصی
جزوه چندصفحه‌ایرندر برنامه‌نویسی‌شده یا ابزار PDF
تصویر هنری از دفترمدل تولید تصویر همراه با اضافه کردن متن در مرحله بعد
کارت مناسبتیCanva یا نرم‌افزار طراحی با فونت دست‌نویس
تولید انبوه صفحاتپایتون و موتور تولید سند
متن متغیر برای کاربرانAPI هوش مصنوعی و قالب ثابت

روش اول: استفاده از ابزارهای آنلاین Text to Handwriting

ساده‌ترین راه این است که متن را در یک ابزار آنلاین وارد و خروجی را دریافت کنید.

ابزارهایی مانند HandtextAI امکان وارد کردن متن یا PDF، انتخاب سبک دست‌خط، تنظیم صفحه و دریافت خروجی مناسب چاپ یا نمای دفتر را ارائه می‌کنند. قابلیت‌ها و پشتیبانی زبان ممکن است تغییر کند؛ بنابراین قبل از پردازش یک متن طولانی، ابتدا چند جمله فارسی را آزمایش کنید. وب‌سایت HandtextAI

مراحل عمومی استفاده

  1. وارد ابزار تبدیل متن به دست‌خط شوید.
  2. متن را در ویرایشگر قرار دهید.
  3. سبک دست‌خط را انتخاب کنید.
  4. اندازه کاغذ را مشخص کنید.
  5. رنگ جوهر را انتخاب کنید.
  6. فاصله خطوط و حاشیه‌ها را تنظیم کنید.
  7. پیش‌نمایش را بررسی کنید.
  8. خروجی را به‌صورت تصویر یا PDF بگیرید.

آزمایش پشتیبانی فارسی

قبل از وارد کردن کل متن، این عبارت را آزمایش کنید:

هوش مصنوعی می‌تواند به سازمان‌دهی بهتر یادداشت‌ها کمک کند.

می‌خواهم اتصال حروف فارسی، نیم‌فاصله، اعداد ۱۲۳۴۵ و عبارت‌های English را بررسی کنم.

موارد زیر را کنترل کنید:

  • آیا حروف به یکدیگر متصل‌اند؟
  • آیا متن راست‌به‌چپ است؟
  • آیا نقطه‌ها و علائم در جای درست هستند؟
  • آیا «می‌تواند» با نیم‌فاصله نمایش داده می‌شود؟
  • آیا اعداد ترتیب صحیح دارند؟
  • آیا فارسی و انگلیسی با هم جابه‌جا نشده‌اند؟
  • آیا خروجی قابلیت چاپ دارد؟

اگر ابزار نتواند این متن کوتاه را درست نمایش دهد، برای یک جزوه فارسی طولانی نیز مناسب نیست.

روش دوم: تبدیل متن به دست‌خط در Word

Microsoft Word می‌تواند با استفاده از فونت دست‌نویس، متن تایپ‌شده را به یک سند قابل ویرایش با ظاهر دست‌نویس تبدیل کند.

مراحل انجام کار

  1. یک فونت دست‌نویس فارسی مناسب تهیه و نصب کنید.
  2. Word را باز کنید.
  3. جهت پاراگراف را روی Right-to-Left قرار دهید.
  4. متن را وارد کنید.
  5. فونت دست‌نویس را انتخاب کنید.
  6. اندازه فونت را تنظیم کنید.
  7. فاصله خطوط را افزایش دهید.
  8. رنگ متن را به آبی یا مشکی تغییر دهید.
  9. یک تصویر کاغذ خط‌دار به پس‌زمینه اضافه کنید.
  10. خروجی را به‌صورت PDF ذخیره کنید.

تنظیمات پیشنهادی

برای کاغذ A4:

  • اندازه صفحه: A4
  • جهت صفحه: عمودی
  • حاشیه‌ها: ۲ تا ۲٫۵ سانتی‌متر
  • اندازه فونت: متناسب با فونت، معمولاً ۱۵ تا ۲۲
  • فاصله خطوط: ۱٫۵ تا ۲
  • تراز: راست‌چین
  • رنگ متن: آبی تیره یا مشکی
  • رنگ کاغذ: سفید یا کرم بسیار روشن

طبیعی‌تر کردن خروجی Word

اگر تمام متن با اندازه و زاویه یکسان نوشته شود، نتیجه شبیه فونت خواهد بود. برای طبیعی‌تر شدن می‌توانید:

  • اندازه بعضی عنوان‌ها را کمی تغییر دهید.
  • میان پاراگراف‌ها فاصله متفاوت قرار دهید.
  • زیر بعضی کلمات خط بکشید.
  • برای نکات مهم از کادر یا هایلایت دستی استفاده کنید.
  • تعداد کمی علامت، پیکان یا دایره به سند اضافه کنید.
  • حاشیه سمت راست را کاملاً یکسان نگه ندارید.
  • از فونتی استفاده کنید که حروف جایگزین داشته باشد.

در استفاده از تغییرات تصادفی زیاده‌روی نکنید؛ وگرنه صفحه به‌جای طبیعی بودن، آشفته دیده می‌شود.

روش سوم: تبدیل متن به دست‌خط در Canva

Canva یک ابزار طراحی عمومی برای ساخت پوستر، کارت، ارائه و محتوای شبکه‌های اجتماعی است. می‌توانید از آن برای ساخت یک صفحه یادداشت یا نامه دست‌نویس استفاده کنید. وب‌سایت رسمی Canva

گردش‌کار پیشنهادی

  1. یک طرح A4 یا Custom Size بسازید.
  2. تصویر کاغذ یا دفتر را به‌عنوان پس‌زمینه قرار دهید.
  3. یک کادر متن راست‌چین اضافه کنید.
  4. فونت دست‌نویس سازگار با فارسی را انتخاب کنید.
  5. اندازه، فاصله خطوط و رنگ را تنظیم کنید.
  6. عناصر کوچکی مانند خط، پیکان یا یادداشت اضافه کنید.
  7. خروجی PNG یا PDF Print بگیرید.

اگر فونت فارسی دلخواه در Canva موجود نیست، در طرح‌هایی که امکان بارگذاری فونت دارند می‌توانید فونت مناسب خود را اضافه کنید. دسترسی به این قابلیت ممکن است به نوع حساب یا فضای کاری وابسته باشد.

چه زمانی Canva مناسب است؟

  • کارت تبریک
  • پست اینستاگرام
  • صفحه نقل‌قول
  • نامه کوتاه
  • برگه یادداشت
  • کاور جزوه
  • پوستر با ظاهر دست‌نویس

برای یک جزوه چندصدصفحه‌ای، Word یا تولید برنامه‌نویسی‌شده مناسب‌تر است.

روش چهارم: ساخت فونت از دست‌خط خودتان

اگر می‌خواهید خروجی واقعاً شبیه دست‌خط شما باشد، باید از نمونه حروف خودتان فونت بسازید.

Calligraphr ابزاری برای تبدیل دست‌خط یا خوشنویسی به فونت برداری است. فرایند کلی شامل دانلود قالب، نوشتن نویسه‌ها، اسکن قالب، بارگذاری و ساخت فونت می‌شود. Calligraphr

مراحل کلی ساخت فونت

  1. در ابزار ساخت فونت ثبت‌نام کنید.
  2. مجموعه نویسه‌های موردنیاز را انتخاب کنید.
  3. قالب نویسه‌ها را دانلود کنید.
  4. قالب را چاپ کنید.
  5. هر حرف و علامت را با قلم مشکی بنویسید.
  6. از قالب اسکن یا عکس باکیفیت تهیه کنید.
  7. تصویر را در ابزار بارگذاری کنید.
  8. موقعیت و اندازه نویسه‌ها را اصلاح کنید.
  9. فونت را تولید کنید.
  10. فایل TTF یا OTF را دانلود و نصب کنید.

راهنمای رسمی Calligraphr توصیه می‌کند قالب با قلم مشکی پر شود، تمام نشانه‌های اطراف قالب در تصویر باقی بمانند و سپس فایل اسکن‌شده در بخش My Fonts بارگذاری شود. آموزش ساخت اولین فونت در Calligraphr

چالش مهم ساخت فونت فارسی

حروف فارسی با توجه به جایگاهشان در کلمه شکل متفاوتی دارند:

  • شکل جدا
  • شکل ابتدایی
  • شکل میانی
  • شکل پایانی

علاوه بر آن، اتصال حروف، جایگاه نقطه‌ها، اعراب و ترکیب‌هایی مانند «لا» باید در فونت تعریف شوند. بنابراین ساخت فونت فارسی کامل از ساخت یک فونت ساده لاتین پیچیده‌تر است.

قبل از انتخاب ابزار بررسی کنید که:

  • امکان تعریف نویسه‌های فارسی وجود داشته باشد.
  • فونت خروجی از اتصال حروف پشتیبانی کند.
  • امکان تنظیم شکل‌های جایگزین وجود داشته باشد.
  • نویسه‌های فارسی و عربی موردنیاز قابل افزودن باشند.
  • علائم نگارشی و اعداد فارسی در مجموعه قرار بگیرند.

در غیر این صورت، بهتر است از یک فونت دست‌نویس فارسی آماده استفاده کنید.

چرا چند شکل از هر حرف بهتر است؟

در دست‌خط واقعی، یک حرف هر بار دقیقاً به یک شکل نوشته نمی‌شود. اگر برای نویسه‌های پرتکرار چند نسخه طراحی شود، موتور فونت می‌تواند شکل‌های متفاوتی نمایش دهد.

Calligraphr امکان ساخت فونت با چند گونه از یک نویسه را توضیح داده است. استفاده از چند نسخه برای حروف پرتکرار، ظاهر تکراری فونت را کاهش می‌دهد. آموزش Randomized Font در Calligraphr

روش پنجم: ساخت صفحه دست‌نویس با مدل تصویر

مدل‌های تولید تصویر می‌توانند تصویر یک دفتر واقعی با نور، سایه، خودکار و نوشته‌های دست‌نویس بسازند. اما نباید متن طولانی و دقیق را مستقیماً به آن‌ها سپرد.

روش نامناسب

یک صفحه دفتر بساز که تمام این مقاله فارسی روی آن با دست نوشته شده باشد.

احتمال زیادی وجود دارد که کلمات ناخوانا یا نادرست تولید شوند.

روش حرفه‌ای

فرایند را به دو بخش تقسیم کنید:

  1. تولید پس‌زمینه بدون متن
  2. اضافه کردن متن دقیق با فونت دست‌نویس

پرامپت تولید پس‌زمینه:

نمای مستقیم از بالا از یک صفحه دفتر خط‌دار سفید روی میز چوبی روشن، نور طبیعی ملایم، یک خودکار آبی در کنار صفحه، صفحه کاملاً خالی و بدون نوشته، بدون لوگو، بدون واترمارک، فضای تمیز و واقعی

پس از تولید تصویر:

  1. آن را در Canva، Photoshop یا نرم‌افزار مشابه باز کنید.
  2. متن فارسی را با فونت دست‌نویس اضافه کنید.
  3. زاویه و پرسپکتیو متن را با صفحه هماهنگ کنید.
  4. رنگ نوشته را آبی تیره انتخاب کنید.
  5. کمی بافت و کاهش یکنواختی اعمال کنید.
  6. خروجی نهایی بگیرید.

این روش هم ظاهر تصویری حرفه‌ای ایجاد می‌کند و هم متن فارسی دقیق باقی می‌ماند.

آماده‌سازی متن با هوش مصنوعی

هوش مصنوعی می‌تواند پیش از تبدیل متن به دست‌خط، محتوا را برای قالب صفحه آماده کند.

تبدیل متن طولانی به جزوه

متن زیر را به یک جزوه آموزشی کوتاه و منظم تبدیل کن.

ساختار:
- عنوان
- تعریف کوتاه
- نکات اصلی
- مثال
- جمع‌بندی
- سه سؤال مرور

قواعد:
- فقط از اطلاعات متن استفاده کن.
- جمله‌ها کوتاه باشند.
- هر نکته حداکثر دو خط باشد.
- از پاراگراف‌های طولانی جلوگیری کن.
- متن برای قرار گرفتن روی صفحه دفتر مناسب باشد.

متن:
[متن اصلی]

تبدیل یادداشت پراکنده به صفحه منظم

یادداشت‌های پراکنده زیر را سازمان‌دهی کن.

خروجی باید شامل این بخش‌ها باشد:
- موضوع اصلی
- نکات کلیدی
- موارد مهم با علامت ستاره
- مثال‌ها
- کارهایی که باید انجام شوند

اطلاعات جدید اضافه نکن.

تولید فلش‌کارت

از متن زیر ۱۵ فلش‌کارت آموزشی بساز.

قالب هر کارت:
پرسش:
پاسخ کوتاه:

پاسخ هر کارت حداکثر ۴۰ کلمه باشد. تمام پاسخ‌ها باید فقط از متن مرجع استخراج شوند.

ساخت برنامه روزانه

فهرست کارهای زیر را به یک برنامه روزانه قابل نوشتن در پلنر تبدیل کن.

خروجی:
- سه اولویت اصلی
- برنامه صبح
- برنامه بعدازظهر
- برنامه شب
- کارهای کوتاه
- یادداشت پایان روز

زمانی را که در اطلاعات وجود ندارد حدس نزن.

پرامپت جامع آماده‌سازی متن دست‌نویس

نقش شما:
به‌عنوان ویراستار محتوای آموزشی و طراح ساختار یادداشت عمل کن.

وظیفه:
متن ورودی را برای تبدیل به صفحات دست‌نویس آماده کن.

مخاطب:
[مخاطب]

اندازه صفحه:
A4 عمودی

تعداد تقریبی صفحات:
[تعداد]

ساختار هر صفحه:
- عنوان کوتاه
- حداکثر پنج نکته اصلی
- جمله‌های کوتاه
- یک مثال در صورت وجود
- فضای کافی میان بخش‌ها

قواعد:
- اطلاعات جدید تولید نکن.
- مفهوم متن را تغییر نده.
- از پاراگراف‌های طولانی جلوگیری کن.
- عنوان‌ها حداکثر هشت کلمه باشند.
- فهرست‌ها کوتاه و قابل خواندن باشند.
- اصطلاحات تخصصی حفظ شوند.
- متن فارسی روان باشد.
- شکل فارسی و انگلیسی اصطلاح مهم در اولین استفاده نوشته شود.
- خروجی را صفحه‌به‌صفحه ارائه بده.
- هر صفحه را با [PAGE] مشخص کن.

متن:
[متن اصلی]

ساخت خودکار دست‌خط فارسی با پایتون

برای ساخت صفحات دقیق فارسی می‌توان متن را با یک فونت دست‌نویس روی تصویر کاغذ رندر کرد.

در این روش، هوش مصنوعی محتوا را آماده و پایتون خروجی بصری را تولید می‌کند.

نصب کتابخانه‌ها

pip install pillow arabic-reshaper python-bidi openai

فایل‌های موردنیاز

  • یک فونت فارسی با فرمت TTF
  • تصویر پس‌زمینه کاغذ یا دفتر
  • متن نهایی
  • کلید API درواره، در صورت تولید یا بازسازی محتوا

ساختار نمونه:

project/
├── generate.py
├── handwriting.ttf
├── paper.png
└── output/

تنظیم کلید API

Linux و macOS:

export DARVAREH_API_KEY="YOUR_API_KEY"

PowerShell:

$env:DARVAREH_API_KEY="YOUR_API_KEY"

نمونه کد آماده‌سازی متن با API درواره

import os

from openai import OpenAI


client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1",
)


source_text = """
هوش مصنوعی می‌تواند به تحلیل اطلاعات، تولید محتوا
و خودکارسازی فرایندهای تکراری کمک کند.
"""

prompt = f"""
متن زیر را برای یک صفحه جزوه دست‌نویس آماده کن.

قواعد:
- یک عنوان کوتاه بنویس.
- متن را به حداکثر پنج نکته تبدیل کن.
- مفهوم اصلی حفظ شود.
- اطلاعات جدید اضافه نکن.
- جمله‌ها کوتاه باشند.
- خروجی فقط شامل عنوان و نکات باشد.

متن:
{source_text}
"""

response = client.chat.completions.create(
    model="YOUR_MODEL_ID",
    messages=[
        {
            "role": "system",
            "content": (
                "شما ویراستار جزوه‌های آموزشی فارسی هستید. "
                "محتوا را دقیق، کوتاه و ساختاریافته آماده می‌کنید."
            ),
        },
        {
            "role": "user",
            "content": prompt,
        },
    ],
    temperature=0.2,
)

prepared_text = response.choices[0].message.content

print(prepared_text)

در این نمونه:

  • آدرس پایه API برابر https://api.darvareh.ir/v1 است.
  • به‌جای YOUR_MODEL_ID باید شناسه مدل درواره قرار بگیرد.
  • مدل فقط متن را برای صفحه دست‌نویس آماده می‌کند.
  • تولید تصویر در مرحله بعد انجام می‌شود.

رندر متن فارسی روی کاغذ

from pathlib import Path

import arabic_reshaper
from bidi.algorithm import get_display
from PIL import Image, ImageDraw, ImageFont


PAGE_WIDTH = 1240
PAGE_HEIGHT = 1754
RIGHT_MARGIN = 110
TOP_MARGIN = 130
LINE_HEIGHT = 68
FONT_SIZE = 42
TEXT_COLOR = (25, 55, 120)


def prepare_persian(text):
    reshaped = arabic_reshaper.reshape(text)
    return get_display(reshaped)


def wrap_rtl_text(draw, text, font, max_width):
    words = text.split()
    lines = []
    current_line = ""

    for word in words:
        candidate = (
            f"{current_line} {word}".strip()
            if current_line
            else word
        )

        visual_candidate = prepare_persian(candidate)
        box = draw.textbbox((0, 0), visual_candidate, font=font)
        width = box[2] - box[0]

        if width <= max_width:
            current_line = candidate
        else:
            if current_line:
                lines.append(current_line)
            current_line = word

    if current_line:
        lines.append(current_line)

    return lines


def create_handwritten_page(
    text,
    font_path,
    output_path,
    background_path=None,
):
    if background_path:
        page = Image.open(background_path).convert("RGB")
        page = page.resize((PAGE_WIDTH, PAGE_HEIGHT))
    else:
        page = Image.new(
            "RGB",
            (PAGE_WIDTH, PAGE_HEIGHT),
            (250, 248, 240),
        )

    draw = ImageDraw.Draw(page)
    font = ImageFont.truetype(font_path, FONT_SIZE)

    max_text_width = PAGE_WIDTH - (2 * RIGHT_MARGIN)
    lines = []

    for paragraph in text.splitlines():
        if not paragraph.strip():
            lines.append("")
            continue

        wrapped = wrap_rtl_text(
            draw,
            paragraph,
            font,
            max_text_width,
        )
        lines.extend(wrapped)

    y = TOP_MARGIN

    for line in lines:
        if not line:
            y += LINE_HEIGHT
            continue

        visual_line = prepare_persian(line)
        box = draw.textbbox((0, 0), visual_line, font=font)
        text_width = box[2] - box[0]

        x = PAGE_WIDTH - RIGHT_MARGIN - text_width

        draw.text(
            (x, y),
            visual_line,
            font=font,
            fill=TEXT_COLOR,
        )

        y += LINE_HEIGHT

        if y > PAGE_HEIGHT - TOP_MARGIN:
            break

    Path(output_path).parent.mkdir(
        parents=True,
        exist_ok=True,
    )

    page.save(output_path, quality=95)


text = """
کاربردهای هوش مصنوعی

• تحلیل و سازمان‌دهی اطلاعات
• تولید پیش‌نویس محتوا
• خلاصه‌سازی اسناد
• خودکارسازی کارهای تکراری
• کمک به برنامه‌ریزی
"""

create_handwritten_page(
    text=text,
    font_path="handwriting.ttf",
    background_path="paper.png",
    output_path="output/handwritten-page.jpg",
)

این کد چه کاری انجام می‌دهد؟

  • یک صفحه A4 تصویری می‌سازد.
  • فونت فارسی دلخواه را بارگذاری می‌کند.
  • اتصال حروف فارسی را آماده می‌کند.
  • جهت راست‌به‌چپ را اعمال می‌کند.
  • متن را متناسب با عرض صفحه می‌شکند.
  • نوشته را از سمت راست صفحه قرار می‌دهد.
  • خروجی JPG تولید می‌کند.

ساخت PDF چندصفحه‌ای

پس از تولید تصاویر می‌توانید آن‌ها را به PDF تبدیل کنید:

from PIL import Image


page_files = [
    "output/page-1.jpg",
    "output/page-2.jpg",
    "output/page-3.jpg",
]

pages = [
    Image.open(path).convert("RGB")
    for path in page_files
]

pages[0].save(
    "output/handwritten-notes.pdf",
    save_all=True,
    append_images=pages[1:],
)

طبیعی‌تر کردن خروجی برنامه‌نویسی‌شده

برای اینکه صفحه شبیه دست‌خط واقعی‌تر شود، می‌توانید تغییرات بسیار محدودی ایجاد کنید:

  • جابه‌جایی عمودی یک تا دو پیکسل
  • تفاوت جزئی فاصله خطوط
  • استفاده از چند نسخه فونت
  • تغییر بسیار کم رنگ جوهر
  • افزودن بافت کاغذ
  • استفاده از حاشیه قرمز دفتر
  • قرار دادن عنوان با اندازه متفاوت
  • افزودن زیرخط یا دایره به نکات مهم

تغییرات باید کم باشند. اعوجاج زیاد، خوانایی متن را کاهش می‌دهد.

ساخت سرویس تبدیل متن به دست‌خط با API درواره

یک سرویس کامل می‌تواند گردش‌کار زیر را داشته باشد:

ورود متن یا فایل
        ↓
استخراج و پاک‌سازی محتوا
        ↓
ساختاردهی با مدل هوش مصنوعی
        ↓
تقسیم محتوا به صفحه
        ↓
رندر با فونت دست‌نویس
        ↓
ساخت PNG یا PDF
        ↓
نمایش پیش‌نمایش و دانلود

ورودی‌های پیشنهادی

  • متن
  • فایل Word
  • فایل PDF
  • زبان
  • اندازه صفحه
  • سبک دست‌خط
  • رنگ جوهر
  • نوع کاغذ
  • اندازه فونت
  • فاصله خطوط
  • تعداد صفحات

خروجی‌های پیشنهادی

  • تصویر هر صفحه
  • PDF چندصفحه‌ای
  • فایل ZIP تصاویر
  • نسخه چاپی A4
  • نسخه مناسب موبایل
  • نسخه قابل ویرایش

درواره در این کاربرد، زیرساخت API هوش مصنوعی برای آماده‌سازی، خلاصه‌سازی و ساختاربندی محتوا را ارائه می‌دهد. تولید نهایی دست‌خط باید با فونت، موتور رندر یا نرم‌افزار طراحی انجام شود.

اشتباهات رایج

سپردن متن دقیق به مدل تصویر

مدل تصویر برای نوشتن یک متن فارسی طولانی و دقیق مناسب نیست. پس‌زمینه را با مدل تصویر بسازید و متن را جداگانه اضافه کنید.

استفاده از فونت ناسازگار با فارسی

ممکن است حروف جدا، معکوس یا نامرتب نمایش داده شوند. فونت را با چند جمله ترکیبی فارسی و انگلیسی آزمایش کنید.

انتخاب اندازه بسیار کوچک

فونت‌های دست‌نویس در اندازه کوچک خوانایی کمتری دارند. پیش از ساخت کل سند، یک صفحه آزمایشی چاپ کنید.

نادیده گرفتن حاشیه چاپ

چاپگرها معمولاً تمام سطح کاغذ را چاپ نمی‌کنند. متن را به لبه‌ها نزدیک نکنید.

قرار دادن متن زیاد در هر صفحه

صفحه دست‌نویس به فاصله بیشتری نسبت به متن چاپی نیاز دارد. تراکم زیاد، خروجی را غیرطبیعی و ناخوانا می‌کند.

استفاده از یک پرامپت برای تولید تمام جزوه

برای محتوای طولانی، ابتدا ساختار کلی و سپس هر بخش را جداگانه آماده کنید.

تغییر ناخواسته محتوای اصلی

اگر هدف فقط تبدیل ظاهر متن است، به مدل اجازه خلاصه‌سازی یا بازنویسی ندهید.

کنترل نکردن متن فارسی

اتصال حروف، نیم‌فاصله، اعداد، پرانتز و ترکیب فارسی و انگلیسی را در خروجی نهایی بررسی کنید.

چک‌لیست نهایی

پیش از دریافت خروجی نهایی بررسی کنید:

  • آیا متن کامل منتقل شده است؟
  • آیا کلمه‌ای حذف یا اضافه نشده است؟
  • آیا حروف فارسی متصل‌اند؟
  • آیا متن راست‌به‌چپ است؟
  • آیا اعداد ترتیب صحیح دارند؟
  • آیا عبارات انگلیسی جابه‌جا نشده‌اند؟
  • آیا نیم‌فاصله‌ها درست نمایش داده می‌شوند؟
  • آیا اندازه نوشته مناسب است؟
  • آیا فاصله خطوط کافی است؟
  • آیا رنگ جوهر طبیعی است؟
  • آیا متن داخل حاشیه امن صفحه قرار دارد؟
  • آیا پس‌زمینه کیفیت کافی دارد؟
  • آیا خروجی برای چاپ حداقل کیفیت مناسب دارد؟
  • آیا تمام صفحات سبک یکسانی دارند؟
  • آیا فایل PDF به‌درستی باز می‌شود؟
  • آیا یک صفحه آزمایشی چاپ شده است؟

سؤالات متداول

چگونه متن را به دست‌خط تبدیل کنیم؟

متن را در یک ابزار Text to Handwriting وارد کنید، سبک دست‌خط و کاغذ را انتخاب و خروجی تصویر یا PDF دریافت کنید. برای متن فارسی باید سازگاری فونت و راست‌به‌چپ بودن ابزار را آزمایش کنید.

آیا هوش مصنوعی می‌تواند متن فارسی را به دست‌خط تبدیل کند؟

بله، اما مطمئن‌ترین روش برای متن دقیق فارسی استفاده از فونت دست‌نویس و موتور رندر راست‌به‌چپ است. مدل‌های تولید تصویر ممکن است کلمات فارسی را اشتباه تولید کنند.

چگونه متن Word را به دست‌خط تبدیل کنیم؟

یک فونت دست‌نویس فارسی نصب کنید، متن را در Word راست‌چین و راست‌به‌چپ کنید، فونت و فاصله خطوط را تنظیم و فایل را به PDF تبدیل کنید.

چگونه دست‌خط خودمان را به فونت تبدیل کنیم؟

باید نمونه هر حرف و علامت را روی قالب ابزار ساخت فونت بنویسید، قالب را اسکن و بارگذاری کنید و سپس فایل TTF یا OTF بسازید. برای فارسی، پشتیبانی از اتصال حروف و شکل‌های مختلف نویسه‌ها اهمیت دارد.

آیا می‌توان یک جزوه کامل را به دست‌خط تبدیل کرد؟

بله. بهتر است ابتدا محتوا را صفحه‌بندی کنید، سپس هر صفحه را جداگانه رندر و در پایان تصاویر را به یک PDF چندصفحه‌ای تبدیل کنید.

بهترین فرمت خروجی چیست؟

برای استفاده دیجیتال، PNG یا JPG مناسب است. برای چاپ چند صفحه، PDF انتخاب بهتری است. اگر می‌خواهید متن همچنان قابل ویرایش باشد، فایل Word با فونت دست‌نویس را نیز نگه دارید.

آیا درواره ابزار آماده تبدیل متن به دست‌خط است؟

خیر. درواره زیرساخت API هوش مصنوعی است. می‌توانید از مدل‌های در دسترس درواره برای آماده‌سازی و ساختاربندی متن استفاده کنید و خروجی را با فونت یا موتور رندر به صفحات دست‌نویس تبدیل کنید.

جمع‌بندی

تبدیل متن به دست‌خط با هوش مصنوعی می‌تواند برای ساخت جزوه، یادداشت، نامه، فلش‌کارت، پلنر و محتوای تصویری استفاده شود. بااین‌حال، انتخاب روش مناسب اهمیت زیادی دارد.

اگر صحت متن مهم است، از فونت دست‌نویس و موتور رندر استفاده کنید. اگر می‌خواهید خروجی شبیه دست‌خط خودتان باشد، یک فونت شخصی بسازید. اگر به تصویر هنری از میز و دفتر نیاز دارید، پس‌زمینه را با مدل تصویر تولید و متن دقیق را در مرحله‌ای جداگانه اضافه کنید.

گردش‌کار پیشنهادی:

  1. متن را آماده کنید.
  2. آن را با هوش مصنوعی ساختاربندی کنید.
  3. فونت دست‌نویس سازگار با فارسی انتخاب کنید.
  4. صفحه و حاشیه‌ها را تنظیم کنید.
  5. متن را راست‌به‌چپ رندر کنید.
  6. خروجی تصویر یا PDF بگیرید.
  7. متن و کیفیت چاپ را کنترل کنید.

برای ساخت سرویس‌های خودکار تولید جزوه، یادداشت و صفحات شخصی‌سازی‌شده می‌توانید از API هوش مصنوعی درواره برای پردازش و ساختاربندی محتوا استفاده کنید.

برای مشاهده مدل‌های موجود و اطلاعات به‌روز هزینه، صفحه مدل‌ها و قیمت‌های درواره را ببینید.

مقالات مرتبط

برای مطالعه شرایط استفاده و محدودیت‌های مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.

Read more