diamonds55
17th January 2009, 02:26 PM
«نویسهخوان آراکس - نگارش سرویس دهنده (http://www.farsiocr.com/server_edition)» از این جهت که برای دریافت حجمهای بالا از ورودی از سطح شبکههای بزرگ، پردازش متمرکز آنها و سپس توزیع نتایج در سطح شبکه طراحی شده یک نرمافزار سازمانی به شمار میآید و از این جهت که ابزارها و رابطهای برنامهنویسی سطح مشتری را برای کنترل فرایند ارسال درخواست و دریافت، شکلدهی و استفادهی مجدد از نتایج را فراهم میآورد یک جعبهابزار برنامهنویسی به حساب میآید.
این نرمافزار -برخلاف نگارشهای رومیزی نویسهخوان آراکس که تمام ابزارها را در قالب یکبه صورت نظری، هیچ برنامهی کامل و آمادهای را برای استفاده در کامپیوترهای نیازمند خدمات OCR و تولید سند ارائه نمیکند (یعنی به صورت نظری، سازمانی که نسخهای از این نرمافزار بزرگ را خریداری میکند بدون برنامهنویسی توانایی استفاده از قابلیتهای این نرمافزار را ندارد)! البته این نرمافزار با مجموعهای از نمونه برنامههای آماده -به همراه کد منبع جهت آموزش نحوهی استفاده از قابلیتهای قابل برنامهنویسی نرمافزار- به زبانهای برنامهنویسی مختلف (برنامههای مبتنی بر فرمهای ویندوز و همچنین مبتنی بر وب به زبانهای C# و VB.NET، برنامههای ویندوزی نوشته شده با نسخههای مختلف دلفی و ویژوال سی ++ و همچنین نمونه کدهای اچ.تی.ام.ال و جاوا اسکریپت) ارائه میشود که عملاً امکان استفاده از قابلیتهای آن را برای کاربران فراهم میآورد، هر چند این برنامههای در نوع خود کامل، تنها به هدف آن ارائه میشوند که برنامهنویسان را در برنامهریزی نرمافزار یاری کنند. هدف این نگارش نویسهخوان آراکس، چیزی فراتر از ارائهی خدمات بازشناسی و پردازش متن سند در سطح شبکه است، هدف اصلی این مجموعه تسهیل یکپارچهسازی سیستمهای نیازمند OCR (سیستمهای اتوماسیون اداری، سیستمهای عکسبرداری از اسناد، کتابخانههای دیجیتال، سیستمهای بایگانی و …) با خدمات OCR است. برنامهی اجرایی در اختیار کاربر میگذارند-، از مجموعهای از برنامههای اجرایی برای کنترل، پیکربندی و نظارت، یک برنامهی سرویس دهنده و چند کنترل قابل برنامهریزی در سطح کاربر نهایی تشکیل میشود و
«تسهیل یکپارچهسازی» عبارتی رؤیایی است! برنامهنویسان و شرکتهای نرمافزاری میدانند که تغییر نرمافزارهای بزرگی که سالها وقت صرف آمادهسازی آن شده و اضافه کردن قابلیتی که احتمالاً تمامی اجزای آنها را تحت تأثیر قرار خواهد داد در خوشبینانهترین پیشبینیها غیر از آن که ممکن است زمان زیادی از یک شرکت نرمافزاری را -که میتواند صرف توسعهی اجزای سیستم شود- به خود اختصاص دهد باعث ایجاد اشکالات جدید و مشکلات تازه برای سیستمهایی میشود که در طول زمان و با زحمت زیاد به وضعیت ثبات و نرخ ایراد پایین رسیدهاند و این کار، عملاً به جای یک «رؤیا» کابوس هراسانگیزی خواهد بود که همه چیز را برای مدتی به هم خواهد ریخت. چگونه ممکن است «یکپارچهسازی» در حجمی به این بزرگی چیزی غیر از یک کابوس باشد؟ شاید عاقلانهترین تصمیم آن باشد که تا زمانی که مشتریان از ما نخواستهاند از اعمال چنین تغییرات بزرگی در سیستمهایمان دوری کنیم! مسأله اینجاست که مشتریان به زودی از ما خواهند خواست که قابلیت OCR را به سیستمهایشان اضافه کنیم! ببخشید! اشتباه شد! آنها سالها پیش از ما میخواستهاند که کاری کنیم که نیاز نباشد آن چیزی که قبلاً تایپ شده، دوباره تایپ شود و همینطور کاری کنیم تا بتوانند در عرض چند لحظه بتوانند نشانی سندی را که عبارتی خاص در متن آن وجود دارد در میان هزاران یا میلیونهای سند عکسبرداری شده در بایگانی دیجیتالشان بیابند. اما چرا به درخواستشان «نه» گفتهایم؟ دلیل ما کاملاً قانعکننده بوده:
این کار از لحاظ فنی امکانپذیر نیست، زیرا هنوز یک نرمافزار OCR قابل اطمینان فارسی وجود ندارد.
اما این جواب آیا اکنون هم قانعکننده است؟! آیا این جواب -اصلاً- حالا دیگر درست است؟! دوست داشته باشید یا نداشته باشید مشتریان سیستم شما تا به حال خبرهای تولید نرمافزاری توانمند برای OCR فارسی را شنیدهاند و به زودی باید منتظر آن باشید که در برابر جواب قانعکنندهی شما نشانی شرکت ما را به شما بدهند!
نگران نباشید! ما میدانستیم که دردسر بزرگی برای شما درست خواهیم کرد! و به همین دلیل، سعی کردهایم تا نه تنها امکان یکپارچهسازی OCR را با سیستمهای شما فراهم آوریم، بلکه تلاش کردهایم تا در انجام این کار آن هدف رؤیایی را هم محقق کنیم و «یکپارچهسازی را آسان کنیم».
یکپارچهسازی را آسان کردهایم!
میدانم که این ادعا، چیزی از نگرانیهای شرکتهای نرمافزاری و برنامهنویسان باتجربه کم نمیکند. بهتر است به جای تأکید مجدد، شما را یک دور در میان اجزای نگارش سرویس دهندهی نویسهخوان آراکس بگردانم، اجزای آن را به شما نشان دهم و در نهایت نشان دهم که چگونه قرار است ما «یکپارچهسازی را آسان کنیم».
اجزای سیستم
هستهی مرکزی نگارش سرویس دهندهی نویسهخوان آراکس، سرویس دهندهی آن است. این برنامه که در قالب یک «سرویس» ویندوزی بر روی کامپیوتری که نقش سرور او.سی.آر را بر عهده دارد نصب و همیشه در پسزمینه اجرا میشود، همیشه در حال گوش دادن به یک درگاه شبکه است، از طریق این درگاه درخواستهای OCR و همچنین تولید سند را دریافت میکند. این سرویس دهنده علاوه بر بازشناسی نوری نویسهها، قابلیت تولید سندهای PDF و RTF را نیز از نتایج OCR، به صورت قابل برنامهریزی داراست و از این رو عملاً علاوه بر یک سرور او.سی.آر، یک سرور تولید سند هم هست (محصولی که از سوی برخی شرکتهای تولیدکنندهی محصولات OCR در قالب یک محصول جداگانه و با نامهایی همچون PDF Server و مانند آن به فروش میرسد).
http://i40.tinypic.com/11c5hmw.gif
سرویسدهندهی آراکس، همانند سایر سرویسهای عادی ویندوز، رابط کاربری ندارد. از این رو مجبوریم برای پیکربندی و نظارت بر نحوهی عملکرد آن از اجزای دیگری از نویسهخوان آراکس نگارش سرویس دهنده استفاده کنیم.
«پیمانهی تنظیمات سرویس دهنده» برنامهایست که رابط کاربری سادهای -مشابه پنجرهی تنظیمات نسخهی رومیزی نویسهخوان آراکس- برای پیکربندی سرویسدهنده در اختیار میگذارد. تنظیماتی را که جنبهی عمومی دارند از طریق این برنامه میتوان تغییر داد. اعمال تنظیمات به صورت همزمان و بدون نیاز به راهاندازی مجدد سرویس دهنده انجام میشود.
http://i42.tinypic.com/30xdd80.jpg
به کمک «پیمانهی پایش» میتوانید از طریق شبکه به سرویس دهندهی آراکس متصل شوید و به طور همزمان وضعیت آن و همچنین فهرست اسناد دریافت شده و وضعیت آنها را ببینید و در صورت لزوم -در صورتی که نحوهی اتصال شما به سرویس دهنده به شما این اجازه را بدهد- تعدادی را از چرخهی پردازش خارج کنید، سرویس دهنده را متوقف کنید یا مجدداً راهاندازی کنید و یا وضعیت اسناد ورودی قدیمی را بازبینی کنید.
http://i40.tinypic.com/24ystpf.jpg (http://i44.tinypic.com/2dul2r4.png)
«پیمانهی مدیریت الگوهای ناحیهبندی» برنامهای است که به کمک آن میتوانید الگوهای ناحیهبندی پیشفرض و «فیلدهای داده» را تعریف کنید. این الگوها و فیلدها از طریق رابطهای برنامهنویسی آراکس در دسترس قرار میگیرند و به کمک آنها میتوانید ضمن اعمال سریع الگوهای ناحیهبندی بر اسناد مشابه، فیلدهای دادهی مورد نیاز (مانند موضوع نامهها، فرستنده، گیرنده، متن اصلی نامه، تاریخ، شماره و …) را تعیین و از اسناد استخراج کنید.
http://i43.tinypic.com/2pyp4c4.jpg
اجزای ذکر شده مجموعهی هستهی اصلی و ابزارهای کاربردی نگارش سرویس دهندهی نویسهخوان آراکس را تشکیل میدهند. کنترل آنها، بر عهدهی مدیران سیستم است و برنامهنویسان با آنها به طور مستقیم سر و کاری ندارند.
بخش قابل برنامهریزی نگارش سرویس دهنده، در حال حاضر از دو کنترل تشکیل شده، که با یکی میتوانید درخواست OCR یا تولید سند را ایجاد، مطابق نظر کاربر بدلخواه و به سرویس دهنده ارسال کنید، پاسخ را دریافت کنید و نتیجه را به کاربر نشان دهید یا آن را در مخزن دادهها یا سیستم فایل مورد نظر خود ذخیره کنید (کنترل آراکس) و با دیگری میتوانید امکان جستجو و برجسته کردن کلیدواژهها را روی تصویر سند در اختیار کاربر بگذارید (کنترل برجستهسازی). این دو کنترل در تمام محیطهای برنامهنویسی که از ActiveX پشتیبانی میکنند به طور عام و محیطهای برنامهنویسی مبتنی بر .NET به طور خاص در دسترس قرار دارند (در واقع این کنترلها با و برای محیط .NET آماده شدهاند و توسط یک واسط در دسترس میزبانهای اکتیواکس قرار میگیرند).
چگونه کار میکند؟
رابط برنامهنویسی کنترل آراکس امکانات زیادی در اختیار برنامهنویسان میگذارد.البته استفاده از این طیف گسترده از امکانات، به کمک خصیصهها، رویهها و رویدادهای این کنترل آسانتر از آن چیزی است که ممکن است در ابتدا تصور کنید. خصوصاً این که مجموعهی کاملی از نمونه برنامههای آمادهی اجرا به همراه مستندات کامل نگارش سرویس دهندهی آراکس در این خصوص یاریگر شماست.
مراحل اضافه کردن قابلیت OCR به برنامهها چند گام ابتدایی مشابه دارد. ابتدا مسیر فایل تصویر سند را تعیین میکنید (البته در این گام هم انتخابهای دیگری دارید، مثلاً ممکن است ابتدا بخواهید به کمک یکی از رویههای کنترل آراکس تعداد قابهای یک فایل چند قاب PDF یا TIFF را به دست آورید، از کاربر بخواهید که شماره قاب مورد نظرش را انتخاب کند و سپس با تعیین مسیر و شماره قاب، تصویر مورد نظر برای OCR را مشخص کنید یا مثلاً ممکن است بخواهید تصویر را به جای بارگذاری از سیستم فایل از حافظه بارگذاری کنید)، ممکن است بخواهید مشخصههایی از درخواست را مطابق نظر کاربر یا نیازهای سیستمتان تغییر دهید، درخواست را ارسال میکنید، بلافاصله پس از ارسال، کد پیگیری آن را دریافت میکنید و اگر درخواست شما از نوع برخط باشد پس از خوانده شدن فایل، با رخ دادن یک رویداد از آماده بودن نتیجهی OCR باخبر میشوید و مقدار متغیر متن خوانده شده را در داخل کنترلهای مورد نظر خود میریزید. ممکن است بخواهید نتیجهی دریافت شده را با چند نتیجهی دریافتی قبلی به انتخاب کاربر ترکیب کنید و یک فایل PDF قابل جستجوی چند صفحهای بسازید، در این حالت کافی است کدهای پیگیری اسناد مورد نظر خود را مطابق ترتیبی که کاربر انتخاب کرده توسط توابع ایجاد سند کنترل آراکس، به سرویس دهنده ارسال کنید و پس از آماده شدن فایل PDF مورد نظرتان با رخ دادن رویدادی متناظر از آماده شدن آن باخبر شوید و فایل دریافتی را در اختیار کاربر بگذارید.
http://i42.tinypic.com/35hqoo7.jpg
تسهیل یکپارچهسازی : چگونه؟
برگردیم سر ادعا و شعار اول! مرور کلی و مقدماتی نگارش سرویس دهندهی آراکس احتمالاً این نکته را به ذهن شما متبادر کرده که با یک نرمافزار بزرگ سر و کار داریم. در صورتی که کتابچههای راهنمای برنامهنویسی این نرمافزار را ببینید یا نمونه برنامههای آماده را در لوح فشردهی آن ببینید احتمالاً این دریافت در شما تقویت خواهد شد، که بعله، با نرمافزار بزرگی سر و کار داریم که با آن میشود خیلی از کارهایی را که در مورد OCR لازم است انجام دهیم انجام داد. چگونه میشود که یکپارچهسازی نرمافزارهای موجود با چنین نرمافزاری آسان و سریع باشد؟
نگارش سرویسدهندهی آراکس با اضافه شدن یک یا دو کنترل قابل برنامهریزی به برنامههای سطح کاربر قابلیت جایگزینی روشهای دریافت متن موجود را با روشهای خودکار تشخیص متن برایتان فراهم میآورد. رمز ساده بودن فرایند یکپارچهسازی آراکس در کم بودن تعداد گامهای لازم برای اضافه شدن قابلیت OCR به سیستمهای موجود، تعداد تغییرات کم مورد نیاز، عدم نیاز به پیکربندی پیچیده و ارائهی تمامی قابلیتهای مورد نیاز برای دریافت تصاویر و ارسال نتایج در سطح شبکه بدون نیاز به برنامهنویسی اضافی است. ضمن آن که به دلیل آن که پردازشهای اصلی در سطح سرور و به صورت متمرکز انجام میشود میزان سربار ناشی از اضافه شدن قابلیت OCR به نرمافزارهای سطح کاربر بسیار پایین است.
نوشتهای که خواندید برای سایت نویسهخوان آراکس تهیه شده بوده و یکی دو ماهی هست که به صورت PDF از این سایت قابل دریافت است (http://www.farsiocr.com/images/arax-server-whitepaper.pdf) (عنوان نوشته، اشارهای ضمنی است به عنوان این نوشته از همین وبلاگ: تحقق یک رؤیا : او.سی.آر فارسی (http://www.gozir.com/1387/03/28/farsiocr/)). نگارش سرویسدهندهی نویسهخوان آراکس (http://www.farsiocr.com/server_edition) از زمان تهیهی این مطلب تا کنون دچار تغییراتی شده است و برخی تصاویر استفاده شده در این نوشته مربوط به ویرایش پیش از انتشار رسمی نگارش سرویسدهنده هستند. در هر صورت اگر جزء مخاطبان احتمالی این نوشته هستید و شرکت شما نیازمند اضافه کردن قابلیت او.سی.آر فارسی (و انگلیسی) و یک سیستم متمرکز، سریع و کارآمد تولید و مدیریت اسناد (TXT ، PDF ، RTF و …) به نرمافزارهای موجودش است برای دریافت اطلاعات بیشتر با هدی سیستم تماس بگیرید (http://www.farsiocr.com/contactus) تا در صورت لزوم بازدیدی نزدیک از قابلیتهای این نگارش از نویسهخوان آراکس داشته باشید، قابلیتها و امکانات آن و آسانی فرایند یکپارچهسازی آن با سیستمهای موجود را از نزدیک لمس کنید و بر اساس آن، برای آیندهی سیستمهای نرمافزاری موجودتان تصمیم بگیرید.
این نرمافزار -برخلاف نگارشهای رومیزی نویسهخوان آراکس که تمام ابزارها را در قالب یکبه صورت نظری، هیچ برنامهی کامل و آمادهای را برای استفاده در کامپیوترهای نیازمند خدمات OCR و تولید سند ارائه نمیکند (یعنی به صورت نظری، سازمانی که نسخهای از این نرمافزار بزرگ را خریداری میکند بدون برنامهنویسی توانایی استفاده از قابلیتهای این نرمافزار را ندارد)! البته این نرمافزار با مجموعهای از نمونه برنامههای آماده -به همراه کد منبع جهت آموزش نحوهی استفاده از قابلیتهای قابل برنامهنویسی نرمافزار- به زبانهای برنامهنویسی مختلف (برنامههای مبتنی بر فرمهای ویندوز و همچنین مبتنی بر وب به زبانهای C# و VB.NET، برنامههای ویندوزی نوشته شده با نسخههای مختلف دلفی و ویژوال سی ++ و همچنین نمونه کدهای اچ.تی.ام.ال و جاوا اسکریپت) ارائه میشود که عملاً امکان استفاده از قابلیتهای آن را برای کاربران فراهم میآورد، هر چند این برنامههای در نوع خود کامل، تنها به هدف آن ارائه میشوند که برنامهنویسان را در برنامهریزی نرمافزار یاری کنند. هدف این نگارش نویسهخوان آراکس، چیزی فراتر از ارائهی خدمات بازشناسی و پردازش متن سند در سطح شبکه است، هدف اصلی این مجموعه تسهیل یکپارچهسازی سیستمهای نیازمند OCR (سیستمهای اتوماسیون اداری، سیستمهای عکسبرداری از اسناد، کتابخانههای دیجیتال، سیستمهای بایگانی و …) با خدمات OCR است. برنامهی اجرایی در اختیار کاربر میگذارند-، از مجموعهای از برنامههای اجرایی برای کنترل، پیکربندی و نظارت، یک برنامهی سرویس دهنده و چند کنترل قابل برنامهریزی در سطح کاربر نهایی تشکیل میشود و
«تسهیل یکپارچهسازی» عبارتی رؤیایی است! برنامهنویسان و شرکتهای نرمافزاری میدانند که تغییر نرمافزارهای بزرگی که سالها وقت صرف آمادهسازی آن شده و اضافه کردن قابلیتی که احتمالاً تمامی اجزای آنها را تحت تأثیر قرار خواهد داد در خوشبینانهترین پیشبینیها غیر از آن که ممکن است زمان زیادی از یک شرکت نرمافزاری را -که میتواند صرف توسعهی اجزای سیستم شود- به خود اختصاص دهد باعث ایجاد اشکالات جدید و مشکلات تازه برای سیستمهایی میشود که در طول زمان و با زحمت زیاد به وضعیت ثبات و نرخ ایراد پایین رسیدهاند و این کار، عملاً به جای یک «رؤیا» کابوس هراسانگیزی خواهد بود که همه چیز را برای مدتی به هم خواهد ریخت. چگونه ممکن است «یکپارچهسازی» در حجمی به این بزرگی چیزی غیر از یک کابوس باشد؟ شاید عاقلانهترین تصمیم آن باشد که تا زمانی که مشتریان از ما نخواستهاند از اعمال چنین تغییرات بزرگی در سیستمهایمان دوری کنیم! مسأله اینجاست که مشتریان به زودی از ما خواهند خواست که قابلیت OCR را به سیستمهایشان اضافه کنیم! ببخشید! اشتباه شد! آنها سالها پیش از ما میخواستهاند که کاری کنیم که نیاز نباشد آن چیزی که قبلاً تایپ شده، دوباره تایپ شود و همینطور کاری کنیم تا بتوانند در عرض چند لحظه بتوانند نشانی سندی را که عبارتی خاص در متن آن وجود دارد در میان هزاران یا میلیونهای سند عکسبرداری شده در بایگانی دیجیتالشان بیابند. اما چرا به درخواستشان «نه» گفتهایم؟ دلیل ما کاملاً قانعکننده بوده:
این کار از لحاظ فنی امکانپذیر نیست، زیرا هنوز یک نرمافزار OCR قابل اطمینان فارسی وجود ندارد.
اما این جواب آیا اکنون هم قانعکننده است؟! آیا این جواب -اصلاً- حالا دیگر درست است؟! دوست داشته باشید یا نداشته باشید مشتریان سیستم شما تا به حال خبرهای تولید نرمافزاری توانمند برای OCR فارسی را شنیدهاند و به زودی باید منتظر آن باشید که در برابر جواب قانعکنندهی شما نشانی شرکت ما را به شما بدهند!
نگران نباشید! ما میدانستیم که دردسر بزرگی برای شما درست خواهیم کرد! و به همین دلیل، سعی کردهایم تا نه تنها امکان یکپارچهسازی OCR را با سیستمهای شما فراهم آوریم، بلکه تلاش کردهایم تا در انجام این کار آن هدف رؤیایی را هم محقق کنیم و «یکپارچهسازی را آسان کنیم».
یکپارچهسازی را آسان کردهایم!
میدانم که این ادعا، چیزی از نگرانیهای شرکتهای نرمافزاری و برنامهنویسان باتجربه کم نمیکند. بهتر است به جای تأکید مجدد، شما را یک دور در میان اجزای نگارش سرویس دهندهی نویسهخوان آراکس بگردانم، اجزای آن را به شما نشان دهم و در نهایت نشان دهم که چگونه قرار است ما «یکپارچهسازی را آسان کنیم».
اجزای سیستم
هستهی مرکزی نگارش سرویس دهندهی نویسهخوان آراکس، سرویس دهندهی آن است. این برنامه که در قالب یک «سرویس» ویندوزی بر روی کامپیوتری که نقش سرور او.سی.آر را بر عهده دارد نصب و همیشه در پسزمینه اجرا میشود، همیشه در حال گوش دادن به یک درگاه شبکه است، از طریق این درگاه درخواستهای OCR و همچنین تولید سند را دریافت میکند. این سرویس دهنده علاوه بر بازشناسی نوری نویسهها، قابلیت تولید سندهای PDF و RTF را نیز از نتایج OCR، به صورت قابل برنامهریزی داراست و از این رو عملاً علاوه بر یک سرور او.سی.آر، یک سرور تولید سند هم هست (محصولی که از سوی برخی شرکتهای تولیدکنندهی محصولات OCR در قالب یک محصول جداگانه و با نامهایی همچون PDF Server و مانند آن به فروش میرسد).
http://i40.tinypic.com/11c5hmw.gif
سرویسدهندهی آراکس، همانند سایر سرویسهای عادی ویندوز، رابط کاربری ندارد. از این رو مجبوریم برای پیکربندی و نظارت بر نحوهی عملکرد آن از اجزای دیگری از نویسهخوان آراکس نگارش سرویس دهنده استفاده کنیم.
«پیمانهی تنظیمات سرویس دهنده» برنامهایست که رابط کاربری سادهای -مشابه پنجرهی تنظیمات نسخهی رومیزی نویسهخوان آراکس- برای پیکربندی سرویسدهنده در اختیار میگذارد. تنظیماتی را که جنبهی عمومی دارند از طریق این برنامه میتوان تغییر داد. اعمال تنظیمات به صورت همزمان و بدون نیاز به راهاندازی مجدد سرویس دهنده انجام میشود.
http://i42.tinypic.com/30xdd80.jpg
به کمک «پیمانهی پایش» میتوانید از طریق شبکه به سرویس دهندهی آراکس متصل شوید و به طور همزمان وضعیت آن و همچنین فهرست اسناد دریافت شده و وضعیت آنها را ببینید و در صورت لزوم -در صورتی که نحوهی اتصال شما به سرویس دهنده به شما این اجازه را بدهد- تعدادی را از چرخهی پردازش خارج کنید، سرویس دهنده را متوقف کنید یا مجدداً راهاندازی کنید و یا وضعیت اسناد ورودی قدیمی را بازبینی کنید.
http://i40.tinypic.com/24ystpf.jpg (http://i44.tinypic.com/2dul2r4.png)
«پیمانهی مدیریت الگوهای ناحیهبندی» برنامهای است که به کمک آن میتوانید الگوهای ناحیهبندی پیشفرض و «فیلدهای داده» را تعریف کنید. این الگوها و فیلدها از طریق رابطهای برنامهنویسی آراکس در دسترس قرار میگیرند و به کمک آنها میتوانید ضمن اعمال سریع الگوهای ناحیهبندی بر اسناد مشابه، فیلدهای دادهی مورد نیاز (مانند موضوع نامهها، فرستنده، گیرنده، متن اصلی نامه، تاریخ، شماره و …) را تعیین و از اسناد استخراج کنید.
http://i43.tinypic.com/2pyp4c4.jpg
اجزای ذکر شده مجموعهی هستهی اصلی و ابزارهای کاربردی نگارش سرویس دهندهی نویسهخوان آراکس را تشکیل میدهند. کنترل آنها، بر عهدهی مدیران سیستم است و برنامهنویسان با آنها به طور مستقیم سر و کاری ندارند.
بخش قابل برنامهریزی نگارش سرویس دهنده، در حال حاضر از دو کنترل تشکیل شده، که با یکی میتوانید درخواست OCR یا تولید سند را ایجاد، مطابق نظر کاربر بدلخواه و به سرویس دهنده ارسال کنید، پاسخ را دریافت کنید و نتیجه را به کاربر نشان دهید یا آن را در مخزن دادهها یا سیستم فایل مورد نظر خود ذخیره کنید (کنترل آراکس) و با دیگری میتوانید امکان جستجو و برجسته کردن کلیدواژهها را روی تصویر سند در اختیار کاربر بگذارید (کنترل برجستهسازی). این دو کنترل در تمام محیطهای برنامهنویسی که از ActiveX پشتیبانی میکنند به طور عام و محیطهای برنامهنویسی مبتنی بر .NET به طور خاص در دسترس قرار دارند (در واقع این کنترلها با و برای محیط .NET آماده شدهاند و توسط یک واسط در دسترس میزبانهای اکتیواکس قرار میگیرند).
چگونه کار میکند؟
رابط برنامهنویسی کنترل آراکس امکانات زیادی در اختیار برنامهنویسان میگذارد.البته استفاده از این طیف گسترده از امکانات، به کمک خصیصهها، رویهها و رویدادهای این کنترل آسانتر از آن چیزی است که ممکن است در ابتدا تصور کنید. خصوصاً این که مجموعهی کاملی از نمونه برنامههای آمادهی اجرا به همراه مستندات کامل نگارش سرویس دهندهی آراکس در این خصوص یاریگر شماست.
مراحل اضافه کردن قابلیت OCR به برنامهها چند گام ابتدایی مشابه دارد. ابتدا مسیر فایل تصویر سند را تعیین میکنید (البته در این گام هم انتخابهای دیگری دارید، مثلاً ممکن است ابتدا بخواهید به کمک یکی از رویههای کنترل آراکس تعداد قابهای یک فایل چند قاب PDF یا TIFF را به دست آورید، از کاربر بخواهید که شماره قاب مورد نظرش را انتخاب کند و سپس با تعیین مسیر و شماره قاب، تصویر مورد نظر برای OCR را مشخص کنید یا مثلاً ممکن است بخواهید تصویر را به جای بارگذاری از سیستم فایل از حافظه بارگذاری کنید)، ممکن است بخواهید مشخصههایی از درخواست را مطابق نظر کاربر یا نیازهای سیستمتان تغییر دهید، درخواست را ارسال میکنید، بلافاصله پس از ارسال، کد پیگیری آن را دریافت میکنید و اگر درخواست شما از نوع برخط باشد پس از خوانده شدن فایل، با رخ دادن یک رویداد از آماده بودن نتیجهی OCR باخبر میشوید و مقدار متغیر متن خوانده شده را در داخل کنترلهای مورد نظر خود میریزید. ممکن است بخواهید نتیجهی دریافت شده را با چند نتیجهی دریافتی قبلی به انتخاب کاربر ترکیب کنید و یک فایل PDF قابل جستجوی چند صفحهای بسازید، در این حالت کافی است کدهای پیگیری اسناد مورد نظر خود را مطابق ترتیبی که کاربر انتخاب کرده توسط توابع ایجاد سند کنترل آراکس، به سرویس دهنده ارسال کنید و پس از آماده شدن فایل PDF مورد نظرتان با رخ دادن رویدادی متناظر از آماده شدن آن باخبر شوید و فایل دریافتی را در اختیار کاربر بگذارید.
http://i42.tinypic.com/35hqoo7.jpg
تسهیل یکپارچهسازی : چگونه؟
برگردیم سر ادعا و شعار اول! مرور کلی و مقدماتی نگارش سرویس دهندهی آراکس احتمالاً این نکته را به ذهن شما متبادر کرده که با یک نرمافزار بزرگ سر و کار داریم. در صورتی که کتابچههای راهنمای برنامهنویسی این نرمافزار را ببینید یا نمونه برنامههای آماده را در لوح فشردهی آن ببینید احتمالاً این دریافت در شما تقویت خواهد شد، که بعله، با نرمافزار بزرگی سر و کار داریم که با آن میشود خیلی از کارهایی را که در مورد OCR لازم است انجام دهیم انجام داد. چگونه میشود که یکپارچهسازی نرمافزارهای موجود با چنین نرمافزاری آسان و سریع باشد؟
نگارش سرویسدهندهی آراکس با اضافه شدن یک یا دو کنترل قابل برنامهریزی به برنامههای سطح کاربر قابلیت جایگزینی روشهای دریافت متن موجود را با روشهای خودکار تشخیص متن برایتان فراهم میآورد. رمز ساده بودن فرایند یکپارچهسازی آراکس در کم بودن تعداد گامهای لازم برای اضافه شدن قابلیت OCR به سیستمهای موجود، تعداد تغییرات کم مورد نیاز، عدم نیاز به پیکربندی پیچیده و ارائهی تمامی قابلیتهای مورد نیاز برای دریافت تصاویر و ارسال نتایج در سطح شبکه بدون نیاز به برنامهنویسی اضافی است. ضمن آن که به دلیل آن که پردازشهای اصلی در سطح سرور و به صورت متمرکز انجام میشود میزان سربار ناشی از اضافه شدن قابلیت OCR به نرمافزارهای سطح کاربر بسیار پایین است.
نوشتهای که خواندید برای سایت نویسهخوان آراکس تهیه شده بوده و یکی دو ماهی هست که به صورت PDF از این سایت قابل دریافت است (http://www.farsiocr.com/images/arax-server-whitepaper.pdf) (عنوان نوشته، اشارهای ضمنی است به عنوان این نوشته از همین وبلاگ: تحقق یک رؤیا : او.سی.آر فارسی (http://www.gozir.com/1387/03/28/farsiocr/)). نگارش سرویسدهندهی نویسهخوان آراکس (http://www.farsiocr.com/server_edition) از زمان تهیهی این مطلب تا کنون دچار تغییراتی شده است و برخی تصاویر استفاده شده در این نوشته مربوط به ویرایش پیش از انتشار رسمی نگارش سرویسدهنده هستند. در هر صورت اگر جزء مخاطبان احتمالی این نوشته هستید و شرکت شما نیازمند اضافه کردن قابلیت او.سی.آر فارسی (و انگلیسی) و یک سیستم متمرکز، سریع و کارآمد تولید و مدیریت اسناد (TXT ، PDF ، RTF و …) به نرمافزارهای موجودش است برای دریافت اطلاعات بیشتر با هدی سیستم تماس بگیرید (http://www.farsiocr.com/contactus) تا در صورت لزوم بازدیدی نزدیک از قابلیتهای این نگارش از نویسهخوان آراکس داشته باشید، قابلیتها و امکانات آن و آسانی فرایند یکپارچهسازی آن با سیستمهای موجود را از نزدیک لمس کنید و بر اساس آن، برای آیندهی سیستمهای نرمافزاری موجودتان تصمیم بگیرید.