การเพิ่มกราฟิกเวกเตอร์ลงในไฟล์ PDF เป็นความต้องการทั่วไปสำหรับการสร้างรายงาน ใบแจ้งหนี้ และเอกสารเชิงโต้ตอบ Conholdate.Total for Java เป็น SDK ที่ทรงพลังซึ่งทำให้การจัดการ PDF บนเซิร์ฟเวอร์ง่ายขึ้น ในคู่มือนี้คุณจะได้เรียนรู้วิธีแทรกสี่เหลี่ยม, วงรี, และเส้นลงใน PDF โดยใช้วัตถุ Graph ปรับแต่งลักษณะของมัน และจัดการข้อพิจารณาด้านประสิทธิภาพ ทั้งหมดนี้มาพร้อมตัวอย่างโค้ด Java ที่ชัดเจน
ขั้นตอนการเพิ่มรูปร่างลงใน PDF ด้วย Java
- เพิ่ม Maven Repository และ Dependency - รวม Conholdate Maven repository และ dependency
conholdate-totalในไฟล์pom.xmlของคุณ ซึ่งทำให้คลาสของ SDK เช่นDocument,PageและGraphพร้อมใช้งาน.<repositories> <repository> <id>conholdate-repo</id> <name>Conholdate Maven Repository</name> <url>https://repository.conholdate.com/repo/</url> </repository> </repositories>
- สร้างเอกสาร PDF และหน้า - สร้างอินสแตนซ์ของ
Documentและเพิ่มหน้าไปยังคอลเลกชันของหน้า. คลาสนี้ได้รับการอธิบายใน เอกสารอ้างอิง API.
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
- สร้างวัตถุ Shape - สร้างอ็อบเจ็กต์
Graphก่อน แล้วจึงสร้างสี่เหลี่ยม, วงรี หรือเส้นและเพิ่มลงในคอลเลกชัน shapes ของมัน ตั้งค่าตำแหน่ง, ขนาด และคุณลักษณะการแสดงผลผ่านGraphInfoของแต่ละ shape.
// Create Graph instance
com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);
// Rectangle
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
graph.getShapes().add(rect);
// Ellipse
com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
graph.getShapes().add(ellipse);
// Line
com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
line.getGraphInfo().setLineWidth(3);
graph.getShapes().add(line);
เพิ่มรูปร่างลงในหน้า - รูปร่างแต่ละอันอยู่ภายในคอลเลกชัน shapes ของอ็อบเจ็กต์
Graph. เพิ่มGraphเองลงในคอลเลกชัน paragraphs ของหน้าเพื่อให้รูปร่างทั้งหมดที่มันบรรจุแสดงผลบนหน้านั้น.// Add graph object to paragraphs collection of page instance page.getParagraphs().add(graph);บันทึก PDF ที่อัปเดต - หลังจากที่กราฟ (พร้อมกับรูปทรงทั้งหมด) ถูกเพิ่มลงในหน้าแล้ว ให้บันทึกเอกสารเป็นไฟล์ใหม่.
// Save PDF file doc.save("Shapes.pdf");
การเพิ่มรูปร่างลงใน PDF ด้วย Java - ตัวอย่างโค้ดเต็ม
ตัวอย่างต่อไปนี้รวมขั้นตอนทั้งหมดไว้ในโปรแกรมเดียวที่พร้อมทำงาน
import com.aspose.pdf.Document;
import com.aspose.pdf.Color;
public class AddShapesDemo {
public static void main(String[] args) throws Exception {
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
// Create Graph instance
com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);
// Create Rectangle instance
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
// Add rectangle object to shapes collection of Graph object
graph.getShapes().add(rect);
// Create ellipse
com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
// Add ellipse object to shapes collection of Graph object
graph.getShapes().add(ellipse);
// Create line
com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
line.getGraphInfo().setLineWidth(3);
// Add line object to shapes collection of Graph object
graph.getShapes().add(line);
// Add graph object to paragraphs collection of page instance
page.getParagraphs().add(graph);
// Save PDF file
doc.save("Shapes.pdf");
}
}
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลักของฟังก์ชัน ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์ผลลัพธ์ (
Shapes.pdf) ให้ตรงกับตำแหน่งเป้าหมายจริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาทั้งหมดได้ติดตั้งอย่างถูกต้องแล้ว และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนาของคุณ หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีม สนับสนุน เพื่อขอความช่วยเหลือ
การติดตั้งและตั้งค่าใน Java
เพื่อเริ่มใช้ Conholdate.Total for Java ให้ดาวน์โหลดรุ่นล่าสุดจากเว็บไซต์ทางการและเพิ่มการพึ่งพา Maven ที่แสดงไว้ก่อนหน้านี้ SDK ทำงานบน runtime ของ Java 8+ ใดก็ได้และไม่ต้องการไลบรารีเนทีฟเพิ่มเติม
- URL ดาวน์โหลด: Conholdate.Total for Java Release
- เอกสาร: คำแนะนำการใช้งานโดยละเอียดพร้อมให้บริการใน เอกสารอย่างเป็นทางการ.
- ใบอนุญาต: รับใบอนุญาตชั่วคราวจาก หน้าใบอนุญาตชั่วคราว หรือดูราคาทั้งหมดใน หน้าแสดงราคา.
คุณลักษณะหลักและภาพรวม
เพิ่มรูปทรงลงใน PDF ด้วย Java และ Conholdate.Total
Conholdate.Total for Java ให้ API ที่เป็นเอกภาพสำหรับการสร้างและแก้ไขเนื้อหา PDF. ฟังก์ชันการวาดรูปทรงทำงานกับกราฟิกเวกเตอร์ผ่านอ็อบเจ็กต์ Graph และคอลเลกชันของรูปทรง, ทำให้แน่ใจว่ารายการที่เพิ่มเข้ามายังคมชัดเจนที่ระดับการซูมใด ๆ. คุณสามารถวาดรูปทรงพื้นฐาน (สี่เหลี่ยม, วงรี, เส้น) และรวมหลายรูปทรงเข้าด้วยกันใน Graph เดียวก่อนวางลงบนหน้า.
คุณสมบัติของ Conholdate.Total ที่สำคัญสำหรับงานนี้
- ความเข้ากันได้ข้ามแพลตฟอร์ม: ทำงานบนเซิร์ฟเวอร์ Windows, Linux และ macOS.
- การเรนเดอร์ประสิทธิภาพสูง: รูปทรงจะถูกเรนเดอร์โดยใช้เอนจินเดียวกับที่สร้างเนื้อหา PDF แบบเนทีฟ, หลีกเลี่ยงการแปลงเป็นภาพราสเตอร์.
- การควบคุมลักษณะการแสดงผลอย่างเต็มที่: ตั้งค่าสีเส้นและความกว้างของเส้นสำหรับแต่ละรูปทรงผ่านอ็อบเจ็กต์
GraphInfo. - กราฟิกที่จัดกลุ่ม: เพิ่มหลายรูปทรงลงในอ็อบเจ็กต์
Graphเดียวเพื่อให้สามารถจัดตำแหน่งและจัดการร่วมกันบนหน้าได้.
กำหนดค่าคุณสมบัติของรูปร่างเพื่อการเรนเดอร์ที่เหมาะสมที่สุด
เมื่อเพิ่มรูปร่าง ให้พิจารณาคุณสมบัติดังต่อไปนี้เพื่อให้ได้ผลลัพธ์ภาพที่ต้องการ
- ตำแหน่งและขนาด: ตัวสร้าง Shape รับพิกัดและขนาดเป็นจุด (points) เช่น
new Rectangle(100, 100, 170, 120)หรือnew Ellipse(300, 150, 150, 100). - การวางกราฟ: วัตถุ
Graphเองจะถูกกำหนดตำแหน่งด้วยnew Graph(width, height)และเพิ่มลงในหน้าโดยใช้page.getParagraphs().add(graph). - สี: ใช้คลาส
com.aspose.pdf.Color(เช่นColor.getGreen()หรือColor.getRed()) และตั้งค่าสีให้กับ shape ผ่านshape.getGraphInfo().setColor(...). - ความกว้างของเส้น: ตั้งค่าด้วย
shape.getGraphInfo().setLineWidth(...)วัดเป็นจุด; ค่า1เท่ากับ 1/72 นิ้ว. - เส้น: shape ประเภท
Lineถูกสร้างจากอาร์เรย์ของพิกัด เช่นnew Line(new float[]{100, 300, 400, 300})ซึ่งแสดงจุดเริ่มต้นและจุดสิ้นสุดของเส้น.
ตัวอย่างการตั้งค่าลักษณะของรูปทรง:
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
การพิจารณาด้านประสิทธิภาพเมื่อเพิ่มรูปร่างลงใน PDF
การเพิ่มวัตถุเวกเตอร์จำนวนมากอาจทำให้เวลาในการประมวลผลและการใช้หน่วยความจำเพิ่มขึ้น โปรดปฏิบัติตามแนวทางต่อไปนี้:
- Batch Drawing: จัดกลุ่มรูปร่างที่เกี่ยวข้องเป็นอ็อบเจ็กต์
Graphเดียวก่อนเพิ่มกราฟนั้นลงในหน้า. - Reuse Objects: หากคุณต้องการรูปร่างที่เหมือนกันในหลายหน้า ให้ใช้ตรรกะการกำหนดค่ารูปร่างซ้ำแทนการทำซ้ำ.
- Avoid Over‑Scaling: กำหนดรูปร่างที่ขนาดการแสดงผลสุดท้ายเพื่อป้องกันการแปลงเป็นราสเตอร์ที่มีค่าใช้จ่ายสูง.
- Dispose Resources: บันทึกและปล่อย
Documentอย่างทันท่วงทีเมื่อเพิ่มรูปร่างทั้งหมดแล้ว.
สรุป
Conholdate.Total for Java ให้วิธีที่ง่ายสำหรับนักพัฒนา Java ในการเพิ่มรูปทรงลงในเอกสาร PDF ทำให้สามารถสร้างรายงานและใบแจ้งหนี้ที่มีความหลากหลายและโต้ตอบได้โดยง่าย โดยการทำตามขั้นตอน เคล็ดลับการกำหนดค่า และแนวทางประสิทธิภาพในคู่มือนี้ คุณสามารถรวมกราฟิกเวกเตอร์เข้าในกระบวนการทำงาน PDF ของคุณได้อย่างมั่นใจ จำไว้ว่าให้จัดหาลิขสิทธิ์ที่เหมาะสมสำหรับการใช้งานในสภาพแวดล้อมการผลิต; มีลิขสิทธิ์ชั่วคราวสำหรับการประเมินผล และรายละเอียดราคาเต็มจะปรากฏบน หน้าราคา.
คำถามที่พบบ่อย
ฉันจำเป็นต้องสร้างอ็อบเจกต์ Graph สำหรับแต่ละรูปทรงหรือไม่?
ไม่. อ็อบเจกต์ Graph เดียวสามารถเก็บหลายรูปทรงได้ — สามารถเพิ่มสี่เหลี่ยม, รูปวงรี, และเส้นต่าง ๆ ลงในคอลเลกชันรูปทรงของกราฟเดียวกันก่อนที่กราฟจะถูกเพิ่มลงในหน้า.
สามารถเพิ่มรูปร่างลงในหน้าที่เฉพาะของ PDF ที่มีหลายหน้าได้หรือไม่?
ใช่. ดึงหน้าที่ต้องการจาก doc.getPages() และเรียก page.getParagraphs().add(graph) บนอินสแตนซ์ Page นั้น
รูปแบบไฟล์ใดที่ฉันสามารถส่งออกได้หลังจากเพิ่มรูปทรง?
เมธอด Document.save() ของ Conholdate.Total for Java สามารถเขียนเป็น PDF รวมถึงรูปแบบอื่น ๆ ที่ SDK รองรับ ใช้ doc.save("Shapes.pdf") เพื่อบันทึกผลลัพธ์เป็นไฟล์ PDF มาตรฐาน
