Manipulasi Tabel di PDF yang Ada
Manipulasi tabel di PDF yang ada
Salah satu fitur paling awal yang didukung oleh Aspose.PDF untuk Java adalah kemampuannya untuk Bekerja dengan Tabel dan menyediakan dukungan yang luar biasa untuk menambahkan tabel dalam file PDF yang dihasilkan dari awal atau file PDF yang sudah ada. You juga mendapatkan kemampuan untuk Mengintegrasikan Tabel dengan Database (DOM) untuk membuat tabel dinamis berdasarkan isi database. Dalam rilis baru ini, kami telah menerapkan fitur baru pencarian dan parsing tabel sederhana yang sudah ada di halaman dokumen PDF. Sebuah kelas baru bernama Aspose.PDF.Text.TableAbsorber menyediakan kemampuan ini. Penggunaan TableAbsorber sangat mirip dengan kelas TextFragmentAbsorber yang ada.
Cuplikan kode berikut menunjukkan langkah-langkah untuk memperbarui konten dalam sel tabel tertentu.
package com.aspose.pdf.examples;
import com.aspose.pdf.*;
public class ExampleManipulate {
private static String _dataDir = "/home/admin1/pdf-examples/Samples/";
public static void ManipulateTables() {
// Muat file PDF yang ada
Document pdfDocument = new Document(_dataDir + "input.pdf");
// Buat objek TableAbsorber untuk menemukan tabel
TableAbsorber absorber = new TableAbsorber();
// Kunjungi halaman pertama dengan absorber
absorber.visit(pdfDocument.getPages().get_Item(1));
// Dapatkan akses ke tabel pertama di halaman, sel pertama mereka dan fragmen teks di dalamnya
TextFragment fragment = absorber.getTableList().get(0).getRowList().get(0).getCellList().get(0)
.getTextFragments().get_Item(1);
// Ubah teks dari fragmen teks pertama di sel
fragment.setText("hi world");
pdfDocument.save(_dataDir + "ManipulateTable_out.pdf");
}
Ganti Tabel Lama dengan yang Baru dalam Dokumen PDF
Jika Anda perlu menemukan tabel tertentu dan menggantinya dengan yang diinginkan, Anda dapat menggunakan metode Replace() dari Kelas TableAbsorber untuk melakukannya.
Contoh berikut menunjukkan fungsionalitas untuk mengganti tabel di dalam dokumen PDF:
public static void ReplaceOldTableWithNew() {
// Muat dokumen PDF yang ada
Document pdfDocument = new Document(_dataDir + "Table_input2.pdf");
// Buat objek TableAbsorber untuk menemukan tabel
TableAbsorber absorber = new TableAbsorber();
Page page = pdfDocument.getPages().get_Item(1);
// Kunjungi halaman pertama dengan absorber
absorber.visit(page);
// Dapatkan tabel pertama di halaman
AbsorbedTable table = absorber.getTableList().get(0);
// Buat tabel baru
Table newTable = new Table();
newTable.setColumnWidths("100 100 100");
newTable.setDefaultCellBorder (new BorderInfo(BorderSide.All, 1F));
Row row = newTable.getRows().add();
row.getCells().add("Kolom 1");
row.getCells().add("Kolom 2");
row.getCells().add("Kolom 3");
// Ganti tabel dengan yang baru
absorber.replace(page, table, newTable);
// Simpan dokumen
pdfDocument.save(_dataDir + "TableReplaced_out.pdf");
}
}