บทความนี้แบ่งปันรหัสเฉพาะของ Java ที่รวมรูปภาพลงในไฟล์ PDF สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
ไดอะแกรมอินเทอร์เฟซโปรแกรม:
รายการรหัส:
แพ็คเกจรวมรูปภาพเข้ากับไฟล์ PDF นำเข้า java.awt.event.actionevent; นำเข้า java.awt.event.actionListener นำเข้า java.io.file; นำเข้า java.io.filefilter; นำเข้า java.io.fileoutputStream; นำเข้า Java.io.ioException; javax.swing.jframe; นำเข้า Javax.swing.jlabel; นำเข้า Javax.swing.joptionpane; นำเข้า Javax.swing.jpanel; นำเข้า Javax.swing.jtextfield; นำเข้า Javax.swing.filechooser.filenameextensionfilter; com.ithtpdf.text.documentexception; นำเข้า com.ithtpdf.text.image; นำเข้า com.ithtpdf.text.pagesize; นำเข้า com.ithtpdf.text.pdf.pdfwriter;/ * * วาดส่วนต่อประสานหลัก 1657254256189721759L; สตริงส่วนตัวสุดท้าย shuoming = "คำแนะนำสำหรับการใช้งาน: ฟังก์ชั่นหลักของโปรแกรมนี้คือการขยายกลุ่มภาพเป็นไฟล์ PDF เดียวกันตามสัดส่วน. - winmin"; สตริงส่วนตัว dir_open = "" null; jbutton ส่วนตัว jb_save = null; private jbutton jb_ok = null; jtextfield ส่วนตัว jt_dir_open = null; jtextfield ส่วนตัว jt_dir_save = null; jlabel jlabel jl_dir_open ส่วนตัว jlabel jl_lujing_save = null; ส่วนตัว jtextfield jtf = null; public jiemian_mian () {jf = new JFrame ("การรวมรูปภาพลงในไฟล์ pdf"); jp = new jpanel () jp.setLayout (null); "); jl_dir_save = new Jlabel (" โปรดเลือกตำแหน่งการสังเคราะห์ของ PDF: "); jl_lujing_open = new Jlabel (" เส้นทาง: "); jl_lujing_save = new Jlabel (" เส้นทาง: "); 20); jl_dir_save.setbounds (420, 50, 200, 20); jl_lujing_open.setbounds (50, 80, 40, 20); jl_lujing_save.setbounds (420, 80, 40 20); jp.add (jl_dir_open); jp.add (jl_dir_save); jp.add (jl_lujing_open); jp.add (jl_lujing_save);/*button*/jb_open = new Jbutton ( = new JButton ("เริ่มการสังเคราะห์"); jb_open.setbounds (230, 80, 65, 20); jb_save.setbounds (600, 80, 65, 20); jb_ok.setbounds (310, 165, 90, 30); บันทึก ()); jb_ok.addactionListener (ใหม่เริ่มต้น ()); jp.add (jb_open); jp.add (jb_save); jp.add (jb_ok);/*ข้อความบรรทัดเดียว jtextfield (); jt_dir_open.setbounds (90, 80, 130, 20); jt_dir_save.setbounds (460, 80, 130, 20); jt_dir_open.seteditable (เท็จ); jt_dir_save.seteditable (เท็จ); jp.add (jt_dir_open); jp.add (jt_dir_save);/*กล่องข้อความ 50); jtf.setenabled (เท็จ); jp.add (jtf);/*หลัก กล่อง*/jf.add (jp); jf.setsize (715,315); jf.setResizable (เท็จ); jf.setLocationRelativeto (null); jf.setVisible (จริง); jf.setDefaultCloseoperation actionListener {โมฆะสาธารณะ actionperformed (actionEvent e) {lujing_get lujing_get = new lujing_get (jf); // สร้างวัตถุ lujing_get และรับเส้นทางกลุ่มภาพ dir_open = lujing_get.open_get (); jt_dir_open.settext โดย PDF*/คลาสส่วนตัวบันทึกใช้งาน actionListener {โมฆะสาธารณะ actionPerformed (actionEvent e) {lujing_get lujing_get = ใหม่ lujing_get (jf); // สร้างวัตถุ lujing_get และได้รับเส้นทางเพื่อบันทึกตำแหน่งที่สร้างโดย pdf dir_save = lujing_get.save_get (); jt_dir_save.settext (dir_save);}}/*การประมวลผลเหตุการณ์ trunk สำหรับการสังเคราะห์ PDF*/คลาสส่วนตัวเริ่มใช้งานแอ็คชั่น dir_open.equals ("")) {joptionpane.showmessagedialog (jf, "โปรดป้อนเส้นทางของกลุ่มภาพและเส้นทางการออมของ PDF", "คำเตือน", joptionpane.warning_message); if (fd.files ()! = null) {/*จัดการกฎการตั้งชื่อ PDF อย่างถูกต้อง (ลบชื่อต่อท้าย)*/ถ้า (dir_save.lastindexof (".")! = (-1)) dir_save = dir_save.substring (0, dir_save.lastindexof (");); wm_creatpdf (fd.files (), dir_save); // สร้างวัตถุ wm_creatpdf เพื่อสร้าง pdftry {pdf_creat.creatpdf (); // synthesize pdf file} catch (documentexception e1) {// toDo todo สร้าง catch block โดยอัตโนมัติ e1.printstacktrace ();} joptionpane.showmessagedialog (jf, "ไฟล์ pdf สังเคราะห์, ตำแหน่ง:"+dir_save+". pdf", "สมบูรณ์", joptionpane.plain_message); (.jpg/.png/.bmp/.tif)! "," คำเตือน ", joptionpane.warning_message);}}}} คลาส lujing_get {ส่วนตัว jframe jf = null; lujing_get (jframe jf) {this.jf = jf; jfc = ใหม่ jfilechooser (); // สร้าง "เลือกไฟล์เบราว์เซอร์" jfc.setDialogtitle ("โปรดเลือกโฟลเดอร์ที่กลุ่มภาพคือ"); jfc.setFilesElectionMode (jfilechooser.directories_only) returnVal) {dir = jfc.getSelectedFile (). toString ();} return dir; // ส่งคืนพา ธ } สตริงสาธารณะ save_get () {string dir = ""; jfilechooser jfc = ใหม่ jfilechooser (); // สร้างวัตถุ "เลือกไฟล์เบราว์เซอร์" jfc.setDialogTitle ("โปรดเลือกตำแหน่งการสังเคราะห์ของ pdf"); filenameextensionfilter filenameextensionFilter ("pdf", "pdf"); jfc.setfilefilter (ตัวกรอง); int returnval = jfc.showsavedialog (jf); ถ้า (jfilechooser.approve_option == returnval) {dir = jfc.get // ส่งคืนพา ธ }}/ * * รับไฟล์ภาพ * * */คลาส file_deal {สตริงส่วนตัว dir_open = ""; ไฟล์สาธารณะ file_deal (สตริง dir_open) {this.dir_open = dir_open;} ไฟล์สาธารณะ 0) ส่งคืน fs; elsereturn null;}}}/ * * ตัวกรองไฟล์, ส่งคืนไฟล์รูปแบบรูปภาพในไดเรกทอรี * */คลาส photofilefilter ใช้ filefilter {@overridepublic บูลีนยอมรับ (ไฟล์ไฟล์) file.getName (); if (name.endswith (". jpg") || name.endswith (". png")) return true; elnesif (name.endswith (". bmp") || name.endswith ("tif")) "itextpdf.jar", ที่อยู่ดาวน์โหลดคือ: http://www.java2s.com/code/jar/i/i/iithtpdf.htm) * * */คลาส wm_creatpdf {โฟลตี้ส่วนตัวสุดท้าย A4_Weight = 595-60; ไฟล์ส่วนตัว [] ไฟล์ = null; สตริงส่วนตัว dir_save = ""; public wm_creatpdf (ไฟล์ [] ไฟล์, สตริง dir_save) {this.files = ไฟล์; this.dir_save = dir_save;} โมฆะสาธารณะ creatpdf () พ่น documentexception, ioexception {เอกสารเอกสาร = เอกสารใหม่ (pagesize.a4,30,30,30,30); // สร้างเอกสารคอนเทนเนอร์ pdfwriter.getInstance (เอกสารใหม่ document.open (); // open container float เปอร์เซ็นต์ = 100; float w, h; สำหรับ (int i = 0; i <files.length; i ++) {image img = image.getInstance (ไฟล์ [i] .getCanonicalical ();/* a4_height)) เปอร์เซ็นต์ = (a4_weight*100)/w; elseif ((w <a4_weight) && (h> a4_height)) เปอร์เซ็นต์ = (a4_height*100)/h; eslesif ((w> a4_weight) && (h> a4_height) a4_height) เปอร์เซ็นต์ = (a4_height*100)/h;} img.scalepercent (เปอร์เซ็นต์); document.add (img);} document.close (); // ปิดคอนเทนเนอร์} โมฆะคงที่สาธารณะ ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น