Artikel ini berguna untuk pengembang Java yang sedang mencari cara untuk menemukan dan menghapus watermark teks atau gambar dari dokumen PDF, Word, Excel, PowerPoint, dan Visio. Di salah satu postingan kami, kami telah mempelajari menemukan dan menghapus tanda air dari dokumen di C#. Sekarang mari kita lompat untuk melihat sedikit tentang API Java yang memungkinkan penambahan, pencarian, dan penghapusan tanda air dari berbagai dokumen dengan cara yang berbeda.

Java API untuk Watermarking dan Penghapusan

GroupDocs.Watermark for Java API mendukung penambahan watermark teks dan gambar ke berbagai format dokumen. Selain itu, ia juga memiliki kemampuan untuk menemukan dan menghilangkan tanda air dari dokumen. API juga menemukan objek tanda air yang ditambahkan menggunakan alat pihak ketiga. Jadi izinkan saya menunjukkan bagaimana Anda dapat menghapus tanda air dari dokumen dalam beberapa langkah di Java.

Anda dapat memperoleh JAR dari bagian downloads, atau menambahkan konfigurasi berikut di pom.xml dari aplikasi Java berbasis Maven Anda. Untuk detail API, kunjungi Referensi API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-watermark</artifactId>
        <version>20.5</version> 
</dependency>

Langkah-langkah untuk Menghapus Tanda Air dari Dokumen di Java

Sebelum kita mulai, lihat dokumen PDF berikut yang berisi tanda air teks dan juga tanda air gambar. Kami akan menggunakan dokumen ini dan menghapus tanda air darinya.

File PDF dengan tanda air - GroupDocs
  1. Buat proyek baru.

  2. Tambahkan impor berikut.

import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;
import com.groupdocs.watermark.search.ImageSearchCriteria;
import com.groupdocs.watermark.search.PossibleWatermarkCollection;
import com.groupdocs.watermark.search.SearchCriteria;
import com.groupdocs.watermark.search.TextSearchCriteria;
  1. Buat instance kelas Watermarker dan muat dokumen sumber.
Watermarker watermarker = new Watermarker("filepath/watermarked.pdf");
  1. Temukan tanda air berdasarkan kriteria pencarian yang dikonfigurasi menggunakan metode pencarian.
// Konfigurasikan kriteria pencarian untuk watermark gambar
ImageSearchCriteria imageSearchCriteria = new ImageDctHashSearchCriteria("filepath/watermark.png");
imageSearchCriteria.setMaxDifference(0.2); // Set how much the watermark can differ from the provided image.

// Konfigurasikan kriteria pencarian untuk watermark teks
TextSearchCriteria textSearchCriteria = new TextSearchCriteria("CONFIDENTIAL");

// Menggabungkan kriteria pencarian teks dan gambar
SearchCriteria combinedSearchCriteria = imageSearchCriteria.or(textSearchCriteria);
PossibleWatermarkCollection possibleWatermarks = watermarker.search(combinedSearchCriteria);
  1. Ulangi pengumpulan tanda air dan hapus tanda air menggunakan metode removeAt.
//Iterasi melalui kumpulan tanda air yang mungkin, periksa, dan hapus tanda air
while(possibleWatermarks.getCount()>0)
{
	if (possibleWatermarks.get_Item(0).getImageData() != null)
	{
		possibleWatermarks.removeAt(0);
		System.out.println("Removed Image Watermark.");
	}
	else
	{
		possibleWatermarks.removeAt(0);
		System.out.println("Removed Text Watermark.");
	}
} 
  1. Simpan dokumen yang dihasilkan menggunakan metode simpan.
 watermarker.save("filepath/without_watermark.pdf");
 watermarker.close(); 

Ada juga beberapa cara lain untuk menemukan dan menghapus watermark dari dokumen menggunakan metode yang berbeda. Jika Anda ingin menghapus semua watermark dokumen, atau ingin menghilangkan beberapa watermark selektif dari berbagai jenis:

  • Anda dapat mengumpulkan semua kemungkinan tanda air.
  • Ulangi koleksi tanda air atau akses langsung tanda air dengan indeks.
  • Periksa jenis dan data tanda air, jika diperlukan.
  • Hapus itu, jika memenuhi kebutuhan Anda.

hapus, hapus, dan hapus adalah metode yang dapat digunakan untuk menghilangkan tanda air. Untuk lebih jelasnya, Anda dapat mengunjungi artikel dokumentasi tentang mencari dan memodifikasi watermark di Java.

Kode Lengkap

// Temukan dan Hapus Tanda Air dari dokumen PDF, Word, Excel, PowerPoint, dan Visio di Java
Watermarker watermarker = new Watermarker("filepath/watermarked.pdf"); // Provide any supported document

// Konfigurasikan kriteria pencarian untuk watermark gambar
ImageSearchCriteria imageSearchCriteria = new ImageDctHashSearchCriteria("filepath/watermark.png");
imageSearchCriteria.setMaxDifference(0.2); // Set how much the watermark can differ from the provided image.

// Konfigurasikan kriteria pencarian untuk watermark teks
TextSearchCriteria textSearchCriteria = new TextSearchCriteria("CONFIDENTIAL");

// Menggabungkan kriteria pencarian teks dan gambar
SearchCriteria combinedSearchCriteria = imageSearchCriteria.or(textSearchCriteria);
PossibleWatermarkCollection possibleWatermarks = watermarker.search(combinedSearchCriteria);

//Iterasi melalui kumpulan tanda air yang mungkin, periksa, dan hapus tanda air
while(possibleWatermarks.getCount()>0)
{
	if (possibleWatermarks.get_Item(0).getImageData() != null)
	{
		possibleWatermarks.removeAt(0);
		System.out.println("Removed Image Watermark.");
	}
	else
	{
		possibleWatermarks.removeAt(0);
		System.out.println("Removed Text Watermark.");
	}
} 
watermarker.save("filepath/without_watermark.pdf");
watermarker.close(); 

Hasil

Berikut adalah screenshot dari resultan dokumen PDF yang kita dapatkan setelah menghilangkan watermark.

File PDF yang dihasilkan setelah penghapusan watermark menggunakan Watermarking Java API oleh GroupDocs

Kesimpulan

Saya percaya, sebagai pengembang Java, Anda tidak akan ragu lagi untuk menemukan dan kemudian menghapus tanda air apa pun dari dokumen pengolah kata, spreadsheet, presentasi, dokumen PDF, dan gambar Visio yang didukung Microsoft dan OpenOffice.

Anda dapat mempelajari lebih lanjut tentang API dari dokumentasi. Jika ada pertanyaan, hubungi kami @ forum.

Lihat juga