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

  1. Tambahkan Repository Maven dan Dependensi - Sertakan repository Maven Conholdate dan dependensi conholdate-total di file pom.xml Anda. Ini membuat kelas SDK seperti Document, Page, dan Graph tersedia.
    <repositories>
        <repository>
            <id>conholdate-repo</id>
            <name>Conholdate Maven Repository</name>
            <url>https://repository.conholdate.com/repo/</url>
        </repository>
    </repositories>
    
  1. Buat Dokumen PDF dan Halaman - Buat sebuah instance dari Document dan 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();
  1. Buat Objek Bentuk - Buat objek Graph terlebih dahulu, kemudian buat instance persegi panjang, elips, atau garis dan tambahkan ke koleksi bentuknya. Atur posisi, ukuran, dan atribut visual melalui GraphInfo masing-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);
  1. Tambahkan Bentuk ke Halaman - Bentuk individual berada di dalam koleksi shapes objek Graph. Tambahkan objek Graph itu 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);
    
  2. 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.

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 Graph sehingga 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) atau new Ellipse(300, 150, 150, 100).
  • Penempatan Grafik: Objek Graph itu sendiri diposisikan dengan new Graph(width, height) dan ditambahkan ke halaman melalui page.getParagraphs().add(graph).
  • Warna: Gunakan kelas com.aspose.pdf.Color (misalnya Color.getGreen() atau Color.getRed()) dan tetapkan pada shape melalui shape.getGraphInfo().setColor(...).
  • Lebar Garis: Atur dengan shape.getGraphInfo().setLineWidth(...), diukur dalam poin; nilai 1 sama dengan 1/72 inci.
  • Garis: Shape Line dibuat dari array koordinat, misalnya new 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 Graph sebelum 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 Document segera 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.