
แปลง PNG เป็น PDF โดยใช้ Java
PNG และ PDF เป็นที่นิยมและเป็นรูปแบบไฟล์ที่ใช้กันอย่างแพร่หลายที่สุด ณ เวลาปัจจุบัน PNG เป็นรูปแบบไฟล์ภาพ ในขณะที่ PDF (Portable Document Format) ให้การแสดงข้อมูลที่เชื่อถือได้และมีประสิทธิภาพ คุณต้องแปลงรูปแบบไฟล์รูปภาพเป็น PDF ในบางสถานการณ์ ดังนั้นในบล็อกโพสต์นี้ เราจะได้เรียนรู้วิธีแปลง PNG เป็น PDF โดยใช้ Java PDF API เราจะเขียนข้อมูลโค้ดและขั้นตอนในการแปลงนี้ในแอปพลิเคชัน Java
เราจะกล่าวถึงหัวข้อต่อไปนี้ในบทความนี้:
ไลบรารี PDF ของ Java
ไลบรารี Java PDF นี้ติดตั้งง่ายและมีเอกสารเกี่ยวกับ การติดตั้ง เป็น API ระดับองค์กรที่นำเสนอคุณสมบัติการแปลงและการจัดการที่มีประสิทธิภาพ อย่างไรก็ตาม คุณสามารถ ดาวน์โหลด JAR หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.11</version>
<type>pom</type>
</dependency>
แปลง PNG เป็น PDF โดยใช้ Java
เราจะใช้คลาสและวิธีการที่เปิดเผยโดยไลบรารี Java PDF นี้ ช่วยให้คุณสามารถแปลง PNG เป็น PDF ได้โดยการเขียนซอร์สโค้ดสองสามบรรทัดใน Java
คุณสามารถทำตามขั้นตอนและข้อมูลโค้ดที่กล่าวถึงด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Document
- สร้างออบเจ็กต์ของคลาส DocumentBuilder เพื่อให้ง่ายต่อการเพิ่มเนื้อหาลงในเอกสาร
- โหลดไฟล์รูปภาพอินพุตโดยการเรียกเมธอด createImageInputStream และกำหนดให้กับอ็อบเจ็กต์ของ ImageInputStream
- เรียกใช้เมธอด getImageReaders ที่ส่งคืน Iterator ที่มี ImageReaders ที่ลงทะเบียนไว้ทั้งหมดในปัจจุบัน และกำหนดให้กับอ็อบเจ็กต์ของคลาส ImageReader
- เรียกเมธอด setInput ที่ตั้งค่าแหล่งอินพุตเพื่อใช้กับ ImageInputStream ที่กำหนด
- รับจำนวนเฟรมในภาพโดยการเรียกเมธอด getNumImages
- วนซ้ำทุกเฟรม
- เลือกเฟรมที่ใช้งานอยู่และกำหนดให้กับออบเจ็กต์ของคลาส BufferedImage
- เรียกใช้เมธอด getPageSetup เพื่อเข้าถึงการตั้งค่าเพจปัจจุบันและกำหนดให้กับออบเจ็กต์ของคลาส PageSetup
- ตั้งค่าความสูงของหน้าโดยการเรียกเมธอด setPageWidth
- เรียกใช้เมธอด setPageHeight เพื่อกำหนดความกว้างของหน้า
- แทรกรูปภาพลงในเอกสารและวางไว้ที่มุมซ้ายบนของหน้าโดยเรียกเมธอด insertImage
- บันทึกไฟล์เป็นรูปแบบไฟล์ PDF โดยการเรียกเมธอด save
public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {
// สร้างอินสแตนซ์ของคลาสเอกสาร
Document doc = new Document();
// สร้างอ็อบเจ็กต์ของคลาส DocumentBuilder เพื่อให้ง่ายต่อการเพิ่มเนื้อหาลงในเอกสาร
DocumentBuilder builder = new DocumentBuilder(doc);
// โหลดรูปภาพจากดิสก์โดยใช้เครื่องอ่านที่เหมาะสม
// รูปแบบไฟล์ที่สามารถโหลดได้ขึ้นอยู่กับโปรแกรมอ่านรูปภาพที่มีอยู่ในเครื่อง
// โหลดไฟล์รูปภาพอินพุตโดยการเรียกเมธอด createImageInputStream และกำหนดให้กับอ็อบเจ็กต์ของ ImageInputStream
ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
// เรียกใช้เมธอด getImageReaders ที่ส่งคืน Iterator ที่มี ImageReaders ที่ลงทะเบียนไว้ทั้งหมดในปัจจุบัน และกำหนดให้กับอ็อบเจ็กต์ของคลาส ImageReader
ImageReader reader = ImageIO.getImageReaders(iis).next();
// เรียกเมธอด setInput ที่ตั้งค่าแหล่งอินพุตเพื่อใช้กับ ImageInputStream ที่กำหนดหรืออ็อบเจ็กต์อื่น
reader.setInput(iis, false);
// รับจำนวนเฟรมในภาพโดยการเรียกเมธอด getNumImages
int framesCount = reader.getNumImages(true);
// วนซ้ำทุกเฟรม
for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
// แทรกตัวแบ่งส่วนก่อนแต่ละหน้าใหม่ ในกรณีที่เป็นรูปภาพหลายเฟรม
if (frameIdx != 0)
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
// เลือกเฟรมที่ใช้งานอยู่และกำหนดให้กับวัตถุของคลาส BufferedImage
BufferedImage image = reader.read(frameIdx);
// เราต้องการให้ขนาดของหน้าเท่ากับขนาดของรูปภาพ
// แปลงพิกเซลเป็นจุดเพื่อปรับขนาดหน้าให้เป็นขนาดภาพจริง
// เรียกใช้เมธอด getPageSetup เพื่อเข้าถึงการตั้งค่าเพจปัจจุบัน และกำหนดให้กับออบเจ็กต์ของคลาส PageSetup
PageSetup ps = builder.getPageSetup();
// ตั้งค่าความสูงของหน้าโดยการเรียกเมธอด setPageWidth
ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
// เรียกใช้เมธอด setPageHeight เพื่อกำหนดความกว้างของเพจ
ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
// แทรกรูปภาพลงในเอกสารและวางไว้ที่มุมซ้ายบนของหน้าโดยเรียกเมธอด insertImage
builder.insertImage(
image,
RelativeHorizontalPosition.PAGE,
0,
RelativeVerticalPosition.PAGE,
0,
ps.getPageWidth(),
ps.getPageHeight(),
WrapType.NONE);
}
if (iis != null) {
iis.close();
reader.dispose();
}
// บันทึกไฟล์เป็นรูปแบบไฟล์ PDF โดยการเรียกวิธีการบันทึก
doc.save(outputFileName);
}
คุณสามารถดูผลลัพธ์ได้ในภาพด้านล่าง:

การแปลง PNG เป็น PDF
รับใบอนุญาตฟรี
คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อทดลองใช้ API นอกเหนือข้อจำกัดในการประเมิน
สรุป
เราสามารถจบการโพสต์บล็อกนี้ได้ที่นี่ เราได้สาธิตการใช้งานไลบรารี Java PDF เพื่อแปลง PNG เป็น PDF โดยใช้ Java โดยทางโปรแกรม ไลบรารีนี้ให้คุณสร้างตัวแปลง PNG เป็น PDF โดยใช้โค้ดเพียงไม่กี่บรรทัด นอกจากนี้ คุณยังไปที่ เอกสารประกอบ ของ API การแปลง PNG เป็น PDF นี้ conholdate.com เขียนหัวข้อใหม่ๆ ที่น่าสนใจอย่างต่อเนื่อง ดังนั้นโปรดติดตามข่าวสารล่าสุดอยู่เสมอ
ถามคำถาม
คุณสามารถแจ้งให้เราทราบเกี่ยวกับคำถามหรือข้อสงสัยของคุณได้ใน ฟอรั่ม ของเรา
คำถามที่พบบ่อย
คุณจะแปลง PNG เป็น PDF ได้อย่างไร
คุณสามารถใช้ library นี้เพื่อแปลง PNG เป็น PDF ใน Java โดยทางโปรแกรม มีเอกสารที่ครอบคลุมเกี่ยวกับการใช้งาน
ฉันจะบันทึก PNG เป็น PDF โดยไม่สูญเสียคุณภาพได้อย่างไร
อ่าน [ส่วน] นี้ 5 เพื่อเรียนรู้วิธีบันทึก PNG เป็นไฟล์ PDF โดยใช้ไลบรารี Java คุณสามารถเรียกใช้เมธอด save เพื่อบันทึกไฟล์ PNG เป็นไฟล์ PDF