anydoc؛ هر سندی رو مارکداون کن
خلاصهٔ کاملتر
تو صفحهٔ معرفی anydoc اومده که این کتابخانه هر سندی رو میگیره و Markdown گیتهابی بیرون میده. anydoc متنبازه، با Rust نوشته شده و لایسنس MIT داره. نسخهٔ WebAssembly ـش همونجا تو مرورگر اجرا میشه، یعنی فایل هیچوقت از دستگاه کاربر بیرون نمیره — همون بستهای که خود صفحه باهاش کار میکنه رو میتونی تو اپ خودت هم بذاری.
ایدهٔ اصلی یه مدل سند مشترکه: هر فرمت به همون یه مدل پارس میشه و از همون یه سریالایزر Markdown رد میشه. نتیجهش اینه که تیترها، لیستهای تودرتو، سلولهای ادغامشدهٔ جدول و پانویسها از یه فایل .doc سال ۲۰۰۳ همونجوری دربیان که از یه .pptx دیروز. تشخیص فرمت هم از روی بایتهای فایل انجام میشه نه پسوندش، پس فایلهای برچسباشتباه هم از دست نمیرن.
سمت سرعت، به گفتهٔ سازندهها چون همهچیز Rust خالصه و هیچ مدل یادگیری ماشین یا سرویس بیرونی وسط نیست، میانهٔ زمان تبدیل زیر ۵ میلیثانیهست. تو بنچمارکی که خودشون روی ۱۰۰ سند و هفت مبدل انجام دادن، anydoc تنها موردی بوده که از پس هر ۱۴ فرمت براومده. PDFهای متنی هم محلی و از طریق pdf-inspector تبدیل میشن، ولی صفحههای اسکنشده به OCR نیاز دارن که سرویس Firecrawl Parse روی همین تبدیل اضافهش میکنه.
نصبش تو همهٔ زیستبومها یه شکله: cargo برای Rust، npm برای نود، pip برای پایتون، یه بستهٔ جدا برای مرورگر، اجرای مستقیم با CLI و حتی یه اسکیل آماده برای ایجنتها. به گفتهٔ مستندات، API همهجا یکیه: یا از مسیر فایل و از بایتها تبدیل میکنی، یا کار رو وسط راه سر مدل سند نگه میداری و اسستهای امبدشده رو برمیداری.
نکات کلیدی:
- تبدیل ۱۴ فرمت سند، از Word و Excel تا PDF، به Markdown گیتهابی
- Rust خالص، بدون مدل یادگیری ماشین؛ میانهٔ تبدیل زیر ۵ میلیثانیه
- تشخیص فرمت از روی بایتها، نه پسوند فایل
- بایندینگ Rust، Node، Python، مرورگر و CLI با API یکسان
- نسخهٔ WebAssembly تو مرورگر اجرا میشه و فایل جایی نمیره




