Apache PDFBox
Java API لمعالجة مستندات PDF
افتح مكتبة Java المصدر لإنشاء مستندات PDF أو طباعتها وتقسيمها أو دمجها داخل تطبيقات Java.
Apache PDFBox عبارة عن مكتبة مفتوحة المصدر تعمل بجافا خالص للعمل مع مستندات PDF. باستخدام هذه المكتبة ، يمكن لمطوري Java تطوير برامج Java التي تنشئ مستندات PDF جديدة وتعالج مستندات PDF الموجودة بسهولة. كما أنه يمكّن المطورين من قراءة واستخراج المحتوى من مستندات PDF. بالإضافة إلى ذلك ، يشتمل PDFBox أيضًا على أداة سطر أوامر لتنفيذ عمليات متنوعة على مستندات PDF باستخدام ملف Jar المتاح.
تنسيق المستند المحمول (PDF) هو تنسيق ملف يساعد في تقديم البيانات بطريقة مستقلة عن برامج التطبيقات والأجهزة وأنظمة التشغيل. يدعم Apache PDFBox العديد من الميزات المتقدمة ، مثل إنشاء وعرض وطباعة وتقسيم ودمج وتعديل وتحقق واستخراج النص والبيانات الوصفية لملفات PDF.
الشروع في العمل مع Apache PDFBox
بادئ ذي بدء ، تحتاج إلى تنزيل أحدث إصدار من صفحة PDFBox التنزيل . لإنشاء PDFBox بنجاح ، تحتاج إلى تثبيت Java 7 أو أعلى و Maven 3 عليه. استخدم أمر البناء التالي
أمر التثبيت
mvn clean instal
سيقوم الأمر بتجميع مصادر Java والذهاب إلى حزم الفئات الثنائية في حزم jar افتراضيًا.
Java API لإنشاء وتعديل مستندات PDF الجديدة
يسمح Apache PDFBox للمبرمجين بإنشاء مستند PDF جديد من البداية. بعد إنشاء المستند ، يمكن للمطورين حفظ المستند في الموقع المطلوب. يعد PDF أحد أكثر تنسيقات الملفات شيوعًا في الوقت الحاضر. تتوافق مستندات PDF عبر العديد من الأنظمة الأساسية وتمثل مستندًا بشكل مستقل عن الأجهزة ونظام التشغيل والبرامج التطبيقية المستخدمة لإنشائها. يسهل PDFBox أيضًا على المطورين تعديل مستندات PDF الحالية. يمكن للمطورين إضافة صفحات جديدة بالإضافة إلى نص إلى مستندات الصفحة الحالية.
إنشاء مستند PDF - جافا
// Create a new PDF document
PDDocument document = new PDDocument();
// Save document
document.save("fileformat.pdf");
// Close document
document.close();
تقسيم ودمج مستندات PDF باستخدام مكتبة جافا
يوفر Apache PDFBox القدرة على دمج مستندات PDF متعددة في مستند PDF واحد. لدمج عدة مستندات أولاً ، تحتاج إلى تحميل مستندات PDF الموجودة ثم تعيين مسار إلى الملف الوجهة. بعد ذلك يمكن للمطورين إضافة جميع ملفات PDF المصدر بالتسلسل الذي يرغبون في العثور عليه في ملف PDF المدمج النهائي. يمكننا تقسيم مستند PDF المحدد إلى ملفات PDF متعددة. تُستخدم فئة Splitter هذه لتقسيم مستند PDF المحدد إلى عدة مستندات منفصلة أخرى.
دمج مستندات PDF - جافا
// Initialize PDFMergerUtility object
PDFMergerUtility pdfMergerUtility = new PDFMergerUtility();
// Set output file path
pdfMergerUtility.setDestinationFileName("merged.pdf");
// Add source documents
pdfMergerUtility.addSource(new File("document1.pdf"));
pdfMergerUtility.addSource(new File("document2.pdf"));
// Merger documents
pdfMergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
إضافة واستخراج الصور إلى مستندات PDF داخل تطبيقات Java
يسهل Apache PDFBox مطوري Java لإدراج الصور في مستند PDF موجود. تضيف الصور دائمًا قيمة حقيقية إلى جزء المحتوى. تساعدنا الصور على التعلم وجذب الانتباه وشرح المفاهيم والإلهام. يوفر PDFBox مكتبة لإدراج صورة في مستند PDF. تستخدم هذه المكتبة برنامج Java لإدراج الصور في مستندات PDF. تتيح واجهة برمجة التطبيقات أيضًا للمطورين استخراج الصور من مستند PDF الحالي وتخزينها على القرص المحلي.
أضف الصور في ملف PDF - جافا
// Create a new PDF document
PDDocument document = new PDDocument();
// Create a new page
PDPage page = new PDPage();
// Add page
document.addPage(page);
// Initialize PDImageXObject object
PDImageXObject pdImage = PDImageXObject.createFromFile("logo.png",document);
// Initialize PDPageContentStream object
PDPageContentStream contents = new PDPageContentStream(document, page);
// Drawing image
contents.drawImage(pdImage, 70, 250);
// Close contents
contents.close();
// save document
document.save("image.pdf");
طباعة مستندات PDF بطرق مختلفة باستخدام مكتبة جافا
يتيح Apache PDFBox لمطوري Java طباعة مستند PDF باستخدام واجهة برمجة تطبيقات طباعة Java القياسية. يسمح للمطورين بطباعة مستندات PDF بطرق مختلفة. يمكن للمطورين الآن طباعة المستند بحجمه الفعلي وهي الطريقة الموصى بها للطباعة. وهو يدعم الطباعة بمربع حوار معاينة الطباعة بالإضافة إلى السمات المخصصة. يمكن للمطورين أيضًا طباعة مستندات PDF باستخدام حجم صفحة مخصص وهوامش مخصصة.
طباعة ملف PDF عبر Java API
import java.awt.print.PrinterException;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
public class Print {
public static void main(String[] args) throws IOException, PrinterException
{
PDDocument pdf=PDDocument.load("d:\\filename.pdf");
pdf.print();
}
}