พิมพ์ PDF ด้วย Java โดยทางโปรแกรม

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

พิมพ์ไฟล์ PDF โดยใช้ Java

คุณสามารถพิมพ์ไฟล์ PDF โดยใช้รหัส Java โดยทำตามขั้นตอนด้านล่าง:

  1. สร้างวัตถุ PdfViewer
  2. โหลดไฟล์ PDF อินพุต
  3. พิมพ์ไฟล์ PDF

ข้อมูลโค้ดด้านล่างแสดงวิธีการพิมพ์ไฟล์ PDF โดยทางโปรแกรมโดยใช้ Java:

//สร้างวัตถุ PdfViewer
PdfViewer viewer = new PdfViewer();
//เปิดไฟล์ PDF ที่ป้อน
viewer.bindPdf(dataDir + "Test.pdf");
//พิมพ์เอกสาร PDF
viewer.printDocument();
//ปิดไฟล์ PDF
viewer.close();

การพิมพ์เอกสาร PDF หลายชุดโดยใช้ Java

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

  1. เริ่มต้นรายการประเภทสตริง
  2. เพิ่มไฟล์ PDF หลายไฟล์เพื่อพิมพ์
  3. พิมพ์เอกสาร PDF

รหัสต่อไปนี้แสดงวิธีการพิมพ์ไฟล์ PDF หลายไฟล์โดยใช้ภาษา Java:

// เริ่มต้นรายการประเภทสตริง
List<String> files = new ArrayList<>();

// เพิ่มไฟล์หลายไฟล์ที่จะพิมพ์
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// ประมวลผลแต่ละไฟล์เพื่อพิมพ์
for (String file : files)
{
    //สร้างวัตถุ PdfViewer
    PdfViewer viewer = new PdfViewer();
    //เปิดไฟล์ PDF ที่ป้อน
    viewer.bindPdf(file);
    //พิมพ์เอกสาร PDF
    viewer.printDocument();
    //ปิดไฟล์ PDF
    viewer.close();
}

พิมพ์หน้าเฉพาะหรือช่วงของหน้าโดยใช้ Java

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

  1. เริ่มต้นวัตถุ PdfViewer
  2. กำหนดแอตทริบิวต์สำหรับการพิมพ์
  3. สร้างวัตถุสำหรับการตั้งค่าเครื่องพิมพ์และหน้า
  4. ระบุว่าคุณต้องการพิมพ์ทุกหน้า หน้าเฉพาะ หรือช่วงหน้าอย่างต่อเนื่อง
  5. พิมพ์เอกสาร PDF โดยใช้เครื่องพิมพ์และการตั้งค่าหน้า

รหัสต่อไปนี้แสดงวิธีการพิมพ์หน้าเฉพาะหรือช่วงของหน้าในเอกสาร PDF ด้วย Java:

// สร้างวัตถุ PdfViewer
PdfViewer viewer = new PdfViewer();
// เปิดไฟล์ PDF ที่ป้อน
viewer.bindPdf(dataDir + "test.pdf");
// กำหนดแอตทริบิวต์สำหรับการพิมพ์
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// สร้างวัตถุสำหรับการตั้งค่าเครื่องพิมพ์และหน้าและ PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// ตั้งชื่อเครื่องพิมพ์
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = ทุกหน้า; 1 = การเลือก; 2 = บางหน้า
// ps.setFromPage(1);
// ps.setToPage(2);


ps.setPrintRange(1); // 0 = all pages; 1 = selection; 2 = some pages
ps.setSelectedPages(new int[]{1, 3, 5});


// พิมพ์เอกสารโดยใช้เครื่องพิมพ์และการตั้งค่าหน้า
viewer.printDocumentWithSettings(pgs, ps);

พิมพ์ PDF ที่ปลอดภัยโดยใช้ Java

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

  1. โหลดไฟล์อินพุต PDF ที่ป้องกันด้วยรหัสผ่านด้วยรหัสผ่าน
  2. เริ่มต้นวัตถุ PdfViewer
  3. พิมพ์เอกสาร PDF

โค้ดด้านล่างนี้อิงจากขั้นตอนเหล่านี้ซึ่งอธิบายถึงวิธีการพิมพ์ไฟล์ PDF ที่มีการรักษาความปลอดภัยโดยใช้โค้ด Java:

//โหลดเอกสาร PDF ที่ปลอดภัยในขณะที่ระบุรหัสผ่านผู้ใช้หรือเจ้าของ
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//สร้างวัตถุ PdfViewer
PdfViewer viewer = new PdfViewer();
//เปิดไฟล์ PDF ที่ป้อน
viewer.bindPdf(document);
//พิมพ์เอกสาร PDF
viewer.printDocument();
//ปิดไฟล์ PDF
viewer.close();

ตรวจสอบสถานะของงานพิมพ์ขณะพิมพ์ PDF โดยใช้ Java

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

  1. โหลดไฟล์ PDF อินพุต
  2. กำหนดแอตทริบิวต์สำหรับการพิมพ์
  3. สร้างวัตถุสำหรับการตั้งค่าเครื่องพิมพ์และหน้า
  4. ตั้งชื่อเครื่องพิมพ์
  5. พิมพ์ผลลัพธ์ไปยังไฟล์
  6. ตรวจสอบสถานะการพิมพ์

รหัสต่อไปนี้แสดงวิธีการตรวจสอบสถานะของงานพิมพ์ระหว่างการพิมพ์ PDF โดยใช้รหัส Java:

// สร้างวัตถุ PdfViewer
PdfViewer viewer = new PdfViewer();
// เปิดไฟล์ PDF ที่ป้อน
viewer.bindPdf(dataDir + "test.pdf");
// กำหนดแอตทริบิวต์สำหรับการพิมพ์
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// สร้างวัตถุสำหรับการตั้งค่าเครื่องพิมพ์และหน้าและ PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// ตั้งชื่อเครื่องพิมพ์
ps.setPrinterName("Microsoft Print to PDF");


// ชื่อผลงานพิมพ์ที่เป็นผลลัพธ์
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// พิมพ์ผลลัพธ์ไปยังไฟล์
ps.setPrintToFile(true);

// พิมพ์เอกสารด้วยการตั้งค่าที่ระบุด้านบน
viewer.printDocumentWithSettings(pgs, ps);

// ตรวจสอบสถานะการพิมพ์
if (viewer.getPrintStatus() != null)
{
    // มีข้อยกเว้นเกิดขึ้น
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // รับข้อความแสดงข้อยกเว้น
    }
}
else
{
    // ไม่พบข้อผิดพลาด งานพิมพ์เสร็จสมบูรณ์แล้ว
    System.out.println("printing completed without any issue..");
}

บทสรุป

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

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