يمكن أن تحل طريقة يعقوب هذه المشكلة ، لكن بما أنني قمت بتقارير من قبل ، أريد أن أجرب طرقًا مختلفة.
يعقوب هو جسر يربط Java و Microsoft ، ويتم تحليل جميع القرارات بواسطة Microsoft. POI ليس أصيلًا مثل تحليل Microsoft ، لذلك إذا كانت المتطلبات عالية ، فاستخدم Jacob.
الفكرة العامة بسيطة للغاية. قم أولاً بتحويل PPT إلى صورة ، ثم اكتب الصورة إلى PDF. قم بتحويل الصور باستخدام POI ، واستخدم itex لتشغيل PDF. ومع ذلك ، فإن خطأ هذه الطريقة هو أن تأثير POI لتحويل الصور ليس جيدًا جدًا.
الحزم المستوردة هي: itextpdf-5.1.3.jar ، po-3.8-20120326.jar ، poi-scratchpad-3.8-20120326.jar.
ثم تم نشر الرمز:
لا يقوم الرمز بتوحيد المعلمة ، واكتب طريقتين:
حزمة com.zzk.cn ؛ استيراد java.awt.dimension ؛ استيراد java.io.file ؛ استيراد java.io.fileInputStream ؛ استيراد java.io.filenotfoundException ؛ استيراد java.io.fileOutputStream ؛ استيراد java.io.ioException ؛ استيراد java.awt.color ؛ استيراد java.awt.dimension ؛ استيراد java.awt.graphics2d ؛ استيراد java.awt.geom.rectangle2d ؛ استيراد java.awt.image.bufferedImage ؛ استيراد org.apache.poi.hslf.model.textrun ؛ استيراد org.apache.poi.hslf.record.slide ؛ استيراد org.apache.poi.hslf.usermodel.richtextrun ؛ استيراد org.apache.poi.hslf.usermodel.slideshow ؛ PPURIC CLASS PPTTOIMAGE {public static void main (string [] args) {// read in the ppt file file = new file ("d:/book jvm summary 7-9.ppt") ؛ doppttoimage (ملف) ؛ } doppttoimage الثابتة العامة (ملف) {boolean isppt = checkfile (file) ؛ if (! isppt) {system.out.println ("الملف الذي حددته ليس مستند PPT!") ؛ العودة كاذبة } try {fileInputStream is = new FileInputStream (file) ؛ عرض الشرائح ppt = عرض شرائح جديد (IS) ؛ is.close () ؛ Dimension pgsize = ppt.getPagesize () ؛ org.apache.poi.hslf.model.slide [] slide = ppt.getSlides () ؛ لـ (int i = 0 ؛ i <slide.length ؛ i ++) {system.out.print ("th" + i + "page.") ؛ إذا (Slide [i] .getNotessheet ()! = null && slide [i] } textrun [] truns = slide [i] .getTextRuns () ؛ لـ (int k = 0 ؛ k <truns.length ؛ k ++) {richtextrun [] rtruns = truns [k] .getRichTexTruns () ؛ لـ (int l = 0 ؛ l <rtruns.length ؛ l ++) {rtruns [l] .setFontIndex (1) ؛ rtruns [l] .setFontName ("安安") ؛ // احصل على قائمة النصوص. }} bufferedImage img = new BufferEdImage (pgsize.width ، pgsize.height ، bufferedimage.type_int_rgb) ؛ Graphics2d Graphics = img.creategraphics () ؛ Graphics.setPaint (color.hite) ؛ graphics.fill (new rectangle2d.float (0 ، 0 ، pgsize.width ، pgsize.height)) ؛ شريحة [i] .draw (الرسومات) ؛ // قم بتعيين مسار التخزين للصورة وتنسيق الصورة (JPEG ، PNG ، BMP ، إلخ) ، انتبه إلى FileOutputStream المولدة من FileOutputStream ("D:/TESTIMAGE/PICT_" + (I + 1) + ".jpeg") ؛ javax.imageio.imageio.write (img ، "jpeg" ، out) ؛ out.close () ؛ } system.out.println ("ok") ؛ العودة صحيح. } catch (fileNotFoundException e) {system.out.println (e) ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } إرجاع خطأ ؛ } // وظيفة تحقق مما إذا كان الملف هو ppt static static checkfile (ملف الملف) {boolean isppt = false ؛ اسم ملف السلسلة = file.getName () ؛ سلسلة اللاحقة = فارغة ؛ if (filename! = null && filename.indexof (".")! = -1) {filename.subString (filename.indexof (".")) ؛ if (fudcixname.equals (". ppt")) {isppt = true ؛ } إرجاع ISPPT ؛ } آخر {return isppt ؛ }}}الرمز الثاني:
حزمة com.zzk.cn ؛ استيراد java.io.fileOutputStream ؛ استيراد java.io.ioException ؛ استيراد com.ithtpdf.text.document ؛ استيراد com.ithtpdf.text.documentException ؛ استيراد com.ithtpdf.text.image ؛ استيراد com.ithtpdf.text.pdf.pdfwriter ؛ الفئة العامة ImagetOpdf {public static void main (string [] args) {system.out.println ("الفصل 6 مثال 3: استخدام مسار نسبي لـ HTML") ؛ // الخطوة 1: إنشاء مستند وثيقة وثيقة OBJECT = مستند جديد () ؛ جرب {// الخطوة 2: // نقوم بإنشاء كاتب يستمع إلى المستند // ويوجه بث pdf إلى ملف pdfwriter.getInstance (وثيقة ، FileOutputStream جديدة ("d:/test picture.pdf")) ؛ // htmlwriter writer = htmlwriter.getInstance (وثيقة ، FileOutputStream جديدة ("chap0603.html")) ؛ // constr.setimagePath ("../../ images/kerstmis/") ؛ // الخطوة 3: نفتح المستند. open () ؛ لـ (int i = 1 ؛ i <= 7 ؛ i ++) {// الخطوة 4: نضيف صورة المحتوى jpg = image.getInstance ("d:/testimage/pict _"+i+". jpeg") ؛ jpg.scalepercent (50) ؛ document.add (jpg) ؛ }} catch (documentException de) {system.err.println (de.getMessage ()) ؛ } catch (ioException ioe) {system.err.println (ioe.getMessage ()) ؛ } // الخطوة 5: نغلق مستند المستند. }} ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.