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, 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 PdfDocument dan ShapeFactory tersedia.
    <repositories>
        <repository>
            <id>conholdate-repo</id>
            <name>Conholdate Maven Repository</name>
            <url>https://repository.conholdate.com/repo/</url>
        </repository>
    </repositories>
    
  1. Muat Dokumen PDF - Buat sebuah instance dari PdfDocument dan buka file PDF target. Kelas ini didokumentasikan dalam referensi API.
PdfDocument pdf = new PdfDocument();
pdf.open("input.pdf");
  1. Buat Objek Bentuk - Gunakan ShapeFactory untuk menginstansiasi persegi panjang, elips, atau garis. Atur posisi, ukuran, dan atribut visual.
    // Rectangle
    Shape rect = ShapeFactory.createRectangle(100, 150, 200, 100);
    rect.setFillColor(Color.BLUE);
    rect.setStrokeColor(Color.BLACK);
    rect.setLineWidth(2);
    

// Ellipse Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100); ellipse.setFillColor(Color.GREEN); ellipse.setStrokeColor(Color.DARK_GRAY); ellipse.setLineWidth(1.5f);

// Line
   Shape line = ShapeFactory.createLine(100, 300, 500, 300);
   line.setStrokeColor(Color.RED);
   line.setLineWidth(3);
  1. Tambahkan Bentuk ke Halaman - Dapatkan halaman yang diinginkan dari dokumen dan tambahkan setiap bentuk ke koleksi grafiknya.

    Page page = pdf.getPages().get_Item(0); // first page
    page.getGraphics().addShape(rect);
    page.getGraphics().addShape(ellipse);
    page.getGraphics().addShape(line);
    
  2. Simpan PDF yang Diperbarui - Setelah semua bentuk ditambahkan, simpan dokumen ke file baru.

pdf.save("output.pdf");
pdf.close();

Menambahkan Bentuk ke PDF dalam Java - Contoh Kode Lengkap

Contoh berikut menggabungkan semua langkah menjadi satu program yang siap dijalankan.

import com.conholdate.total.pdf.*;
import com.conholdate.total.pdf.shapes.*;
import java.awt.Color;

public class AddShapesDemo { public static void main(String[] args) throws Exception { // Initialize PDF document PdfDocument pdf = new PdfDocument(); pdf.open(“input.pdf”);

// Create rectangle Shape rectangle = ShapeFactory.createRectangle(100, 150, 200, 100); rectangle.setFillColor(Color.BLUE); rectangle.setStrokeColor(Color.BLACK); rectangle.setLineWidth(2);

// Buat elips Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100); ellipse.setFillColor(Color.GREEN); ellipse.setStrokeColor(Color.DARK_GRAY); ellipse.setLineWidth(1.5f);

// Buat garis
Shape line = ShapeFactory.createLine(100, 300, 500, 300);
line.setStrokeColor(Color.RED);
line.setLineWidth(3);
// Tambahkan bentuk ke halaman pertama
Page page = pdf.getPages().get_Item(0);
page.getGraphics().addShape(rectangle);
page.getGraphics().addShape(ellipse);
page.getGraphics().addShape(line);
// Save the result
        pdf.save("output.pdf");
        pdf.close();
    }
}

Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file (input.pdf, output.pdf) agar sesuai dengan lokasi file Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan lakukan pengujian secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.

Installation and Setup in Java

Untuk mulai menggunakan Conholdate.Total for Java, unduh rilis terbaru dari situs resmi dan tambahkan dependensi Maven yang ditunjukkan sebelumnya. SDK berfungsi pada runtime Java 8+ apa pun dan tidak memerlukan pustaka native tambahan.

Fitur Utama dan Ikhtisar

Tambahkan Bentuk ke PDF di Java dengan Conholdate.Total

Conholdate.Total for Java menyediakan API terpadu untuk membuat dan mengedit konten PDF. Fungsionalitas shape‑drawing bekerja dengan grafik vektor, memastikan elemen yang ditambahkan tetap tajam pada tingkat zoom apa pun. Anda dapat menggambar primitif dasar (persegi panjang, elips, garis) serta jalur kompleks.

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 isi, warna garis, lebar garis, opasitas, dan mode blend.
  • Grafik berlapis: Tambahkan bentuk ke lapisan atau grup tertentu untuk memudahkan manipulasi selanjutnya.

Mengonfigurasi Properti Bentuk untuk Rendering Optimal

Saat menambahkan bentuk, pertimbangkan properti berikut untuk mencapai hasil visual yang diinginkan:

  • Posisi dan Ukuran: Gunakan koordinat absolut (poin) atau persentase relatif terhadap ukuran halaman.
  • Warna: SDK menerima objek java.awt.Color. Untuk transparansi, gunakan new Color(r, g, b, alpha).
  • Lebar Garis: Diukur dalam poin; nilai 1 sama dengan 1/72 inci.
  • Opasitas dan Mode Campuran: Sesuaikan dengan setOpacity(float) dan setBlendMode(BlendMode).
  • Rotasi dan Skew: Terapkan transformasi melalui setRotation(double) atau setSkew(double, double) untuk tata letak lanjutan.

Contoh mengatur properti lanjutan:

ellipse.setOpacity(0.7f);
ellipse.setBlendMode(BlendMode.MULTIPLY);
ellipse.setRotation(45);

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 ke dalam satu kontainer grafis sebelum menambahkannya ke halaman.
  • Reuse Objects: Jika Anda memerlukan bentuk identik pada beberapa halaman, kloning bentuk yang ada alih-alih membuat instance baru.
  • Avoid Over‑Scaling: Tentukan bentuk pada ukuran tampilan akhir untuk mencegah konversi raster yang mahal.
  • Dispose Resources: Tutup PdfDocument dengan cepat untuk membebaskan sumber daya native.

Kesimpulan

Conholdate.Total for Java memberikan pengembang Java cara yang sederhana 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

Bagaimana cara menambahkan font khusus ke bentuk dalam PDF?
Anda dapat menyematkan font TrueType menggunakan pdf.getFonts().addFont("MyFont.ttf") dan kemudian menetapkannya ke sebuah shape melalui setFont(myFont). SDK memastikan font tersebut disematkan dalam PDF akhir.

Apakah memungkinkan untuk menyisipkan bentuk ke dalam PDF yang ada tanpa kehilangan konten yang sudah ada?
Ya. Membuka PDF dengan PdfDocument.open() mempertahankan semua halaman dan objek yang ada. Menambahkan bentuk ke koleksi grafik halaman hanya menambah halaman; tidak menimpa konten yang sudah ada.

Format file apa yang dapat saya ekspor setelah menambahkan bentuk?
Conholdate.Total for Java mendukung penyimpanan ke PDF, PDF/A, PDF/X, serta ke format gambar seperti PNG, JPEG, dan BMP. Gunakan pdf.save("output.pdf") atau pdf.save("output.png", ImageSaveOptions.Png) sesuai kebutuhan.