การฝังลายน้ำในสเปรดชีตช่วยปกป้องข้อมูลที่ละเอียดอ่อนและบ่งบอกความเป็นเจ้าของเอกสาร. Conholdate.Total for Java มี API ที่ใช้งานง่ายซึ่งทำให้คุณสามารถแทรกลายน้ำใน Excel ด้วย Java ได้ด้วยเพียงไม่กี่บรรทัดของโค้ด. คู่มือนี้จะพาคุณผ่านการตั้งค่าที่จำเป็น การดำเนินการเต็มรูปแบบ และตัวเลือกการกำหนดค่าที่สำคัญ เพื่อให้คุณสามารถปกป้องเวิร์กบุ๊ก Excel ของคุณได้อย่างมีประสิทธิภาพ.
วิธีแทรกลายน้ำใน Excel ด้วย Java - ขั้นตอนโดยละเอียด
โหลด Workbook ด้วย ExcelLoadOptions
- โหลดไฟล์ Excel workbook: ใช้
Watermarkerร่วมกับExcelLoadOptionsเพื่อเปิดไฟล์.
Watermarker watermarker = new Watermarker(inputPath, new ExcelLoadOptions());
คลาส Watermarker ได้รับการอธิบายใน API reference. การโหลดด้วย ExcelLoadOptions ให้คุณควบคุมการใช้หน่วยความจำ ซึ่งสำคัญสำหรับ workbook ขนาดใหญ่.
สร้างลายน้ำข้อความพร้อมการจัดรูปแบบ
- สร้างลายน้ำข้อความ: กำหนดแบบอักษร, สี, ความทึบ, การหมุน, และการจัดแนว.
Font font = new Font("Arial", 36);
TextWatermark watermark = new TextWatermark("CONFIDENTIAL", font);
watermark.setColor(Color.RED);
watermark.setOpacity(0.3);
watermark.setRotationAngle(45);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
การตั้งค่า opacity เป็น 0.3 ทำให้ลายน้ำมีความโปร่งแสงบางส่วน, ในขณะที่การหมุน 45 องศาจะทำให้ลายน้ำวางเป็นแนวทแยงบนแผ่นงาน. คุณสามารถปรับค่าต่าง ๆ เหล่านี้ให้สอดคล้องกับแนวทางการสร้างแบรนด์หรือข้อกำหนดการปฏิบัติตามได้.
ใช้ลายน้ำกับทุกแผ่นงาน
- เพิ่มลายน้ำลงในสมุดงาน: วิธี
addจะนำไปใช้กับทุกแผ่นงานในการเรียกครั้งเดียว.
watermarker.add(watermark);
หากคุณต้องการควบคุมแยกตามแผ่นงาน คุณสามารถดึงแผ่นงานแต่ละแผ่นผ่าน watermarker.getWorksheets() และเรียก add สำหรับแต่ละแผ่นงานแยกกันได้.
บันทึกสมุดงานที่มีลายน้ำ
- บันทึกสมุดงานที่มีลายน้ำ: เลือก
ExcelSaveOptionsเพื่อควบคุมรูปแบบผลลัพธ์และรักษาเมตาดาต้าต้นฉบับ.
watermarker.save(outputPath, new ExcelSaveOptions());
อ็อบเจ็กต์ ExcelSaveOptions ให้คุณระบุว่าจะเก็บเวอร์ชันไฟล์ต้นฉบับหรืออัปเกรดเป็นมาตรฐาน XLSX ล่าสุด.
Release Resources to Avoid Memory Leaks
- Close the Watermarker: Release resources to avoid memory leaks, especially when processing many files in a batch.
watermarker.close();
Closing the Watermarker also flushes any pending write operations, ensuring the output file is not corrupted.
ขั้นตอนเหล่านี้แสดงวิธีแทรกลายน้ำใน Excel ด้วย Java พร้อมให้คุณควบคุมลักษณะและประสิทธิภาพ
ตัวอย่างโค้ดเต็ม: แทรกลายน้ำใน Excel ด้วย Java - ลายน้ำ Java เต็ม
โค้ดต่อไปนี้แสดงกระบวนการทั้งหมดตั้งแต่การโหลดเวิร์กบุ๊กจนถึงการบันทึกผลลัพธ์.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.contents.TextWatermark;
import com.groupdocs.watermark.common.Font;
import com.groupdocs.watermark.common.Color;
import com.groupdocs.watermark.contents.HorizontalAlignment;
import com.groupdocs.watermark.contents.VerticalAlignment;
import com.groupdocs.watermark.options.load.ExcelLoadOptions;
import com.groupdocs.watermark.options.save.ExcelSaveOptions;
public class ExcelWatermarkExample {
public static void main(String[] args) {
String inputPath = "input.xlsx";
String outputPath = "output_watermarked.xlsx";
Watermarker watermarker = null;
try {
// Load the Excel workbook (works for both XLS and XLSX)
ExcelLoadOptions loadOptions = new ExcelLoadOptions();
// For very large workbooks you can enable streaming mode:
// loadOptions.setLoadAllWorksheets(false);
watermarker = new Watermarker(inputPath, loadOptions);
// Create a text watermark with desired appearance
Font font = new Font("Arial", 36);
TextWatermark watermark = new TextWatermark("CONFIDENTIAL", font);
watermark.setColor(Color.RED);
watermark.setOpacity(0.3); // 30% opacity
watermark.setRotationAngle(45); // diagonal
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
// Apply the watermark to all worksheets
watermarker.add(watermark);
// Save the watermarked workbook
ExcelSaveOptions saveOptions = new ExcelSaveOptions();
watermarker.save(outputPath, saveOptions);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (watermarker != null) {
watermarker.close();
}
}
}
}
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ โปรดตรวจสอบให้แน่ใจว่าได้อัปเดตเส้นทางไฟล์ (
input.xlsx,output_watermarked.xlsx) ให้ตรงกับตำแหน่งไฟล์จริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาทั้งหมดได้ติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดอ้างอิงที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีม สนับสนุน เพื่อขอความช่วยเหลือ.
เตรียมสภาพแวดล้อมให้พร้อม
เพิ่ม Maven Repository และ Dependency
เพิ่ม Conholdate Maven repository และ SDK dependency ไปยังไฟล์ pom.xml ของคุณ:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
คุณยังสามารถดาวน์โหลด JAR ล่าสุดโดยตรงจาก หน้าดาวน์โหลด. SDK ต้องการ Java 8 หรือสูงกว่า และ IDE ที่เข้ากันได้ เช่น IntelliJ IDEA หรือ Eclipse จะทำให้การดีบักง่ายขึ้น.
กำหนดค่าการให้ใบอนุญาต (การใช้งานในสภาพแวดล้อมการผลิต)
ก่อนที่จะเรียกใช้โค้ดลายน้ำในสภาพแวดล้อมการผลิต ให้ใช้ไฟล์ใบอนุญาตของคุณ:
import com.groupdocs.watermark.License;
License license = new License();
license.setLicense("path/to/Conholdate.Total.Java.lic");
ใบอนุญาตชั่วคราวพร้อมให้ใช้สำหรับการประเมินที่ หน้าใบอนุญาตชั่วคราว. สำหรับโครงการระยะยาว ให้ตรวจสอบ หน้าราคากลาง เพื่อเลือกแผนที่เหมาะสม.
สิ่งที่ทำให้ Conholdate.Total for Java เหมาะสำหรับการใส่ลายน้ำใน Excel
การสนับสนุน XLS/XLSX อย่างครอบคลุม
ไลบรารีจัดการทั้งรูปแบบ XLS แบบเก่าและรูปแบบ XLSX สมัยใหม่โดยไม่ต้องแปลงไฟล์, รักษาสูตร, แผนภูมิ, และมาโครไว้
โหมดสตรีมมิ่งที่มีประสิทธิภาพสำหรับสมุดงานขนาดใหญ่
เมื่อทำงานกับสมุดงานที่มีแถวหลายพันแถว ให้เปิดใช้งานการสตรีมโดยตั้งค่า loadOptions.setLoadAllWorksheets(false) ซึ่งจะลดการใช้หน่วยความจำอย่างมาก.
ตัวเลือกการจัดรูปแบบลายน้ำขั้นสูง
คุณสามารถควบคุมแบบอักษร, ขนาด, สี, ความทึบ, มุมการหมุน และการจัดตำแหน่งได้ ตารางด้านล่างสรุปคุณสมบัติที่มักปรับเปลี่ยนบ่อยที่สุด:
| คุณสมบัติ | ค่าตัวอย่าง | ผลกระทบ |
|---|---|---|
| Font | new Font("Arial", 36) | กำหนดสไตล์การแสดงผลของข้อความลายน้ำ |
| Color | Color.RED | ตั้งค่าสีของลายน้ำ; ยอมรับค่า RGB ใดก็ได้ |
| Opacity | 0.3 (30%) | ควบคุมความโปร่งแสง; ค่าที่ต่ำกว่าจะทำให้ลายน้ำรบกวนน้อยลง |
| Rotation Angle | 45 degrees | วางลายน้ำเป็นแนวทแยงเพื่อให้ครอบคลุมได้ดียิ่งขึ้น |
| Horizontal Alignment | HorizontalAlignment.Center | วางลายน้ำในแนวนอน |
| Vertical Alignment | VerticalAlignment.Center | วางลายน้ำในแนวตั้ง |
Automatic Worksheet Coverage
การเรียกใช้เพียงครั้งเดียว watermarker.add(watermark) จะกระจายน้ำลายน้ำไปยังทุกแผ่นงาน ช่วยให้คุณหลีกเลี่ยงการเขียนลูปซ้ำ ๆ
Simple Save Options
ExcelSaveOptions ให้คุณคงรูปแบบไฟล์เดิมหรืออัปเกรดเป็นเวอร์ชัน XLSX ล่าสุด และคุณยังสามารถระบุได้ว่าจะรักษาแมโครไว้หรือไม่
ความสามารถทั้งหมดเหล่านี้ได้รับการอธิบายอย่างละเอียดใน เอกสารอย่างเป็นทางการ.
สรุป
ในบทแนะนำนี้คุณได้เรียนรู้วิธีการแทรกลายน้ำใน Excel ด้วย Java โดยใช้คุณสมบัติที่ทรงพลังของ Conholdate.Total for Java. โดยทำตามคำแนะนำแบบขั้นตอนต่อขั้นตอน คุณสามารถปกป้องสเปรดชีตของคุณด้วยข้อความที่กำหนดเอง ควบคุมลักษณะการแสดงผล และจัดการไฟล์ขนาดใหญ่ได้อย่างมีประสิทธิภาพ. สำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณจะต้องใช้เวอร์ชันที่มีลิขสิทธิ์; สำรวจราคาได้ที่ หน้าราคา และรับใบอนุญาตชั่วคราวจาก หน้าลิขสิทธิ์ชั่วคราว เพื่อประเมิน SDK.
คำถามที่พบบ่อย
วิธีเพิ่มลายน้ำรูปภาพแทนข้อความ?
ใช้คลาสImageWatermarkตั้งค่าความทึบและการจัดตำแหน่ง แล้วเพิ่มเข้าไปในอินสแตนซ์Watermarkerเช่นเดียวกับตัวอย่างข้อความ รูปภาพสามารถเป็น PNG, JPEG, หรือ BMP, และคุณยังสามารถปรับขนาดให้พอดีกับแผ่นงานได้ ดูที่ API reference สำหรับรายละเอียด.จะเห็นลายน้ำหลังจากแปลงเวิร์กบุ๊กเป็น PDF?
ใช่. ลายน้ำถูกฝังไว้ในเวิร์กบุ๊กและจะปรากฏในรูปแบบใดก็ได้ที่คุณแปลงต่อไป เช่น PDF เมื่อใช้ Conholdate.Total for Java. กระบวนการแปลงจะรักษาองค์ประกอบภาพทั้งหมดไว้ รวมถึงลายน้ำด้วย.ฉันสามารถควบคุมลายน้ำในแต่ละแผ่นงานได้หรือไม่?
SDK จะใส่ลายน้ำลงในแผ่นงานทั้งหมดโดยค่าเริ่มต้น แต่คุณสามารถโหลดแผ่นงานแต่ละแผ่นโดยใช้watermarker.getWorksheets().get_Item(index)และเรียกaddบนแต่ละแผ่นตามที่ต้องการ วิธีนี้ให้การควบคุมที่ละเอียดสำหรับรายงานที่ต้องการแบรนด์ที่แตกต่างกันในแต่ละแผ่นฉันต้องการใบอนุญาตสำหรับการพัฒนาและการทดสอบหรือไม่?
มีใบอนุญาตชั่วคราวสำหรับการประเมินผลที่ หน้าลิขสิทธิ์ชั่วคราว. สำหรับการใช้งานเชิงพาณิชย์ ให้ซื้อใบอนุญาตเต็มรูปแบบผ่าน หน้าราคา. ไฟล์ใบอนุญาตต้องถูกโหลดในขณะทำงานตามที่แสดงในส่วน Setup.
