Meta veriler, gerçek veriler hakkında bilgi sağlayan verilerdir. Genellikle “veriler hakkında veriler” olarak tanımlanır. Birine dosya gönderirken, meta verileri birlikte göndermek iyi bir uygulama değildir. Paylaşmak istemeyeceğiniz bilgilerinizi alıcıya gösterebilir. Örneklerden bazıları; Ad, Şirket Adı, Belge Değiştirme Tarihi, Kameranın Marka ve Modeli vb. Bu yazıda, Java kullanarak resimlerden ve belgelerden meta verileri programlı olarak kaldıracağız.

Java Meta Veri Temizleyici API’si

GroupDocs.Metadata for Java, EXIF, XMP, IPTC, ID3 etiketi vb. gibi popüler meta veri standartlarının çoğunu destekleyen Java için bir meta veri API’sidir. Java geliştiricilerinin meta verileri eklemesine, değiştirmesine, ayıklamasına ve kaldırmasına olanak tanır desteklenen biçimler belgeler, resimler ve diğer dosyalardan oluşan geniş bir listeden çeşitli seçeneklerle.

Bu makaledeki adımlar ve kod örnekleri GroupDocs.Metadata API’sini kullanır. Bu nedenle, devam etmeden önce lütfen aşağıdaki seçeneklerden herhangi birini kullanarak geliştirme ortamını hazırladığınızdan emin olun:

  • JAR dosyasını indirilenler bölümünden alın.
  • Maven tabanlı java uygulamalarınıza aşağıdaki pom.xml yapılandırmasını ekleyin
<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-metadata</artifactId>
        <version>20.11</version> 
</dependency>

Java kullanarak Belgelerden Meta Verileri Kaldırma

Mevcut tüm meta veri özelliklerini herhangi bir filtre uygulamadan kaldırmak ve COVID-19 çağında güvende kalmak için temizleme yöntemini kullanın. Aşağıda, GroupDocs.Metadata for Java kullanılarak belgelerden meta verileri kaldırma adımları yer almaktadır.

  • Hedef belgenin yolunu parametre olarak geçirerek Metadata sınıfının nesnesini oluşturun.
  • sanitize yöntemini çağırın. Kaldırılan meta veri özelliklerinin sayısını döndürür.
  • Çıktı dosyasını kaydet yöntemini kullanarak temizlenmiş meta verilerle kaydedin.

Aşağıdaki Java kodu örneği, meta verilerin belgeden nasıl kaldırılacağını ve temizleneceğini gösterir.

/*
* Algılanan tüm meta veri özelliklerini Word, Excel'den kaldırın, 
* Java kullanan PowerPoint, PDF ve diğer belgeler
*/
Metadata metadata = new Metadata("filePath/document.pdf");
int affected = metadata.sanitize();
metadata.save("filePath/output.pdf"); // Save the output document with no metadata 

Java kullanarak Görüntülerden Meta Verileri Kaldırma

Java kullanarak resimlerinizdeki tüm meta verileri kaldırmak istiyorsanız, aynı adımları izleyerek aynı temizleme yöntemini kullanabilirsiniz:

  • Hedef belge yolunu parametre olarak geçirerek Metadata sınıfının nesnesini oluşturun.
  • sanitize yöntemini çağırın.
  • Çıktı dosyasını save yöntemini kullanarak kaydedin.
/*
* Algılanan tüm meta veri özelliklerini JPEG, PNG,
* Java kullanan WebP, BMP, GIF, TIFF ve diğer resimler
*/
Metadata metadata = new Metadata("filePath/document.jpg");
int affected = metadata.sanitize();
metadata.save("filePath/output.jpg"); // Save the output image having no metadata

Java kullanarak Belgelerden ve Görüntülerden Seçici Meta Verileri Kaldırma

Dosyalardan tüm kullanılabilir meta verileri kaldırmak her zaman gerekli değildir, ancak bazen seçici meta veri özelliklerini kaldırmak isteriz. Aşağıdaki adımlar, özelliğin belirli adını kullanarak meta verilerin nasıl bulunacağını ve kaldırılacağını gösterir.

  • Hedeflenen belgeyi veya görüntü dosyasını yüklemek için Meta veri nesnesi oluşturun.
  • Meta veri özelliklerini bulmak için kişiselleştirilmiş özellikler oluşturun.
  • removeProperties yöntemini çağırın ve kişiselleştirilmiş belirtimleri iletin.
  • Çıktı dosyasını kaydet yöntemini kullanarak kaydedin.
// Java kullanarak özelleştirilmiş filtreyi karşılayan belgelerden ve resimlerden meta veri özelliklerini kaldırın
public class RemoveMetadataProperties {
	public static void removeMetadataProperties() {
		Metadata metadata = new Metadata("filePath/document.docx");
		/*
		 * Aşağıdaki özelliklerin tümünü kaldırın: 
		 * belge yazarının adını içerir VEYA
		 * son düzenleyiciyi ifade eder VEYA 
		 * özellik değeri bir dizedir VE verilen "GroupDocs" dizisine eşittir
		 */
		int affected = metadata.removeProperties(new ContainsTagSpecification(Tags.getPerson().getCreator())
				.or(new ContainsTagSpecification(Tags.getPerson().getEditor()))
				.or(new OfTypeSpecification(MetadataPropertyType.String)
						.and(new RemoveMetadataProperties().new WithValueSpecification("GroupDocs"))));

		System.out.println(String.format("Properties removed: %s", affected));

		metadata.save("outputPath/document.docx");
	}

	// Meta veri özelliklerini filtrelemek için kişiselleştirilmiş özellikler oluşturun
	public class WithValueSpecification extends Specification {
		public WithValueSpecification(Object value) {
			setValue(value);
		}

		public final Object getValue() {
			return auto_Value;
		}

		private void setValue(Object value) {
			auto_Value = value;
		}

		private Object auto_Value;

		public boolean isSatisfiedBy(MetadataProperty candidate) {
			return candidate.getValue().getRawValue().equals(getValue());
		}
	}
}

Çözüm

Bu yazıda, Java kullanarak belgelerden ve resimlerden meta verileri temizlemeyi öğrendik. Artık kendi meta veri temizleyici java uygulamanızı oluşturabilirsiniz. Kelime işlem belgelerinden, elektronik tablolardan, sunumlardan, PDF dosyalarından, resimlerden, e-postalardan, e-Kitaplardan, çizimlerden, zip dosyalarından ve çok daha fazlasından meta verilerin kaldırılmasını destekleyebilir. Java meta veri API’si hakkında daha fazla bilgiyi belgelerden keşfedebilirsiniz.

Ayrıca bakınız