PDFBox آپاچی: مجموعه ابزار کامل PDF برای جاوا
متن استخراج کنید، اسناد را دستکاری کنید، فرمها را پر کنید و بیشتر - همه در جاوا خالص
PDFBox آپاچی چیست؟
PDFBox آپاچی یک کتابخانه متنباز قدرتمند جاوا است که برای پردازش آسان PDF در جاوا طراحی شده است و به توسعهدهندگان امکان ایجاد، ویرایش و استخراج محتوا از اسناد PDF را به صورت برنامهنویسی میدهد. به عنوان یکی از محبوبترین کتابخانههای PDF برای جاوا، PDFBox در کارهایی مانند استخراج متن از PDFها، ادغام چندین فایل PDF و افزودن امضاهای دیجیتال برتری دارد - همه با یک API سبکوزن و بدون هزینههای مجوز. چه نیاز به تجزیه PDF در جاوا، تولید PDF یا انطباق با PDF/A داشته باشید، این کتابخانه از ویژگیهای پیشرفته مانند یکپارچهسازی OCR، پر کردن فرمها و تبدیل HTML به PDF پشتیبانی میکند. با وابستگیهای آماده Maven (مثلاً pdfbox-maven) و مستندات گسترده، PDFBox گردشهای کاری پیچیده را ساده میکند - آن را برای برنامههای سازمانی، اتوماسیون اسناد و استخراج داده ایدهآل میسازد. در مقایسه با جایگزینهایی مانند iText، PDFBox آپاچی به دلیل انعطافپذیری متنباز، جامعه فعال و سازگاری چندسکویی متمایز است. آموزش PDFBox ما را کاوش کنید تا نمونههای کد جاوا را کشف کنید و پتانسیل کامل دستکاری PDF در جاوا را باز کنید.
مزایای کلیدی PDFBox:
- راهحل کامل: قابلیتهای استخراج و ایجاد
- جاوا خالص: بدون وابستگیهای بومی
- توسعه فعال: پشتیبانی شده توسط بنیاد نرمافزار آپاچی
- ویژگیهای جامع: استخراج متن، تقسیم، ادغام، امضا
- پشتیبانی از فرمها: خواندن و پر کردن فرمهای PDF
ایدهآل برای سیستمهای مدیریت اسناد، استخراج محتوا و اتوماسیون PDF.
چرا PDFBox را انتخاب کنیم؟
- پختگی: پایدار از سال 2002 با بهروزرسانیهای منظم
- تنوع: قابلیتهای خواندن و نوشتن
- پشتیبانی از استانداردها: اسناد PDF 1.7 و PDF/A را مدیریت میکند
- جامعه: پایگاه کاربری بزرگ و مستندات گسترده
- یکپارچهسازی: با تمام چارچوبهای مبتنی بر جاوا کار میکند
نصب
PDFBox از طریق Maven Central برای یکپارچهسازی آسان در دسترس است:
Maven
org.apache.pdfbox
pdfbox
3.0.0
Gradle
implementation 'org.apache.pdfbox:pdfbox:3.0.0'
نیازمندیهای سیستم: جاوا 8 یا جدیدتر
نمونههای کد
نمونههای عملی از قابلیتهای PDFBox:
مثال 1: استخراج پایه متن از سند PDF در جاوا
این مثال نشان میدهد که چگونه متن را از یک سند PDF با حفظ قالببندی و ساختار استخراج کنید. PDFBox قابلیتهای پیشرفته استخراج متن را ارائه میدهد که ترتیب خواندن را حفظ میکند و چیدمانهای پیچیده را مدیریت میکند.
خروجی شامل:
- محتوای متن ساختاریافته
- استخراج صفحه به صفحه
- حفظ قالببندی پایه
مثال 2: ایجاد سند PDF از ابتدا در جاوا
PDFBox هم در خواندن و هم در ایجاد PDFها برتری دارد. این مثال تولید یک سند PDF جدید با متن و قالببندی پایه را نشان میدهد.
مثال 3: افزودن سرصفحه و پاصفحه به صفحات PDF در جاوا
PDFBox پشتیبانی جامعی برای افزودن سرصفحه و پاصفحه به صفحات PDF از برنامه جاوا شما ارائه میدهد. نمونه کد زیر نشان میدهد که چگونه این کار با استفاده از API PDFBox برای جاوا انجام میشود.
ویژگیهای پیشرفته
PDFBox پردازش حرفهای PDF را پشتیبانی میکند:
- استخراج تصاویر: دسترسی به تصاویر جاسازی شده:
استخراج تصاویر
PDDocument document = PDDocument.load(new File("document.pdf")); for (PDPage page : document.getPages()) { PDResources resources = page.getResources(); for (COSName name : resources.getXObjectNames()) { PDXObject xobject = resources.getXObject(name); if (xobject instanceof PDImageXObject) { BufferedImage image = ((PDImageXObject) xobject).getImage(); // پردازش تصویر } } }
- تقسیم سند: تقسیم PDFها به چندین فایل:
تقسیم PDF
Splitter splitter = new Splitter(); List
pages = splitter.split(document); for (int i = 0; i < pages.size(); i++) { pages.get(i).save("page-" + (i+1) + ".pdf"); } - PDFهای رمزگذاری شده: مدیریت فایلهای محافظت شده با رمز عبور:
PDF رمزگذاری شده
String password = "secure123"; FileInputStream fis = new FileInputStream("encrypted.pdf"); PDDocument doc = PDDocument.load(fis, password);
PDFBox در مقابل iText
در اینجا 5 تفاوت کلیدی بین PDFBox و iText آمده است:
- مجوز: PDFBox دارای مجوز آپاچی (متنباز) است، در حالی که iText برای اکثر موارد استفاده مجوز تجاری دارد
- تمرکز ویژگیها: PDFBox قابلیتهای متعادل خواندن/نوشتن ارائه میدهد، در حالی که iText در تولید PDF تخصص دارد
- عملکرد: iText عموماً در ایجاد اسناد سریعتر است، در حالی که PDFBox در استخراج متن برتری دارد
- جامعه: PDFBox پذیرش متنباز گستردهتری دارد، در حالی که iText پشتیبانی حرفهای ارائه میدهد
- موارد استفاده: PDFBox برای تحلیل و دستکاری پایه ایدهآل است، در حالی که iText برای تولید PDF در مقیاس بزرگ بهتر است
نتیجهگیری
PDFBox آپاچی پردازش جامع PDF را برای توسعهدهندگان جاوا ارائه میدهد. ایدهآل برای:
- استخراج محتوا: استخراج متن و داده از PDFها
- اتوماسیون اسناد: تولید گزارشها و فرمها
- مدیریت اسناد: تقسیم، ادغام و تبدیل PDFها
- پردازش فرمها: خواندن و پر کردن فرمهای تعاملی
با مجوز متنباز و مجموعه ویژگیهای جامع، PDFBox انتخاب برتر برای پردازش PDF مبتنی بر جاوا است.
محصولات مشابه
- Apache POI XWPF | API جاوا منبع باز برای ایجاد و اصلاح فایل های DOCX
- DocX | API .NET منبع باز را برای ایجاد و اصلاح فایل های DOCX
- Docx4J | برای ایجاد و اصلاح فایلهای DOC و DOCX منبع باز Java API
- ExcelDataReader | API .NET منبع باز برای خواندن اسناد XLS، XLSX، CSV و صفحه گسترده
- FileFormat.Cells | فایل های اکسل را با سی شارپ دات نت تهیه و به روز کنید