PDF เป็นรูปภาพ Java

รูปแบบ PDF กำลังครองโลกของเอกสารดิจิทัลเนื่องจากการรองรับข้ามแพลตฟอร์ม อย่างไรก็ตาม ในบางกรณี คุณต้องแปลงไฟล์ PDF เป็นรูปแบบไฟล์อื่น สำหรับกรณีดังกล่าว บทความนี้ครอบคลุมถึงวิธีการแปลงไฟล์ PDF เป็นรูปแบบรูปภาพยอดนิยม โดยเฉพาะอย่างยิ่ง คุณจะได้เรียนรู้วิธีแปลงไฟล์ PDF เป็น PNG, JPEG, BMP และ TIFF ภาพโดยใช้ Java

Java PDF เป็น Image Converter API

ในบทความนี้ เราจะใช้ Aspose.PDF for Java ซึ่งออกแบบมาเพื่อสร้างใหม่และจัดการไฟล์ PDF ที่มีอยู่ API ให้การแปลงไฟล์ PDF ในรูปแบบเอกสารและรูปภาพต่างๆ ที่มีความเที่ยงตรงสูง คุณสามารถ ดาวน์โหลด JAR ของ API หรือติดตั้งโดยใช้การกำหนดค่า 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-pdf</artifactId>
    <version>20.12</version>
    <classifier>jdk17</classifier>
</dependency>

แปลงไฟล์ PDF เป็นภาพ PNG โดยใช้ Java

ในการแปลง PDF เป็น PNG แต่ละหน้าของไฟล์ PDF จะถูกแปลงเป็นภาพ PNG แยกต่างหาก ดังนั้น คุณสามารถแปลงหน้าเดียว ทุกหน้า หรือบางหน้าของ PDF ตามสถานการณ์ของคุณ ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ PDF เป็น PNG โดยใช้ Java

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • วนซ้ำหน้าต่างๆ ในไฟล์ PDF โดยใช้วิธี Document.getPages()
  • สร้างวัตถุ OutputStream สำหรับภาพ PNG แต่ละภาพ
  • สร้างอินสแตนซ์ของคลาส Resolution เพื่อตั้งค่าความละเอียดของภาพที่เรนเดอร์
  • สร้างวัตถุของคลาส PngDevice และเริ่มต้นด้วยวัตถุ Resolution
  • ใช้เมธอด PngDevice.process(Document.getPages().getItem(Index), OutputStream) เพื่อแปลงหน้า PDF เป็นรูปภาพ PNG
  • ปิดสตรีมไฟล์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลง PDF เป็นรูปภาพ PNG โดยใช้ Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");

// วนซ้ำทุกหน้าของไฟล์ PDF
for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) {
	// สร้างวัตถุสตรีมเพื่อบันทึกรูปภาพที่ส่งออก
	java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".png");

	// สร้างวัตถุความละเอียด
	Resolution resolution = new Resolution(300);
	// สร้างวัตถุ PngDevice ด้วยความละเอียดเฉพาะ
	PngDevice pngDevice = new PngDevice(resolution);
	// แปลงหน้าใดหน้าหนึ่งและบันทึกภาพเพื่อสตรีม
	pngDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream);

	// ปิดสตรีม
	imageStream.close();
}

แปลงไฟล์ PDF เป็นภาพ JPEG โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการแปลงหน้าในไฟล์ PDF เป็นรูปภาพ JPEG โดยใช้ Java

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • วนซ้ำหน้าต่างๆ ใน PDF โดยใช้เมธอด Document.getPages()
  • สร้างวัตถุ OutputStream สำหรับภาพ JPEG แต่ละภาพ
  • สร้างอินสแตนซ์คลาส Resolution เพื่อตั้งค่าความละเอียดของภาพที่เรนเดอร์
  • สร้างวัตถุของคลาส JpegDevice และเริ่มต้นด้วยวัตถุ Resolution
  • ใช้เมธอด JpegDevice.process(Document.getPages().getItem(Index), OutputStream) เพื่อแปลงหน้า PDF เป็นภาพ JPEG
  • ปิดสตรีมไฟล์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงหน้า PDF เป็นภาพ JPEG โดยใช้ Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
 Document pdfDocument = new  Document("input.pdf");

// วนซ้ำทุกหน้าของไฟล์ PDF
for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++)
{
    // สร้างวัตถุสตรีมเพื่อบันทึกรูปภาพที่ส่งออก
    java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".jpg");


    // สร้างวัตถุความละเอียด
     Resolution resolution = new  Resolution(300);
    // สร้างวัตถุ JpegDevice โดยที่อาร์กิวเมนต์ที่สองระบุคุณภาพของภาพที่ได้
     JpegDevice jpegDevice = new  JpegDevice(resolution, 100);
    // แปลงหน้าใดหน้าหนึ่งและบันทึกภาพเพื่อสตรีม
    jpegDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream);

    // ปิดสตรีม
    imageStream.close();
}

การแปลงรูปภาพ PDF เป็น BMP โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการแปลง PDF เป็น BMP ใน Java

  • ใช้คลาส Document เพื่อโหลดไฟล์ PDF
  • ทำซ้ำผ่านหน้า PDF โดยใช้เมธอด Document.getPages()
  • สร้างวัตถุ OutputStream สำหรับภาพ BMP แต่ละภาพ
  • สร้างอินสแตนซ์คลาส Resolution เพื่อตั้งค่าความละเอียดของภาพที่เรนเดอร์
  • สร้างวัตถุของคลาส BmpDevice และเริ่มต้นด้วยวัตถุ Resolution
  • ใช้เมธอด BmpDevice.process(Document.getPages().getItem(Index), OutputStream) เพื่อแปลงหน้า PDF เป็นภาพ BMP
  • ปิดสตรีมไฟล์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลงรูปภาพ PDF เป็น BMP ใน Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");

// วนซ้ำทุกหน้าของไฟล์ PDF
for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) {
	// สร้างวัตถุสตรีมเพื่อบันทึกรูปภาพที่ส่งออก
	java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".bmp");

	// สร้างวัตถุความละเอียด
	Resolution resolution = new Resolution(300);
	// สร้างวัตถุ BmpDevice ด้วยความละเอียดเฉพาะ
	BmpDevice bmpDevice = new BmpDevice(resolution);
	// แปลงหน้าใดหน้าหนึ่งและบันทึกภาพเพื่อสตรีม
	bmpDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream);

	// ปิดสตรีม
	imageStream.close();
}

การแปลง PDF เป็น TIFF โดยใช้ Java

ตรงกันข้ามกับรูปแบบภาพแรสเตอร์ที่กล่าวถึงข้างต้น TIFF เป็นรูปแบบภาพหลายหน้า ดังนั้น คุณจึงสามารถแปลงไฟล์ PDF เป็น TIFF ได้ทันทีโดยไม่ต้องวนซ้ำแต่ละหน้า ในทางกลับกัน คุณยังสามารถระบุช่วงของหน้าใน PDF เพื่อแปลงเป็น TIFF ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ PDF เป็น TIFF โดยใช้ Java

  • ใช้คลาส Document เพื่อโหลดไฟล์ PDF
  • สร้างวัตถุ OutputStream สำหรับภาพ TIFF
  • สร้างอินสแตนซ์ของคลาส Resolution เพื่อตั้งค่าความละเอียดของภาพที่เรนเดอร์
  • ใช้คลาส TiffSettings เพื่อตั้งค่าตัวเลือกเพิ่มเติม เช่น ประเภทการบีบอัด ความลึกของสี เป็นต้น
  • สร้างวัตถุของคลาส TiffDevice และเริ่มต้นด้วยวัตถุ Resolution
  • ใช้เมธอด TiffDevice.process(Document, OutputStream) (หรือ โอเวอร์โหลดเมธอด อื่นๆ เพื่อระบุช่วงของหน้า) เพื่อแปลง PDF เป็น TIFF
  • ปิดสตรีมไฟล์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงไฟล์ PDF เป็นรูปภาพ TIFF โดยใช้ Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");
// สร้างวัตถุสตรีมเพื่อบันทึกรูปภาพที่ส่งออก
java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image.tiff");

// สร้างวัตถุความละเอียด
Resolution resolution = new Resolution(300);
// ยกตัวอย่างวัตถุ TiffSettings
TiffSettings tiffSettings = new TiffSettings();
// ตั้งค่าการบีบอัดภาพ TIFF ที่เป็นผลลัพธ์
tiffSettings.setCompression(CompressionType.CCITT4);
// กำหนดความลึกของสีสำหรับภาพที่ได้
tiffSettings.setDepth(ColorDepth.Format8bpp);
// ข้ามหน้าเปล่าขณะเรนเดอร์ PDF เป็น TIFF
tiffSettings.setSkipBlankPages(true);

// สร้างวัตถุ TiffDevice ด้วยความละเอียดเฉพาะ
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);
// แปลงหน้าใดหน้าหนึ่ง (หน้า 1) และบันทึกภาพเพื่อสตรีม
tiffDevice.process(pdfDocument, 1, 1, imageStream);
// ปิดสตรีม
imageStream.close();

รับใบอนุญาต API ฟรี

คุณสามารถลองใช้ API โดยไม่มีข้อจำกัดในการประเมินได้ฟรี รับใบอนุญาตชั่วคราวฟรี ตอนนี้

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแปลงไฟล์ PDF เป็นรูปแบบรูปภาพโดยใช้ Java ขั้นตอนและตัวอย่างโค้ดแสดงวิธีการแปลง PDF เป็น PNG, PDF เป็น JPEG, PDF เป็น BMP และ PDF เป็น TIFF คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Java PDF API โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย

ข้อมูล: การใช้ตัวแปลง Aspose JPG เป็น PPT หรือ PNG เป็น PPT คุณสามารถสร้างงานนำเสนอ PowerPoint จากรูปภาพง่ายๆ