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

การเพิ่มประสิทธิภาพขนาด PDF และ API การบีบอัด - การติดตั้ง

คุณสามารถใช้รูทีนที่มีประสิทธิภาพและเชื่อถือได้ของ Aspose.PDF for Java API เพื่อเพิ่มประสิทธิภาพหรือบีบอัดไฟล์ PDF ขนาดใหญ่โดยที่ยังคงคุณภาพเดิมไว้ คุณสามารถดาวน์โหลดไฟล์ JAR ได้จาก ดาวน์โหลด หรือด้วย การกำหนดค่า Maven ในโครงการของคุณ

เพิ่มประสิทธิภาพเอกสาร PDF สำหรับเว็บโดยใช้ Java

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

  1. ไฟล์ PDF โอเพ่นซอร์ส
  2. โทร วิธีเพิ่มประสิทธิภาพ เพื่อเพิ่มประสิทธิภาพ PDF
  3. บันทึกไฟล์ PDF ที่ส่งออก

ข้อมูลโค้ดด้านล่างเป็นตัวอย่างของวิธีเพิ่มประสิทธิภาพเอกสาร PDF สำหรับเว็บในสภาพแวดล้อม Java ของคุณ:

// เปิดเอกสาร
Document pdfDocument = new Document("Original.pdf");

// เพิ่มประสิทธิภาพสำหรับเว็บ
pdfDocument.optimize();

// บันทึกเอกสารเอาต์พุต
pdfDocument.save("Optimized_output.pdf");

บีบอัดหรือปรับขนาด PDF ที่มีรูปภาพให้เหมาะสมโดยใช้ Java

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

ลดขนาด บีบอัด และปรับขนาดรูปภาพทั้งหมดโดยใช้ Java

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

  1. โหลดไฟล์ PDF อินพุต
  2. เริ่มต้นวัตถุ OptimizationOptions
  3. ตั้งค่าคุณภาพและความละเอียดของภาพ
  4. เรียกใช้เมธอด optimizeResources
  5. บันทึกเอกสาร PDF ที่ส่งออก

ข้อมูลโค้ดด้านล่างแสดงวิธีย่อหรือบีบอัดรูปภาพเพื่อลดและย่อขนาดไฟล์ PDF โดยใช้ Java:

// โหลดเอกสารอินพุต
Document doc = new Document(dataDir + "Test.pdf");

// เริ่มต้นวัตถุ OptimizationOptions
OptimizationOptions opt = new OptimizationOptions();

// เปิดใช้งานการบีบอัดภาพ
// กำหนดคุณภาพและความละเอียดของรูปภาพในไฟล์ PDF
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setMaxResolution(150);
opt.getImageCompressionOptions().setResizeImages(true);
doc.optimizeResources(opt);

// บันทึกไฟล์ที่อัปเดต
doc.save(dataDir + "compressingPDFWithImages_out.pdf");

การลบฟอนต์แบบฝัง สตรีมที่ไม่ได้ใช้ และการเชื่อมโยงสตรีมที่ซ้ำกันโดยใช้ Java

เมื่อคุณต้องการลดขนาดไฟล์ PDF ทุกไบต์มีความสำคัญ ฟอนต์แบบฝังสามารถช่วยลดขนาดไฟล์ได้ด้วยวิธีการต่างๆ ตัวอย่างเช่น คุณสามารถยกเลิกการฝังแบบอักษรทั้งหมดหรือเก็บเฉพาะชุดย่อยของแบบอักษรที่ใช้ในไฟล์ PDF มันจะเป็นการยกเลิกฟอนต์บางส่วนที่ยังคงช่วยลดขนาดไฟล์ให้เล็กที่สุด นอกจากนี้ คุณสามารถลบสตรีมที่ไม่ได้ใช้หรือลิงก์สตรีมที่ซ้ำกันเพื่อประหยัดพื้นที่เพิ่มเติม การเพิ่มประสิทธิภาพ PDF เหล่านี้จะลดขนาดไฟล์ลงอย่างมาก คุณต้องทำตามขั้นตอนต่อไปนี้เพื่อปรับและลดขนาดไฟล์ PDF:

  1. โหลดเอกสาร PDF อินพุต
  2. เริ่มต้น OptimizationOptions วัตถุคลาส
  3. ยกเลิกการฝังแบบอักษรทั้งหมดหรือชุดย่อยของแบบอักษร
  4. เชื่อมโยงสตรีมที่ซ้ำกัน
  5. ลบสตรีมที่ไม่ได้ใช้

โค้ดต่อไปนี้อธิบายวิธีการบีบอัดไฟล์ PDF เพื่อเพิ่มประสิทธิภาพ ลด และย่อขนาดของเอกสาร PDF:

Document doc = new Document(dataDir + "Test.pdf");
OptimizationOptions opt = new OptimizationOptions();

// ทั้ง
// ยกเลิกการฝังแบบอักษรทั้งหมดใน PDF
opt.setUnembedFonts(true);

//หรือ
// เก็บเฉพาะแบบอักษรที่ฝังไว้สำหรับอักขระที่ใช้
opt.setSubsetFonts(true);

// เชื่อมโยงสตรีมที่ซ้ำกัน
opt.setLinkDuplcateStreams(false);

// ลบสตรีมที่ไม่ได้ใช้
opt.setRemoveUnusedStreams(false);

// ลบวัตถุที่ไม่ได้ใช้
opt.setRemoveUnusedObjects(false);

doc.optimizeResources(opt);

// บันทึกไฟล์ที่อัปเดต
doc.save(dataDir + "compressingPDF.pdf");

จนถึงตอนนี้ เราได้พูดถึงแนวทางการปรับให้เหมาะสมสำหรับไฟล์ PDF ที่มีรูปภาพเป็นหลัก ตอนนี้ ให้เราดำเนินการด้วยวิธีเพิ่มเติมสำหรับการเพิ่มประสิทธิภาพ PDF

บีบอัดหรือลดขนาดเอกสาร PDF โดยใช้ Java

ไฟล์ PDF มักจะมีคำอธิบายประกอบ ช่องแบบฟอร์มที่แก้ไขได้ และสิ่งประดิษฐ์สีที่ใช้พื้นที่โดยรวม ให้เราสำรวจขั้นตอนต่อไปนี้เพื่อบีบอัดขนาดไฟล์ PDF

การลบหรือแบนคำอธิบายประกอบเพื่อลดขนาดด้วย Java

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

  1. เปิดเอกสาร PDF
  2. วนซ้ำไปทีละหน้า
  3. ทำให้แบนหรือลบ คำอธิบายประกอบ
  4. บันทึกเอกสาร PDF ที่ส่งออก

ข้อมูลโค้ดด้านล่างเป็นตัวอย่างวิธีการลบหรือทำให้คำอธิบายประกอบในเอกสาร PDF เรียบโดยใช้ Java:

// เปิดเอกสาร
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// วนซ้ำในแต่ละหน้าและคำอธิบายประกอบ
for (Page page : pdfDocument.getPages())
{
   for (Annotation annotation : page.getAnnotations())
    {
        // แบนคำอธิบายประกอบ
        annotation.flatten();
        
        // หรือลบคำอธิบายประกอบ
        // page.getAnnotations().delete(คำอธิบายประกอบ);        
    }
}
// บันทึกเอกสาร PDF ที่ปรับให้เหมาะสม
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

การลบฟิลด์ฟอร์มเพื่อลดขนาดไฟล์ PDF ด้วย Java

แบบฟอร์ม PDF ที่กรอกได้เป็นเรื่องปกติที่คุณต้องการส่งข้อมูลจำนวนมาก หลังจากส่งข้อมูลแล้ว สามารถลบฟิลด์แบบฟอร์มที่กรอกได้เพื่อเพิ่มประสิทธิภาพและลดขนาดไฟล์ PDF คุณต้องทำตามขั้นตอนด้านล่างเพื่อลบฟิลด์ฟอร์ม:

  1. โหลดเอกสาร PDF อินพุต
  2. ตรวจสอบช่องแบบฟอร์มในเอกสาร PDF
  3. ทำซ้ำผ่านแต่ละฟิลด์และทำให้แบน
  4. บันทึกไฟล์ PDF บีบอัดที่อัปเดตแล้ว
// โหลดแบบฟอร์ม PDF ที่มา
Document doc = new Document(dataDir + "input.pdf");

// ฟิลด์แบบฟอร์มแผ่
if (doc.getForm().getFields().length > 0)
{
   for (Field item : doc.getForm().getFields())
    {
        item.flatten();
    }
}

dataDir = dataDir + "FlattenForms_out.pdf";
// บันทึกเอกสารที่อัปเดต
doc.save(dataDir);

แปลง RGB Color Space เป็น Grayscale สำหรับการบีบอัด PDF และการปรับให้เหมาะสมโดยใช้ Java

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

  1. เข้าถึงเอกสาร PDF ต้นฉบับ
  2. เริ่มต้นอินสแตนซ์ RgbToDeviceGrayConversionStrategy
  3. แปลงปริภูมิสีของแต่ละสีให้เป็นระดับสีเทา
  4. บันทึกไฟล์ PDF ที่ปรับเอาต์พุตให้เหมาะสม

ข้อมูลโค้ดต่อไปนี้แสดงวิธีบีบอัดและปรับขนาด PDF โดยการเปลี่ยนพื้นที่สีในสภาพแวดล้อม Java:

// โหลดเอกสาร PDF อินพุต
Document document = new Document("input.pdf");

// เริ่มต้นอินสแตนซ์ RgbToDeviceGrayConversionStrategy
RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy();
for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) {
	Page page = document.getPages().get_Item(idxPage);
        
        // แปลงพื้นที่สีของแต่ละหน้าเป็น Greyscale
	strategy.convert(page);
}
// บันทึกเอกสาร PDF ที่ส่งออก
document.save("output.pdf");

บทสรุป

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

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

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