شما یک PDF دارید که شامل جدولی از دادههاست — یک گزارش مالی، فهرست قیمت، نتیجه نظرسنجی یا بخش اقلام ردیفی یک فاکتور. نیاز دارید با آن دادهها در اکسل کار کنید. تلاش میکنید سلولها را انتخاب، کپی و در یک صفحهگسترده جایگذاری کنید. نتیجه این میشود: ستونی از متن درهمریخته، سلولهای ادغامشده در همه جای اشتباه، یا هیچ چیز در هیچ. این یک باگ نیست. اینگونه است که PDFها کار میکنند.
چرا استخراج جدولها از PDF دشوار است
یک PDF جدولها را بهصورت جدول ذخیره نمیکند. متن را بهصورت مجموعهای از گلیفهای موقعیتدار ذخیره میکند—یعنی نویسههایی که در مختصات X/Y مشخصی روی صفحه قرار گرفتهاند. یک جدول در PDF فقط ردیفهایی از متن است که تصادفاً بهصورت بصری تراز شده و با خطهای ترسیمشده از هم جدا شدهاند. هیچ ساختار دادهای وجود ندارد که نشان دهد «این یک سلول است»، «این متعلق به ستون ۳ است» یا «این ردیف همینجا تمام میشود».
وقتی از یک فایل PDF کپی-پیست میکنید، برنامهٔ نمایشدهنده سعی میکند ساختار را از روی موقعیت بصری حدس بزند. این کار اغلب مرزهای ستونها را اشتباه تشخیص میدهد، سلولها را با هم ادغام میکند و اعداد را بین خطوط میشکند. هرچه جدول عریضتر باشد، نتیجه نامرتبتر است.
گزینه ۱: کپی-پیست مستقیم (ابتدا امتحانش ارزش دارد)
For a native PDF - one created by software, not a scanner - try this first:
- PDF را باز کنید درادوبی ریدریاکروم.
- برای انتخاب ناحیه جدول کلیک کرده و بکشید.
- کپی کردن (Ctrl+C).
- با استفاده از در یک سلول اکسل بچسبانیدPaste Special -> Textیا ابتدا در یک ویرایشگر متن بچسبانید تا ببینید واقعاً چه چیزی دریافت کردهاید.
- استفاده کنیدText to Columns(تب Data در اکسل) برای تقسیم محتوای چسباندهشده بر اساس تب، فاصله یا یک جداکننده یکسان.
این روش برای جداول ساده دو یا سه ستونه با قالببندی تمیز نسبتاً خوب کار میکند. اما در جداول پیچیده با سلولهای ادغامشده، پانویسها یا محتوای چندخطی سلولها از کار میافتد.
گزینه ۲: یک مبدل اختصاصی PDF به Excel
ابزار تبدیل، ساختار بصری PDF — مرزهای سلولها، ترازبندی ستونها، ویژگیهای فونت — را تحلیل میکند و تلاش میکند آن را به دادههای صفحهگسترده بازسازی کند. خروجی یک فایل XLSX است که میتوانید مستقیماً در Excel باز کنید.
Pagivo در حال ساخت یکPDF به اکسلمبدل برای این کار. هنگامی که راهاندازی شد، گردش کار به این صورت خواهد بود: آپلود PDF، دانلود فایل XLSX، بررسی نتیجه از نظر هرگونه مرز تشخیصدادهشده اشتباه. برای یک PDF بومی با قالببندی جدول تمیز، مبدل بیشتر کار را انجام خواهد داد.
چه چیزی انتظار داشته باشیم: تبدیل در جداول ساده دقیق و در طرحبندیهای پیچیده (ردیفهای سرصفحه ادغامشده، متن مورب، جداول دارای تصویر داخل سلولها، خطوط حاشیه بهشدت استایلشده) کمتر دقیق است. همیشه مجموعهای عددی خروجی را با PDF منبع مقایسه کنید - خطاهای گرد کردن یا تراز ستون در جداول پیچیده رخ میدهند.
گزینه ۳: وارد کردن به Google Sheets (سریع برای جداول کوچک)
- باز کنیدGoogle Sheetsو یک صفحه گسترده جدید ایجاد کنید.
- برو بهFile -> Importو فایل PDF را بارگذاری کنید.
- گوگل تلاش میکند جدولها را از PDF تجزیه کرده و آنها را بهعنوان دادههای برگه وارد کند.
نتایج متغیر است و شبیه به روش کپی-پیست میباشد، اما مرحلهٔ واردکردن گاهی ساختار جدول را بهتر از انتخاب دستی تشخیص میدهد. برای جدولهای ساده که مبدل اختصاصی در دسترس ندارید، ارزش امتحان کردن دارد.
گزینه ۴: فایلهای PDF اسکنشده (مشکل متفاوت، راهحل متفاوت)
اگر PDF یک اسکن است - یعنی عکسی از یک صفحه - اصلاً هیچ دادهٔ متنی برای استخراج وجود ندارد. کپی-پیست کل صفحه را بهعنوان یک تصویر انتخاب میکند. یک مبدل استاندارد PDF به Excel چیزی مفید تولید نخواهد کرد.
برای جدولهای اسکنشده، به OCR نیاز دارید که بهطور خاص ساختار جدول را درک کند. گزینهها:
- Google Docs- فایل PDF را در Drive بارگذاری کرده و با Docs باز کنید. OCR گوگل متن را استخراج میکند، هرچند ساختار جدول اغلب حفظ نمیشود.
- ادوبی اکروبات پرو (Adobe Acrobat Pro)- قابلیت تشخیص جدول در OCR بهصورت داخلی دارد. کیفیت بالاتر برای جدولهای پیچیده، اما نیازمند اشتراک پولی است.
- ابزارهای تخصصی OCR- ABBYY FineReader و ابزارهای مشابه بهطور خاص برای تشخیص ساختار اسناد از جمله جدولها طراحی شدهاند. برای استفاده گاهبهگاه زیادهروی محسوب میشوند، اما دقیقترین گزینه برای جدولهای اسکنشده پیچیده هستند.
پس از استخراج: پاکسازی دادهها در اکسل
صرفنظر از روش، چند دقیقه زمان برای پاکسازی خروجی در نظر بگیرید:
- حذف ردیفهای خالی و سرستونهای تکراری که زمانی که جداول چندصفحهای عناوین ستونها را در هر صفحه تکرار میکنند، ظاهر میشوند.
- اصلاح قالب اعداد - ممکن است ویرگولها و نقطهها جابهجا شده باشند اگر PDF از قالب عددیِ محلی (locale) دیگری استفاده کرده بود.
- بررسی کنید که جمعها مطابقت دارند - یکی دو مقدار محاسبهشده را بهصورت دستی از PDF منبع تأیید کنید.