Menambahkan bentuk persegi panjang ke PDF dalam Java

Menambahkan garis tepi persegi panjang

  1. Buat PDF baru Document.
  2. Tambahkan sebuah Page ke dokumen.
  3. Buat sebuah Graph wadah dan tambahkan ke halaman.
  4. Buat Rectangle bentuk dan konfigurasikan geometrinya.
  5. Tambahkan Rectangle ke Graph kontainer.
  6. Simpan PDF output Document.
public static void addRectangle(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        Graph graph = new Graph(400.0, 300.0);
        page.getParagraphs().add(graph);
        graph.setBorder(new BorderInfo(BorderSide.All, Color.getRed()));

        Rectangle rectangle = new Rectangle(20, 20, 350, 250);
        graph.getShapes().addItem(rectangle);

        document.save(outputFile.toString());
    }
}

Mengisi persegi panjang dengan warna solid atau gradien

Contoh persegi panjang meliputi:

  • createRectangleFilled untuk isian padat dengan Color.getRed()
  • addDrawingWithGradientFill untuk sebuah GradientAxialShading isi

Menggunakan transparansi alfa

createRectangleWithAlphaColorChannel menerapkan warna tembus pandang dengan Color.fromArgb(...) sehingga persegi panjang yang tumpang tindih tetap terlihat.

Kontrol urutan z persegi panjang

  1. Buat PDF baru Document.
  2. Tambahkan sebuah Page ke dokumen.
  3. Setel yang diperlukan Page ukuran.
  4. Tambahkan yang dikonfigurasi Rectangle bentuk ke halaman target dengan urutan z yang diperlukan.
  5. Simpan PDF output Document.
public static void controlZOrderOfRectangle(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        page.setPageSize(375, 300);
        page.getPageInfo().getMargin().setLeft(0);
        page.getPageInfo().getMargin().setTop(0);

        addRectangleToPage(page, 50, 40, 60, 40, Color.getRed(), 2);
        addRectangleToPage(page, 20, 20, 30, 30, Color.getBlue(), 1);
        addRectangleToPage(page, 40, 40, 60, 30, Color.getGreen(), 0);

        document.save(outputFile.toString());
    }
}