Pada artikel ini, Anda akan belajar cara membuat file PDF dari awal secara terprogram di Java.

Buat Dokumen PDF menggunakan Java

PDF telah menjadi format file yang umum digunakan untuk membuat berbagai jenis dokumen. Berbagai industri telah mengadopsi otomatisasi PDF untuk pembuatan dokumen seperti kuitansi, faktur, laporan bisnis, dll. Mengawasi skenario seperti itu, artikel ini membahas cara membuat file PDF di Java. Contoh kode akan mendemonstrasikan cara membuat file PDF dari awal dan menyisipkan teks, gambar, tabel, dan elemen lain dalam PDF tersebut di Java.

API Java untuk Membuat PDF - Unduhan Gratis

Aspose.PDF for Java adalah API manipulasi file PDF yang memungkinkan Anda membuat file PDF dari dalam aplikasi Java. Dengan menggunakan API, Anda dapat membuat dokumen PDF yang sederhana maupun kompleks. Aspose.PDF for Java dapat diunduh sebagai JAR atau diinstal dalam aplikasi berbasis Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.11</version>
    <classifier>jdk17</classifier>
</dependency>

Buat File PDF di Jawa

Berikut ini adalah langkah-langkah untuk membuat file PDF sederhana dari awal dan menyisipkan teks di dalamnya.

Contoh kode berikut menunjukkan cara membuat file PDF menggunakan Java.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.PDF-for-Java
// Inisialisasi objek dokumen
Document document = new Document();
 
//Tambah halaman
Page page = document.getPages().add();
 
// Tambahkan teks ke halaman baru
page.getParagraphs().add(new TextFragment("Hello World!"));
 
// Simpan PDF yang diperbarui
document.save("HelloWorld_out.pdf");

Buat File PDF dengan Pemformatan Teks di Java

Sekarang mari kita lihat cara menerapkan pemformatan ke teks dalam dokumen PDF. Pemformatan teks dapat mencakup font, ukuran font, warna, posisi, dan lain-lain. Berikut ini adalah langkah-langkah untuk melakukan operasi ini.

  • Gunakan kelas Document untuk membuat dokumen PDF baru atau memuat yang sudah ada.
  • Akses Halaman tempat Anda ingin meletakkan teks.
  • Buat objek TextFragment untuk mengatur teks dan opsi pemformatan lainnya seperti posisi, font, warna, ukuran, dll.
  • Gunakan kelas TextBuilder untuk menambahkan objek TextFragment ke halaman.
  • Gunakan metode Document.save(String) untuk menyimpan dokumen PDF.

Contoh kode berikut menunjukkan cara membuat file PDF dan menerapkan pemformatan teks menggunakan Java.

// Muat dokumen PDF
Document document = new Document();

// Tambah halaman
Page page = document.getPages().add();

// Buat fragmen teks
TextFragment textFragment = new TextFragment(
		"Text 1: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment.setPosition(new Position(100, 700));
TextFragment textFragment1 = new TextFragment(
		"Text 2: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment1.setPosition(new Position(100, 600));

// Tetapkan properti teks
textFragment.getTextState().setFontSize(12);
textFragment.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment.getTextState().setBackgroundColor(Color.getLightGray());
textFragment.getTextState().setForegroundColor(Color.getRed());

textFragment1.getTextState().setDrawTextRectangleBorder(true);
textFragment1.getTextState().setUnderline(true);
textFragment1.getTextState().setStrikeOut(true);

// Buat warna baru dengan pattern colorspace
Color color = new Color();
color.setPatternColorSpace(new GradientAxialShading(Color.getRed(), Color.getBlue()));		
textFragment1.getTextState().setForegroundColor(color);

// Buat objek TextBuilder
TextBuilder textBuilder = new TextBuilder(page);

// Tambahkan fragmen teks ke halaman PDF
textBuilder.appendText(textFragment);
textBuilder.appendText(textFragment1);

// Simpan dokumen PDF
document.save("Generated-PDF.pdf");

Java Buat File PDF dengan Gambar

Berikut langkah-langkah menyisipkan gambar ke dalam file PDF menggunakan Aspose.PDF for Java.

  • Buat objek Document untuk membuat atau membuka dokumen PDF.
  • Dapatkan halaman yang ingin Anda tambahi gambar di objek Page.
  • Tambahkan gambar ke dalam koleksi Page.getResources().
  • Gunakan operator untuk menempatkan gambar di halaman:
    • GSave operator to save the current graphical state.
    • ConcatenateMatrix operator to specify where the image is to be placed.
    • Mengerjakan operator to draw the image on the page.
    • Terakhir, gunakan operator GRestore untuk menyimpan status grafis yang diperbarui.
  • Simpan file PDF.

Contoh kode berikut menunjukkan cara menyisipkan gambar dalam file PDF di Java.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Buka dokumen
Document pdfDocument1 = new Document("input.pdf");

// Tetapkan koordinat
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Dapatkan halaman tempat Anda ingin menambahkan gambar
Page page = pdfDocument1.getPages().get_Item(1);

// Muat gambar ke aliran
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));

// Tambahkan gambar ke koleksi Gambar sumber daya halaman
page.getResources().getImages().add(imageStream);

// Menggunakan operator GSave: operator ini menyimpan status grafik saat ini
page.getContents().add(new Operator.GSave());

// Buat objek Rectangle dan Matrix
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });

// Menggunakan operator ConcatenateMatrix (concatenate matrix): menentukan bagaimana gambar harus ditempatkan
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());

// Menggunakan operator Do: operator ini menggambar gambar
page.getContents().add(new Operator.Do(ximage.getName()));

// Menggunakan operator GRestore: operator ini memulihkan status grafis
page.getContents().add(new Operator.GRestore());

// Simpan PDF baru
pdfDocument1.save("Updated_document.pdf");

// Tutup aliran gambar
imageStream.close();

Buat Tabel di File PDF di Jawa

Tabel adalah cara yang bagus untuk mengatur data dalam bentuk baris dan kolom. Aspose.PDF memungkinkan Anda memasukkan tabel ke dalam dokumen PDF dengan cukup mudah. Berikut langkah-langkah membuat tabel.

  • Muat file sumber menggunakan kelas Document.
  • Inisialisasi Tabel dan atur kolom dan barisnya.
  • Tetapkan pengaturan tabel (misalnya batas).
  • Isi tabel dengan menambahkan baris ke dalamnya.
  • Tambahkan tabel ke halaman.
  • Simpan file PDF.

Contoh kode berikut menunjukkan cara membuat tabel dalam file PDF di Java.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Muat dokumen PDF sumber
Document doc = new Document(dataDir + "input.pdf");
// Menginisialisasi instance baru dari Tabel
Table table = new Table();
// Atur warna batas tabel sebagai LightGray
table.setBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// atur batas untuk sel tabel
table.setDefaultCellBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// buat satu lingkaran untuk menambahkan 10 baris
for (int row_count = 1; row_count < 10; row_count++) {
	// menambahkan baris ke tabel
	Row row = table.getRows().add();
	// menambahkan sel tabel
	row.getCells().add("Column (" + row_count + ", 1)");
	row.getCells().add("Column (" + row_count + ", 2)");
	row.getCells().add("Column (" + row_count + ", 3)");
}
// Tambahkan objek tabel ke halaman pertama dokumen input
doc.getPages().get_Item(1).getParagraphs().add(table);
// Simpan dokumen yang diperbarui yang berisi objek tabel
doc.save(dataDir + "document_with_table.pdf");

Buat Formulir dalam File PDF di Jawa

Format PDF juga mendukung penambahan formulir untuk mengumpulkan input dari pengguna. Formulir dapat berisi berbagai jenis bidang seperti kotak teks, tombol radio, dll. Langkah-langkah berikut menunjukkan cara menyisipkan formulir sederhana di file PDF.

Contoh kode berikut menunjukkan cara membuat formulir dalam file PDF di Java.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Buka dokumen
Document pdfDocument = new Document("input.pdf");

// Buat bidang
TextBoxField textBoxField1 = new TextBoxField(pdfDocument.getPages().get_Item(1), new Rectangle(100, 200, 300, 300));

// Tetapkan nama bidang
textBoxField1.setPartialName("textbox1");

// Tetapkan nilai bidang
textBoxField1.setValue("Text Box");

// Buat objek perbatasan
Border border = new Border(textBoxField1);

// Mengatur lebar perbatasan
border.setWidth(5);

// Setel gaya tanda hubung perbatasan
border.setDash(new Dash(1, 1));

// Atur batas bidang
textBoxField1.setBorder(border);

// Tambahkan bidang ke dokumen
pdfDocument.getForm().add(textBoxField1, 1);

// Simpan PDF yang dimodifikasi
pdfDocument.save("output.pdf");

Baca selengkapnya tentang kolom formulir menggunakan di sini.

Sisipkan Bookmark di File PDF di Jawa

Berikut langkah-langkah menambahkan bookmark pada file PDF.

  • Buka dokumen PDF menggunakan objek Document.
  • Menambahkan kerangka dokumen ke koleksi OutlineItemCollection.
  • Tetapkan nomor halaman tujuan.
  • Tambahkan bookmark di koleksi kerangka dokumen.
  • Simpan file PDF.

Contoh kode berikut menunjukkan cara menyisipkan bookmark di PDF menggunakan Java.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Buka dokumen PDF sumber
Document pdfDocument = new Document("input.pdf");

// Buat objek bookmark
OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.getOutlines());
pdfOutline.setTitle("Test Outline");
pdfOutline.setItalic(true);
pdfOutline.setBold(true);

// Tetapkan nomor halaman tujuan
pdfOutline.setAction(new GoToAction(pdfDocument.getPages().get_Item(1)));

// Tambahkan bookmark di koleksi kerangka dokumen.
pdfDocument.getOutlines().add(pdfOutline);

// Simpan dokumen pembaruan
pdfDocument.save("output.pdf");

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba API tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat file PDF dari awal di Java. Selain itu, contoh kode Java telah mendemonstrasikan cara menyisipkan teks, gambar, tabel, formulir, dan bookmark dalam file PDF baru atau yang sudah ada. Anda dapat mempelajari lebih lanjut tentang Java PDF API menggunakan dokumentasi.

Lihat juga