Dalam berbagai kasus, Anda mungkin perlu mencari dan mengganti bagian teks tertentu dalam dokumen PDF. Namun, mencari dan memperbarui setiap kejadian secara manual dapat menghabiskan waktu dan tenaga ekstra. Untuk kasus seperti itu, opsi temukan dan ganti membuat hidup Anda lebih mudah. Pada artikel ini, Anda akan mempelajari cara menemukan dan mengganti teks dalam dokumen PDF menggunakan Java.
- Java API untuk Menemukan dan Mengganti Teks dalam PDF
- Temukan dan Ganti Teks dalam PDF menggunakan Java
- Ganti Teks pada Halaman Tertentu di PDF
- Ganti Teks menggunakan Ekspresi Reguler
API Java untuk Menemukan dan Mengganti Teks dalam PDF - Unduhan Gratis
Aspose.PDF for Java dirancang untuk menghasilkan dan memanipulasi file PDF dari dalam aplikasi Java. API menyediakan berbagai fitur manipulasi PDF dasar dan lanjutan termasuk menemukan dan mengganti teks. Anda dapat mengunduh API atau menginstalnya menggunakan konfigurasi Maven berikut.
<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>21.1</version>
</dependency>
Temukan dan Ganti Teks dalam PDF menggunakan Java
Untuk mengganti teks tertentu dalam PDF, pertama-tama Anda akan mendapatkan semua fragmen teks yang cocok dengan string pencarian. Setelah Anda memilikinya, cukup ganti setiap fragmen dengan teks yang diperbarui satu per satu.
Berikut langkah-langkah mencari dan mengganti teks pada file PDF menggunakan Java.
- Muat file PDF menggunakan kelas Document.
- Buat objek kelas TextFragmentAbsorber dan inisialisasi dengan teks yang ingin Anda temukan dan ganti.
- Terima penyerap untuk halaman dalam PDF menggunakan metode Document.getPages().accept(TextFragmentAbsorber).
- Dapatkan semua kemunculan teks yang dikembalikan oleh TextFragmentAbsorber.getTextFragments() ke dalam objek TextFragmentCollection.
- Ulangi setiap TextFragment di objek TextFragmentCollection dan ganti teks menggunakan metode TextFragment.setText(String).
- Simpan file PDF yang diperbarui menggunakan metode Document.save(String).
Contoh kode berikut menunjukkan cara menemukan dan mengganti teks dalam PDF.
// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Buka dokumen
Document pdfDocument = new Document("source.pdf");
// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");
// Terima penyerap untuk semua halaman dokumen
pdfDocument.getPages().accept(textFragmentAbsorber);
// Dapatkan fragmen teks yang diekstrak ke dalam koleksi
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();
// Ulangi fragmen
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
// Perbarui teks dan properti lainnya
textFragment.setText("New Pharase");
textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
textFragment.getTextState().setFontSize(22);
textFragment.getTextState().setForegroundColor(Color.getBlue());
textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Simpan file PDF yang diperbarui
pdfDocument.save("Updated_Text.pdf");
Cari dan Ganti Teks pada Halaman Tertentu di PDF
Alih-alih menemukan dan mengganti teks di seluruh PDF, Anda dapat menentukan satu halaman tempat Anda ingin mengganti kemunculan teks. Dalam hal ini, Anda akan menerima TextFragmentAbsorber untuk halaman tertentu hanya dengan menentukan indeks halaman.
Berikut ini adalah langkah-langkah untuk mencari dan mengganti teks pada halaman tertentu di PDF di Java.
- Muat file PDF menggunakan kelas Document.
- Buat objek kelas TextFragmentAbsorber dan inisialisasi dengan teks yang ingin Anda temukan dan ganti.
- Terima penyerap untuk halaman tertentu dalam PDF menggunakan metode Document.getPages().getItem(Int pageIndex).accept(TextFragmentAbsorber).
- Dapatkan semua kemunculan teks yang dikembalikan oleh TextFragmentAbsorber.getTextFragments() ke objek TextFragmentCollection.
- Ulangi setiap TextFragment di objek TextFragmentCollection dan ganti teks menggunakan metode TextFragment.setText(String).
- Simpan file PDF yang diperbarui menggunakan metode Document.save(String).
Contoh kode berikut menunjukkan cara menemukan dan mengganti teks pada halaman tertentu di PDF menggunakan Java.
// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Buka dokumen
Document pdfDocument = new Document("source.pdf");
// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");
// Terima penyerap untuk halaman pertama dokumen
pdfDocument.getPages().get_Item(0).accept(textFragmentAbsorber);
// Dapatkan fragmen teks yang diekstrak ke dalam koleksi
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();
// Ulangi fragmen
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
// Perbarui teks dan properti lainnya
textFragment.setText("New Pharase");
textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
textFragment.getTextState().setFontSize(22);
textFragment.getTextState().setForegroundColor(Color.getBlue());
textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Simpan file PDF yang diperbarui
pdfDocument.save("Updated_Text.pdf");
Temukan dan Ganti Teks menggunakan Ekspresi Reguler dalam PDF
Anda juga dapat menentukan ekspresi reguler untuk mencari teks yang cocok dengan pola tertentu seperti email, SSN, dll. Berikut adalah langkah-langkah untuk menentukan dan menggunakan ekspresi reguler untuk mencari dan mengganti teks dalam PDF menggunakan Java.
- Muat file PDF menggunakan kelas Document.
- Buat objek kelas TextFragmentAbsorber dan inisialisasi dengan ekspresi reguler yang ingin Anda gunakan.
- Buat objek kelas TextSearchOptions dan inisialisasi dengan true untuk mengaktifkan pencarian berbasis ekspresi reguler.
- Setel opsi menggunakan metode TextFragmentAbsorber.setTextSearchOptions(TextSearchOptions).
- Terima penyerap untuk halaman dalam PDF menggunakan metode Document.getPages().accept(TextFragmentAbsorber).
- Dapatkan semua kemunculan teks yang ditemukan yang dikembalikan oleh TextFragmentAbsorber.getTextFragments() ke objek TextFragmentCollection.
- Ulangi setiap TextFragment di objek TextFragmentCollection dan ganti teks menggunakan metode TextFragment.setText(String).
- Simpan file PDF yang diperbarui menggunakan metode Document.save(String).
Contoh kode berikut menunjukkan cara menemukan dan mengganti teks dalam PDF menggunakan ekspresi reguler.
// 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 objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000
// Setel opsi pencarian teks untuk mengaktifkan penggunaan ekspresi reguler
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);
// Terima penyerap untuk semua halaman dokumen
pdfDocument.getPages().accept(textFragmentAbsorber);
// Dapatkan fragmen teks yang diekstrak ke dalam koleksi
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();
// Ulangi fragmen
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
// Perbarui teks dan properti lainnya
textFragment.setText("New Pharase");
textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
textFragment.getTextState().setFontSize(22);
textFragment.getTextState().setForegroundColor(Color.getBlue());
textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Simpan file PDF yang diperbarui
pdfDocument.save("Updated_Text.pdf");
Dapatkan Lisensi API Gratis
Anda dapat mencoba API tanpa batasan evaluasi secara gratis. Dapatkan lisensi sementara gratis sekarang.
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara menemukan dan mengganti teks dalam PDF menggunakan Java. Selain itu, Anda telah melihat cara menggunakan ekspresi reguler untuk mencari dan mengganti teks mengikuti pola tertentu. Anda dapat mempelajari lebih lanjut tentang Java PDF API menggunakan dokumentasi.