البيانات الوصفية هي البيانات التي توفر معلومات حول البيانات الفعلية. يتم وصفه بشكل شائع بأنه “بيانات حول البيانات”. عند إرسال ملف إلى شخص ما ، ليس من الجيد إرسال البيانات الوصفية معه. يمكن أن تكشف معلوماتك إلى المتلقي التي قد لا ترغب في مشاركتها. بعض الأمثلة تشمل ؛ الاسم واسم الشركة وتاريخ تعديل المستند وصنع الكاميرا وطرازها وما إلى ذلك. في هذه المقالة ، سنقوم بإزالة البيانات الوصفية برمجيًا من الصور والمستندات باستخدام Java.

Java Metadata Cleaner API

GroupDocs.Metadata for Java هي واجهة برمجة تطبيقات للبيانات الوصفية لجافا تدعم معظم معايير البيانات الوصفية الشائعة مثل EXIF و XMP و IPTC و ID3 tag وما إلى ذلك ، فهي تتيح لمطوري Java إضافة البيانات الوصفية وتعديلها واستخراجها وإزالتها مع خيارات متنوعة من قائمة كبيرة من التنسيقات المدعومة من المستندات والصور والملفات الأخرى.

تستخدم الخطوات الواردة في هذه المقالة ونماذج التعليمات البرمجية GroupDocs.Metadata API. لذا قبل المتابعة ، يرجى التأكد من إعداد بيئة التطوير باستخدام أي من الخيارات التالية:

  • احصل على ملف JAR من قسم التنزيلات.
  • أضف تكوين pom.xml التالي في تطبيقات Java القائمة على Maven
<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

لإزالة جميع خصائص البيانات الوصفية المتاحة دون تطبيق أي مرشح ، وللحفاظ على سلامتك في عصر COVID-19 ، استخدم طريقة التعقيم. فيما يلي خطوات إزالة البيانات الأولية من المستندات باستخدام GroupDocs.Metadata for Java.

  • قم بإنشاء كائن من فئة Metadata ، لتمرير مسار المستند الهدف كمعامل.
  • استدعاء طريقة التطهير. تقوم بإرجاع عدد خصائص بيانات التعريف التي تمت إزالتها.
  • احفظ ملف الإخراج ببيانات وصفية تم مسحها باستخدام طريقة حفظ.

يوضح نموذج كود Java التالي كيفية إزالة البيانات الأولية ومسحها من المستند.

/*
* قم بإزالة جميع خصائص البيانات الوصفية المكتشفة من Word و Excel و 
* PowerPoint و PDF ومستندات أخرى باستخدام Java
*/
Metadata metadata = new Metadata("filePath/document.pdf");
int affected = metadata.sanitize();
metadata.save("filePath/output.pdf"); // Save the output document with no metadata 

إزالة البيانات الوصفية من الصور باستخدام Java

إذا كنت تريد إزالة جميع البيانات الوصفية من صورك باستخدام Java ، فيمكنك استخدام نفس طريقة التعقيم باتباع نفس الخطوات:

  • قم بإنشاء كائن من فئة Metadata ، مع تمرير مسار المستند الهدف كمعامل.
  • استدعاء طريقة التطهير.
  • احفظ ملف الإخراج باستخدام طريقة حفظ.
/*
* قم بإزالة جميع خصائص البيانات الوصفية المكتشفة من JPEG و PNG و
* WebP و BMP و GIF و TIFF والصور الأخرى التي تستخدم Java
*/
Metadata metadata = new Metadata("filePath/document.jpg");
int affected = metadata.sanitize();
metadata.save("filePath/output.jpg"); // Save the output image having no metadata

قم بإزالة البيانات الوصفية الانتقائية من المستندات والصور باستخدام Java

ليس مطلوبًا دائمًا إزالة جميع البيانات الوصفية المتاحة من الملفات ، ومع ذلك ، فإننا نريد أحيانًا إزالة خصائص البيانات الوصفية الانتقائية. توضح الخطوات التالية كيفية تحديد مكان البيانات الوصفية وإزالتها باستخدام الاسم المحدد للخاصية.

  • قم بإنشاء كائن بيانات تعريف لتحميل المستند المستهدف أو ملف الصورة.
  • قم بإنشاء مواصفات مخصصة للعثور على خصائص البيانات الوصفية.
  • اتصل بطريقة removeProperties واجتاز المواصفات الشخصية.
  • احفظ ملف الإخراج باستخدام طريقة حفظ.
// قم بإزالة خصائص البيانات الأولية من المستندات والصور التي تتوافق مع المرشح المخصص باستخدام Java
public class RemoveMetadataProperties {
	public static void removeMetadataProperties() {
		Metadata metadata = new Metadata("filePath/document.docx");
		/*
		 * قم بإزالة جميع الخصائص التي: 
		 * يحتوي على اسم مؤلف المستند أو
		 * يشير إلى آخر محرر أو 
		 * قيمة الخاصية عبارة عن سلسلة وتساوي السلسلة المحددة "GroupDocs"
		 */
		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");
	}

	// قم بإنشاء مواصفات مخصصة لتصفية خصائص البيانات الوصفية
	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());
		}
	}
}

استنتاج

في هذه المقالة ، تعلمنا تنظيف البيانات الوصفية من المستندات والصور باستخدام Java. الآن يمكنك بناء تطبيق Java الأنظف للبيانات الوصفية. يمكنه دعم إزالة البيانات الوصفية من مستندات معالجة الكلمات وجداول البيانات والعروض التقديمية وملفات PDF والصور ورسائل البريد الإلكتروني والكتب الإلكترونية والرسومات وملفات zip وغيرها الكثير. يمكنك استكشاف المزيد حول Java metadata API من التوثيق.

أنظر أيضا