officeParser: یه کتابخونه برای پارس همه فرمتهای آفیس
خلاصهٔ کاملتر
officeParser یه کتابخونه همهکاره برای پارس کردن فایلهای آفیسه که با یه API واحد از پس فرمتهای مختلف برمیاد. به جای اینکه برای هر فرمت یه ابزار جداگانه بذاری کنار هم، این کتابخونه همه چیز رو یکجا مدیریت میکنه و خروجی رو به شکل یه Abstract Syntax Tree (AST) میده.
فرمتهایی که پشتیبانی میشن شامل DOCX، XLSX، PPTX (مایکروسافت آفیس مدرن)، PDF، RTF، و همچنین ODT، ODS و ODP (OpenDocument) میشن. یعنی عملاً هر فایلی که از یه اپلیکیشن آفیسی در بیاد رو میتونه بخونه.
مهمترین ویژگی officeParser اینه که خروجیش فقط متن خام نیست. خروجی AST ساختار واقعی سند رو حفظ میکنه؛ یعنی سلسلهمراتب، هدینگها، جداول، پاراگرافها و بقیه المانها همه توی یه درخت JSON ساختاریافته در دسترسن. این برای کسایی که میخوان محتوای سند رو پردازش هوشمند کنن یا دوباره رندرش کنن، خیلی ارزشمنده.
یه قابلیت جالب دیگه اینه که میتونه پیوستهای داخل فایل مثل تصاویر، چارتها و اشیاء embed شده رو هم استخراج کنه. پس اگه توی یه DOCX چند عکس داری، دیگه لازم نیست دستی بازشون کنی.
OCR هم توی این کتابخونه با Tesseract.js ادغام شده. یعنی اگه داخل یه PDF یا فایل آفیس، متن به صورت تصویر ذخیره شده باشه، officeParser میتونه اون رو هم بخونه و استخراج کنه. زبان OCR و timeout هم قابل تنظیمه.
کانفیگ کتابخونه هم انعطاف خوبی داره. میشه delimiter بین بخشها رو سفارشی کرد، نحوه مدیریت نوتها و فوتنوتها رو تنظیم کرد، عمق پارس رو کم یا زیاد کرد و حتی XML خام رو هم سریالایز کرد. این سطح از کنترل برای use caseهای پیشرفته خیلی به کار میاد.
سایت رسمی پروژه یه ابزار ویژوالایزر هم داره که میتونی فایلت رو توش بندازی و هم خروجی AST به صورت JSON ببینی، هم پیشنمایش بصری سند. این پیشنمایش ۱۰۰٪ از روی همون AST ساخته میشه که نشون میده ساختار چقدر دقیقه. این کتابخونه روی NPM در دسترسه و با بیش از ۱۰ میلیون دانلود کل و ۲۶۰ هزار دانلود هفتگی، تبدیل به یه ابزار محبوب تو اکوسیستم Node.js شده.
نکات کلیدی:
- پارس یکپارچه ۸+ فرمت آفیسی (DOCX، XLSX، PPTX، PDF، RTF، ODT، ODS، ODP) با یه API
- خروجی AST ساختاریافته که سلسلهمراتب واقعی سند رو حفظ میکنه
- استخراج پیوستها (تصاویر، چارتها) مستقیم از فایل
- OCR داخلی با Tesseract.js برای خوندن متن از تصاویر
- قابل استفاده هم سمت سرور و هم توی مرورگر
- کانفیگ انعطافپذیر برای delimiter، نوتها، XML و عمق پارس
- بیش از ۱۰ میلیون دانلود کل و ۲۶۰ هزار دانلود هفتگی در NPM




