عرض ملف PDF باستخدام واجهة برمجة تطبيقات JavaBean لعارض Acrobat
لحسن الحظ ، طور Acrobat API لعرض مستند PDF في Java< / b>. يتيح لك عارض Acrobat فتح ملفات PDF وطباعتها من تطبيق Java أو تطبيقات JavaBean أو Java الصغيرة. في هذا البرنامج التعليمي ، سنقوم بدمج عارض Acrobat في تطبيقنا المصنوع باستخدام JFrame. واجهة برمجة التطبيقات عارض Acrobat متاح في http://www.java2s.com/Code/JarDownload/acrobat/acrobat-1.1.jar.zip< / a>. قم بتنزيله واستخراج ملف Acrobat.jar في مشروعك ، ثم قم باستيراد المكتبة إلى Eclipse IDE أو Netbeans.
الآن ، كيف تفتح ملف PDF؟ توفر واجهة برمجة تطبيقات Java Beans خطوات سهلة المتابعة وسهلة العرض لعرض مستند PDF في تطبيق Java. فيما يلي خطوات إنشاء قارئ PDF: < / div>
- إنشاء JFrame الذي ستتم إضافة عارض Acrobat الخاص به ؛
- إنشاء كائن عارض(فئة من < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >java.awt.Component) < / سبان> لعرض ملف PDF وإضافته إلى JFrame:
- عارض العارض = عارض جديد (); < / span >< / li>
- الإطار.إضافة (عارض ، BorderLayout.CENTER) ؛ < / span >< / li>< / ul >
- < / ol>
- حدد المستند < / li>
- FileInputStream fis = جديد FileInputStream (اسم الملف); < / span >< / li>< / ul >
- < / ol >
- تعريف < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" > فيلي إنترسيبستريمسبان> كوسيطة في العارض: < / li>
- viewer.setDocumentInputStream(fis);
- إنشاء التخطيط الذي يجعل المستند يظهر:
- مشاهد.تنشيط (); < / span>< / li>< / ul >< / ol>يمكن أيضا الإشارة إلى مسار الملف بالطريقة التالية:
< pre class = "prettyprint lang-java" >setDocumentURL (java.lang.String url)
< / pre>< / div>< / div>مثال:import java.awt.BorderLayout;
import java.io.FileInputStream;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.adobe.acrobat.Viewer;
/ *
* www.codeurjava.com
* /
قارئ الطبقة العامة PDF يمتد JPanel{
عارض عارض خاص;
القارئ العام PDF (سلسلة ، اسم الملف) يلقي استثناء {
this.setLayout (تخطيط الحدود الجديد ()) ؛
//إنشاء العارض الذي سيتم استخدامه لعرض محتوى عارض pdf
= عارض جديد();
this.add (عارض ، BorderLayout.CENTER) ؛
FileInputStream fis = FileInputStream الجديد (اسم الملف) ؛
viewer.setDocumentInputStream(fis);
viewer.activate ();
}
الفراغ الثابت العام الرئيسي (سلسلة [] args) يلقي استثناء {
اسم ملف السلسلة = "delphi.pdf" ؛
readerPDF reader = قارئ جديد PDF (اسم الملف) ؛
// إنشاء JFrame
JFrame f = JFrame جديد ("قارئ PDF") ؛
f.setSize(1024,768);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.getContentPane () .add (drive);
}
}
< / pre>< / div>يتم الحصول على عدد الصفحات والصفحة الحالية
رقم الصفحة والصفحة الحالية بالطرق التالية: < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >getPageCount() and < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >getCurrentPage(). على سبيل المثال ، نريد عرض العدد الإجمالي للصفحات وعدد الصفحة الحالية:System.out.println ("عدد الصفحات: "+viewer.getPageCount());
System.out.println("الصفحة الحالية: "+viewer.getCurrentPage());
< / pre>عدد الصفحات: 50
الصفحة الحالية: 0< / pre>Change Zoom< / h2>< / div>
لضبط مستوى التكبير / التصغير للصفحة الحالية ، استخدم طريقة تكبيرتو (مزدوج) < / امتداد>. يتوافق التكبير / التصغير بنسبة 100٪ مع 1.0 في الطريقة zoomTo().viewer.zoomTo(0.5);
< / pre>< / div>احصل على عنوان PDF بتنسيق Java< / h2 >
يتم الحصول على العنوان باستخدام نمط getTitle() < / div>
< pre class = "prettyprint lang-java" >PDFBookmark bookmark = viewer.getRootBookmark ();
عنوان السلسلة = bookmark.getTitle();Reference
- تعريف < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" > فيلي إنترسيبستريمسبان> كوسيطة في العارض: < / li>
- FileInputStream fis = جديد FileInputStream (اسم الملف); < / span >< / li>< / ul >
- الإطار.إضافة (عارض ، BorderLayout.CENTER) ؛ < / span >< / li>< / ul >