Baca Metadata dari DOCX menggunakan Java

Di era teknologi digital modern, mengungkap informasi tersembunyi di dalam dokumen sangat penting untuk pengelolaan dan analisis dokumen yang efektif. Metadata dokumen, termasuk detail seperti penulis, tanggal pembuatan, dan riwayat revisi, memberikan wawasan berharga tentang asal usul dan evolusi dokumen. Artikel ini mempelajari proses cara membaca metadata dari DOCX menggunakan Java, memanfaatkan pustaka Metadata. Hal ini memberdayakan pengembang untuk menggali lebih dalam repositori dokumen mereka dan meningkatkan alur kerja pemrosesan dokumen mereka. Di bawah ini adalah langkah-langkah penting dan contoh kode yang menunjukkan cara membaca metadata DOCX menggunakan Java.

Langkah-langkah Membaca Metadata dari DOCX menggunakan Java

  1. Konfigurasikan IDE Anda untuk menggunakan GroupDocs.Metadata for Java untuk mengekstrak metadata DOCX
  2. Buat instance kelas Metadata dengan meneruskan jalur file DOCX sebagai argumen ke konstruktor
  3. Buat kondisi atau aturan untuk memeriksa semua properti metadata
  4. Tentukan predikat untuk metode Metadata.findProperties
  5. Ulangi properti yang diambil

Mengekstrak metadata dari file DOCX memberi pengembang banyak peluang, baik itu mengotomatiskan kategorisasi dokumen, menerapkan fitur pencarian di repositori dokumen, atau memastikan kepatuhan organisasi. Mengikuti instruksi yang diberikan kompatibel dengan sistem operasi populer seperti Windows, macOS, dan Linux, dengan asumsi Java diinstal. Proses ini tidak memerlukan instalasi perangkat lunak tambahan apa pun untuk mengekstrak metadata DOCX di Java. Setelah menyiapkan pustaka yang direkomendasikan dan menyesuaikan jalur file, mengintegrasikan kode berikut ke dalam proyek Anda akan mudah dan bebas masalah.

Kode untuk Membaca Metadata dari DOCX menggunakan Java

import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.FileFormat;
import com.groupdocs.metadata.core.IReadOnlyList;
import com.groupdocs.metadata.core.MetadataProperty;
import com.groupdocs.metadata.core.MetadataPropertyType;
import com.groupdocs.metadata.licensing.License;
import com.groupdocs.metadata.search.FallsIntoCategorySpecification;
import com.groupdocs.metadata.search.OfTypeSpecification;
import com.groupdocs.metadata.search.Specification;
import com.groupdocs.metadata.tagging.Tags;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReadMetadataFromDOCXUsingJava {
public static void main(String[] args) {
// Set License to avoid the limitations of Metadata library
License license = new License();
license.setLicense("GroupDocs.Metadata.lic");
Metadata metadata = new Metadata("input.docx");
if (metadata.getFileFormat() != FileFormat.Unknown && !metadata.getDocumentInfo().isEncrypted()) {
System.out.println();
// Fetch all metadata properties that fall into a particular category
IReadOnlyList<MetadataProperty> properties = metadata.findProperties(new FallsIntoCategorySpecification(Tags.getContent()));
System.out.println("The metadata properties describing some characteristics of the file content: title, keywords, language, etc.");
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
// Fetch all properties having a specific type and value
int year = Calendar.getInstance().get(Calendar.YEAR);
properties = metadata.findProperties(new OfTypeSpecification(MetadataPropertyType.DateTime).and(new ReadMetadataFromDOCXUsingJava().new YearMatchSpecification(year)));
System.out.println("All datetime properties with the year value equal to the current year");
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
// Fetch all properties whose names match the specified regex
Pattern pattern = Pattern.compile("^author|company|(.+date.*)$", Pattern.CASE_INSENSITIVE);
properties = metadata.findProperties(new ReadMetadataFromDOCXUsingJava().new RegexSpecification(pattern));
System.out.println(String.format("All properties whose names match the following regex: %s", pattern.pattern()));
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
}
}
// Define your own specifications to filter metadata properties
public class YearMatchSpecification extends Specification {
public YearMatchSpecification(int year) {
setValue(year);
}
public final int getValue() {
return auto_Value;
}
private void setValue(int value) {
auto_Value = value;
}
private int auto_Value;
public boolean isSatisfiedBy(MetadataProperty candidate) {
Date date = candidate.getValue().toClass(Date.class);
if (date != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return getValue() == calendar.get(Calendar.YEAR);
}
return false;
}
}
public class RegexSpecification extends Specification {
private Pattern pattern;
public RegexSpecification(Pattern pattern) {
this.pattern = pattern;
}
@Override
public boolean isSatisfiedBy(MetadataProperty metadataProperty) {
Matcher matcher = pattern.matcher(metadataProperty.getName());
return matcher.find();
}
}
}

Singkatnya, kemampuan membaca metadata dari file DOCX memberi pengembang wawasan berharga tentang pustaka dokumen mereka. Dengan mengikuti langkah-langkah yang dirinci dalam artikel ini dan menggunakan contoh kode yang disediakan, Anda dapat dengan mudah mendapatkan metadata DOCX di Java, sehingga meningkatkan pengorganisasian, analisis, dan pengelolaan dokumen Anda. Jelajahi berbagai properti metadata dan pelajari perpustakaan untuk meningkatkan kemampuan pemrosesan dokumen Anda di Java. Bagus sekali! Anda sekarang telah menguasai keterampilan mengekstraksi metadata DOCX menggunakan Java.

Pada diskusi sebelumnya, kami memberikan tutorial komprehensif tentang mengakses detail dokumen dengan Java. Untuk pemahaman yang lebih mendalam tentang topik ini, sebaiknya lihat panduan terperinci kami tentang cara dapatkan informasi dokumen menggunakan Java.

 Indonesian