ใน Java คุณสามารถใช้แพ็คเกจที่จัดทำโดยบุคคลที่สามเพื่อแปลง PDF เป็นรูปภาพ นี่คือสิ่งที่ใช้กันทั่วไปหลายอย่างที่สามารถเลือกและใช้งานได้ตามความต้องการของคุณเอง
1. Icepdf มีเวอร์ชันที่จ่ายและโอเพ่นซอร์สซึ่งแนะนำมากที่สุดในหลาย ๆ วิธี เอฟเฟกต์การแปลงค่อนข้างดีและสามารถระบุภาษาจีนในไฟล์ที่ฉันมี นั่นคือหลังจากการแปลงระยะห่างระหว่างตัวละครในตัวอักษรอาจกว้างเล็กน้อย เนื่องจากการสนับสนุนแบบอักษรถูกเรียกเก็บเงินภาพที่ถูกแปลงจะมีลายน้ำอย่างเป็นทางการ วิธีลบลายน้ำคุณสามารถดูบทความอื่น: วิธี ICEPDF สำหรับการกำจัดลายน้ำ
1. ดาวน์โหลดแพ็คเกจ ICEPDF และนำเข้าสู่โครงการ 4 ใช้ที่นี่ดังนี้:
2. แนบรหัสตัวอย่าง:
String filePath = "C: /test.pdf"; เอกสารเอกสาร = เอกสารใหม่ (); Document.setFile (FilePath); scale float = 2.5f; // scaling float rotation = 0f; // มุมการหมุนสำหรับ (int i = 0; i <document.getNumberOfPages (); i ++) {bufferedImage image = (bufferedImage) document.getPageMage.pubeCHENTS.PBUNTS.PBUNTS.PBONDICENTS renderEdimage spandimage = image; ลอง {file file = ไฟล์ใหม่ ("C:/iEcpdf_" + i + ".png"); imageio.write (rendimage, "png", ไฟล์); 14} catch (ioexception e) {e.printstacktrace (); } image.flush (); } document.dispose ();ในตัวอย่างมันอยู่ในรูปแบบ PDF ถึง PNG นอกจากนี้คุณยังสามารถเปลี่ยนบรรทัดที่ 12 และ 13 เป็น JPG และถ่ายโอนไปยังรูปแบบ JPG แต่จากเอฟเฟกต์การแปลงความชัดเจนของ PNG จะค่อนข้างสูง มีเคล็ดลับในการเปลี่ยน 12 บรรทัดเป็น JPG แต่ 13 บรรทัดในการใช้ PNG นั่นคือแปลงรูปภาพเป็นรูปแบบ JPG แต่มีความชัดเจน PNG
2. pdfbox เอฟเฟกต์การแปลงก็โอเคซึ่งสามารถรับรู้เนื้อหาส่วนใหญ่ของไฟล์ในมือของฉันและบางส่วนไม่สามารถจดจำได้
1. ดาวน์โหลดแพ็คเกจ PDFBox Rack และนำเข้าโครงการ มีการใช้สองของพวกเขาที่นี่ดังนี้:
2. แนบรหัสตัวอย่าง:
ไฟล์ไฟล์ = ไฟล์ใหม่ ("c: //test.pdf"); ลอง {pdDocument doc = pddocument.load (ไฟล์); pdfrenderer renderer = pdfrenderer ใหม่ (DOC); 5 int pagecount = doc.getNumberOfPages (); สำหรับ (int i = 0; i <pagecount; i ++) {bufferedImage image = renderer.renderimagewithdpi (i, 296); // bufferedimage image = renderer.renderimage (i, 2.5f); imageio.write (image, "png", ไฟล์ใหม่ ("c: //pdfbox_image.png")); }} catch (ioexception e) {e.printstacktrace (); -ในตัวอย่างพารามิเตอร์ที่สองของ RederimageWithDPI คือหน่วยความละเอียด DPI ซึ่งสามารถปรับได้ตามข้อกำหนด บรรทัดที่แปดของรหัสให้วิธีการเปลี่ยนรูปภาพในแพ็คเกจอื่นและพารามิเตอร์ที่สองคืออัตราส่วนการปรับขนาด
3. Jpedal ผลที่ได้นั้นไม่เหมาะและดูเหมือนว่าการสนับสนุนชาวจีนนั้นไม่ค่อยดีนัก เวอร์ชัน LGPL ต่อไปนี้เป็นเวอร์ชันโอเพ่นซอร์ส
1. ดาวน์โหลดแพ็คเกจ JPedal และนำเข้าสู่โครงการดังนี้:
2. แนบรหัสตัวอย่าง:
pdfdecoder decode_pdf = ใหม่ pdfdecoder (จริง); ลอง {decode_pdf.openpdffile ("c: //test.pdf"); // file // decode_pdf.openpdffile ("c: /jpedalpdf.pdf", "รหัสผ่าน"); // ไฟล์ที่เข้ารหัส // decode_pdf.openpdfarray (ไบต์); // bytes เป็น byte [] array ด้วย pdf // decode_pdf.openpdffilefromurl ("http://www.mysite.com/jpedalpdf.pdf", false); // decode_pdf.openpdffilefrominputstream int start = 1, end = decode_pdf.getPageCount (); สำหรับ (int i = start; i <end+1; i ++) {bufferedImage img = decode_pdf.getPageAsimage (i); ลอง {imageio.write (img, "png", ไฟล์ใหม่ ("c: //jpedal_image.png")); } catch (ioexception e) {e.printstacktrace (); }} decode_pdf.closepdffile (); } catch (pdfexception e) {e.printstacktrace (); -บรรทัด 3-7 ของตัวอย่างยังมีวิธีการที่แตกต่างกันในการเปิด PDFs ซึ่งสามารถเลือกและใช้งานตามความต้องการของคุณ
วิธีการข้างต้นในการใช้ PDF กับรูปภาพใน Java เป็นเนื้อหาทั้งหมดที่ฉันได้แบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น