مكتبة جافا لإدارة مستندات PDF
افتح المصدر Java API لإنشاء ملفات PDF وتحريرها ومعالجتها من تطبيقاتك الخاصة.
OpenPDF هي مكتبة PDF مفتوحة المصدر لمطوري Java. يسمح بإنشاء وتعديل ملفات PDF من تطبيقات Java دون أي تبعيات خارجية. OpenPDF مرخص بترخيص LGPL و MPL وهو شوكة من iText الإصدار 4.
يعد PDF أحد تنسيقات المستندات المفضلة في العالم ولا يزال مفيدًا للغاية. تدعم OpenPDF API العديد من الميزات المهمة ، مثل إنشاء وتعديل مستندات PDF ، وإضافة الصور إلى PDF ، وإدراج صفحات جديدة في ملف PDF موجود ، وإنشاء فقرات ، وإضافة رأس وتذييلات ، وإنشاء جدول المحتويات ، وتحرير المحتوى و اكثر.
الشروع في العمل مع OpenPDF
مطلوب Java 8 أو أحدث لاستخدام مكتبة OpenPDF. تم اختبار جميع إصدارات Java من 8 إلى Java 12 للعمل. سيقوم بتجميع مصادر Java وتجميع الفئات الثنائية في حزم jar افتراضيًا.
تبعية OpenPDF المخضرم
<dependency>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf</artifactId>
<version>1.3.11</version>
</dependency>
إنشاء وتحرير ملفات PDF عبر Java API
يوفر OpenPDF وظيفة إنشاء مستند PDF بالإضافة إلى التعديلات من تطبيقات Java. يمكن لمطوري البرامج إنشاء مستندات PDF مع المحتوى والصور بسهولة. لإنشاء مستند جديد ، أولاً وقبل كل شيء ، تحتاج إلى إنشاء كائن مستند ثم إنشاء كاتب يستمع إلى المستند ويوجه تدفق PDF إلى الملف. بمجرد إنشاء المستند ، يمكنك بسهولة إضافة فقرات وإضافة صفحات جديدة وإدراج الصور بسهولة.
إنشاء وثيقة PDF - جافا
// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("FileFormat.pdf"));
// Open document
document.open();
// Add pargraph
document.add(new Paragraph("FileFormat Developer Guide"));
// Close document
document.close();
قم بإدراج الصور في مستندات PDF عبر Java
يسمح OpenPDF لمبرمجي Java بإدراج الصور في مستندات PDF داخل تطبيقات Java الخاصة بهم. تضيف الصور دائمًا قيمة أكبر إلى جزء المحتوى. لإدراج صورة ، تحتاج إلى توفير اسم وموقع للصورة ، ثم من خلال استدعاء كائن المستند ، يمكنك فتح المستند وإضافة الصورة على الصفحة أو الموقع المطلوب. بمجرد الانتهاء من ذلك ، تحتاج فقط إلى إغلاق المستند من أجل تنفيذ التغييرات.
إضافة صورة في ملف PDF - جافا
// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
// Open document
document.open();
Image jpg = Image.getInstance("sample.jpg");
document.add(jpg);
// Close document
document.close();
أضف قوائم إلى مستندات PDF
تسهل OpenPDF API مطوري Java لإضافة قوائم إلى مستندات PDF. يمكنك إنشاء قائمة ثم إضافة عناصر القائمة إلى PDF بسهولة. يمكنك أيضًا تمرير رمز لتمييز عناصر القائمة (حرف Unicode). يمكنك أيضًا تحديد قائمة ذات تعداد رقمي أو أحرف. هناك أيضًا فصول متخصصة للحروف الرومانية والحروف اليونانية.
أضف إشارات مرجعية إلى القائمة في PDF عبر Java
Document document = new Document(PageSize.A4);
PdfWriter instance = PdfWriter.getInstance(document, new FileOutputStream("out.pdf"));
instance.setViewerPreferences(PdfWriter.PageModeUseOutlines);
document.open();
List list = new List();
list.add(new ListItem(new Chunk("ABC").setLocalDestination("dest1")));
list.add(new ListItem(new Chunk("XYZ").setLocalDestination("dest2")));
document.add(list);
// add outline items
PdfOutline root = instance.getDirectContent().getRootOutline();
new PdfOutline(root, PdfAction.gotoLocalPage("dest1", false), "abc-item");
new PdfOutline(root, PdfAction.gotoLocalPage("dest2", false), "xyz-item");
document.close();
إضافة رأس وتذييل إلى مستندات PDF عبر Java
يمكن أن تحتوي الرؤوس والتذييلات على معلومات مهمة حول مستند أو بيانات للمساعدة في الحفاظ على تنظيم المستندات الأطول وتسهيل قراءتها. عادةً ما تتضمن الرؤوس والتذييلات معلومات إضافية مثل أرقام الصفحات والتواريخ واسم المؤلف والحواشي وما إلى ذلك. تمكّن OpenPDF API مطوري Java من إضافة رأس وتذييل إلى مستندات PDF الخاصة بهم باستخدام سطرين فقط من التعليمات البرمجية.
كيف تبدأ رأس وتذييل الصفحة الأولى عبر جافا
Document document = new Document();
document.setPageSize(PageSize.A7.rotate()); // just to make output smaller
document.setMargins(15f, 15f, 24f, 20f);
HeaderFooter header = new HeaderFooter(new Phrase("This is a header."), false);
HeaderFooter footer = new HeaderFooter(new Phrase("This is a footer on page "), new Phrase("."));
document.setHeader(header);
document.setFooter(footer);
document.open(); // only open the document after header/footer have been set
document.add(new Paragraph("Hello World"));
document.add(Chunk.NEXTPAGE);
document.add(new Paragraph("Hello new page."));