Menambahkan grafik vektor ke file PDF adalah kebutuhan umum untuk menghasilkan laporan, faktur, dan dokumen interaktif. Conholdate.Total for Java adalah SDK yang kuat yang menyederhanakan manipulasi PDF di sisi server. Dalam panduan ini Anda akan belajar cara menyisipkan persegi panjang, elips, dan garis ke dalam PDF menggunakan objek Graph, mengonfigurasi penampilannya, dan menangani pertimbangan kinerja, semuanya dengan contoh kode Java yang jelas.
Langkah-langkah Menambahkan Bentuk ke PDF di Java
- Tambahkan Repository Maven dan Dependensi - Sertakan repository Maven Conholdate dan dependensi
conholdate-totaldi filepom.xmlAnda. Ini membuat kelas SDK sepertiDocument,Page, danGraphtersedia.<repositories> <repository> <id>conholdate-repo</id> <name>Conholdate Maven Repository</name> <url>https://repository.conholdate.com/repo/</url> </repository> </repositories>
- Buat Dokumen PDF dan Halaman - Buat sebuah instance dari
Documentdan tambahkan sebuah halaman ke koleksi halaman‑nya. Kelas ini didokumentasikan dalam referensi API.
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
- Buat Objek Bentuk - Buat objek
Graphterlebih dahulu, kemudian buat instance persegi panjang, elips, atau garis dan tambahkan ke koleksi bentuknya. Atur posisi, ukuran, dan atribut visual melaluiGraphInfomasing-masing bentuk.
// 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);
Tambahkan Bentuk ke Halaman - Bentuk individual berada di dalam koleksi shapes objek
Graph. Tambahkan objekGraphitu sendiri ke koleksi paragraf halaman sehingga semua bentuk yang dikandungnya ditampilkan pada halaman tersebut.// Add graph object to paragraphs collection of page instance page.getParagraphs().add(graph);Simpan PDF yang Diperbarui - Setelah grafik (dengan semua bentuknya) ditambahkan ke halaman, simpan dokumen ke file baru.
// Save PDF file
doc.save("Shapes.pdf");
Menambahkan Bentuk ke PDF dalam Java - Contoh Kode Lengkap
Contoh berikut menggabungkan semua langkah menjadi satu program yang siap dijalankan.
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");
}
}
Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file output (
Shapes.pdf) agar sesuai dengan lokasi target Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda mengalami masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.
Instalasi dan Penyiapan di Java
Untuk mulai menggunakan Conholdate.Total for Java, unduh rilis terbaru dari situs resmi dan tambahkan dependensi Maven yang ditunjukkan sebelumnya. SDK bekerja pada runtime Java 8+ apa pun dan tidak memerlukan perpustakaan native tambahan.
- URL Unduhan: Conholdate.Total for Java Release
- Dokumentasi: Petunjuk penggunaan terperinci tersedia di dokumentasi resmi.
- Lisensi: Dapatkan lisensi sementara dari halaman lisensi sementara atau lihat harga lengkap pada halaman harga.
Fitur Utama dan Ikhtisar
Menambahkan Bentuk ke PDF di Java dengan Conholdate.Total
Conholdate.Total for Java menyediakan API terpadu untuk membuat dan mengedit konten PDF. Fungsi menggambar bentuk bekerja dengan grafik vektor melalui objek Graph dan koleksi bentuknya, memastikan elemen yang ditambahkan tetap tajam pada tingkat zoom apa pun. Anda dapat menggambar primitif dasar (persegi panjang, elips, garis) dan menggabungkan beberapa di antaranya dalam satu Graph sebelum menempatkannya pada halaman.
Fitur Conholdate.Total yang Penting untuk Tugas Ini
- Kompatibilitas lintas‑platform: Berfungsi pada server Windows, Linux, dan macOS.
- Rendering berkinerja tinggi: Bentuk-bentuk dirender menggunakan mesin yang sama yang menghasilkan konten PDF asli, menghindari rasterisasi.
- Kontrol penuh atas tampilan: Atur warna garis dan lebar garis untuk setiap bentuk melalui objek
GraphInfo‑nya. - Grafik terkelompok: Tambahkan beberapa bentuk ke satu objek
Graphsehingga dapat diposisikan dan dikelola bersama pada halaman.
Mengonfigurasi Properti Bentuk untuk Rendering Optimal
Saat menambahkan bentuk, pertimbangkan properti berikut untuk mencapai hasil visual yang diinginkan:
- Posisi dan Ukuran: Konstruktor Shape mengambil koordinat dan dimensi dalam poin, misalnya
new Rectangle(100, 100, 170, 120)ataunew Ellipse(300, 150, 150, 100). - Penempatan Grafik: Objek
Graphitu sendiri diposisikan dengannew Graph(width, height)dan ditambahkan ke halaman melaluipage.getParagraphs().add(graph). - Warna: Gunakan kelas
com.aspose.pdf.Color(misalnyaColor.getGreen()atauColor.getRed()) dan tetapkan pada shape melaluishape.getGraphInfo().setColor(...). - Lebar Garis: Atur dengan
shape.getGraphInfo().setLineWidth(...), diukur dalam poin; nilai1sama dengan 1/72 inci. - Garis: Shape
Linedibuat dari array koordinat, misalnyanew Line(new float[]{100, 300, 400, 300}), yang mewakili titik awal dan akhir garis.
Contoh mengatur tampilan bentuk:
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
Pertimbangan Kinerja Saat Menambahkan Bentuk ke PDF
Menambahkan banyak objek vektor dapat meningkatkan waktu pemrosesan dan penggunaan memori. Ikuti pedoman berikut:
- Batch Drawing: Kelompokkan bentuk terkait menjadi satu objek
Graphsebelum menambahkan grafik tersebut ke halaman. - Reuse Objects: Jika Anda memerlukan bentuk identik pada beberapa halaman, gunakan kembali logika konfigurasi bentuk alih-alih menduplikasinya.
- Avoid Over‑Scaling: Tentukan bentuk pada ukuran tampilan akhir untuk mencegah konversi raster yang mahal.
- Dispose Resources: Simpan dan lepaskan
Documentsegera setelah semua bentuk ditambahkan.
Kesimpulan
Conholdate.Total for Java memberikan cara yang sederhana bagi pengembang Java untuk menambahkan bentuk ke dokumen PDF, memungkinkan pembuatan laporan dan faktur yang kaya serta interaktif. Dengan mengikuti langkah-langkah, tip konfigurasi, dan panduan kinerja dalam panduan ini, Anda dapat mengintegrasikan grafik vektor ke dalam alur kerja PDF Anda dengan percaya diri. Ingatlah untuk mengamankan lisensi yang tepat untuk penggunaan produksi; lisensi sementara tersedia untuk evaluasi, dan detail harga lengkap tercantum di halaman harga.
FAQ
Apakah saya perlu membuat objek Graph untuk setiap bentuk?
Tidak. Satu objek Graph dapat menampung banyak bentuk — persegi panjang, elips, dan garis semuanya dapat ditambahkan ke koleksi bentuk graph yang sama sebelum graph ditambahkan ke halaman.
Apakah memungkinkan menambahkan bentuk ke halaman tertentu dari PDF multi‑halaman?
Ya. Dapatkan halaman target dari doc.getPages() dan panggil page.getParagraphs().add(graph) pada instance Page tersebut.
Format file apa yang dapat saya ekspor setelah menambahkan bentuk?
Conholdate.Total for Java’s Document.save() method dapat menulis ke PDF serta format lain yang didukung oleh SDK. Gunakan doc.save("Shapes.pdf") untuk menyimpan hasil sebagai file PDF standar.
