Կարդացեք մետատվյալները DOCX-ից Java-ի միջոցով

Թվային տեխնոլոգիաների ժամանակակից դարաշրջանում փաստաթղթերում թաքնված տեղեկատվության բացահայտումը շատ կարևոր է փաստաթղթերի արդյունավետ կառավարման և վերլուծության համար: Փաստաթղթի մետատվյալները, ներառյալ մանրամասները, ինչպիսիք են հեղինակությունը, ստեղծման ամսաթիվը և վերանայման պատմությունը, արժեքավոր պատկերացումներ են տալիս փաստաթղթի ծագման և էվոլյուցիայի վերաբերյալ: Այս հոդվածը ուսումնասիրում է այն գործընթացը, թե ինչպես կարելի է կարդալ մետատվյալները DOCX-ից Java-ի միջոցով՝ օգտագործելով Մետատվյալների գրադարանը: Սա ծրագրավորողներին հնարավորություն է տալիս ավելի խորանալ իրենց փաստաթղթերի պահեստներում և բարելավել փաստաթղթերի մշակման իրենց աշխատանքային հոսքերը: Ստորև ներկայացված են հիմնական քայլերը և կոդի օրինակը, որը ցույց է տալիս, թե ինչպես կարդալ DOCX-ի մետատվյալները Java-ի միջոցով:

Java-ի միջոցով DOCX-ից մետատվյալները կարդալու քայլեր

  1. Կազմաձևեք ձեր IDE-ն՝ օգտագործելու GroupDocs.Metadata for Java՝ DOCX մետատվյալները հանելու համար
  2. Ստուգեք Metadata դասը` փոխանցելով DOCX ֆայլի ուղին որպես արգումենտ կոնստրուկտորին
  3. Ստեղծեք պայման կամ կանոն՝ ստուգելու բոլոր մետատվյալների հատկությունները
  4. Նշեք պրեդիկատ Metadata.findProperties մեթոդի համար
  5. Կրկնել վերցված հատկությունների վրա

DOCX ֆայլերից մետատվյալների արդյունահանումը ծրագրավորողներին տալիս է բազմաթիվ հնարավորություններ՝ լինի դա փաստաթղթերի դասակարգման ավտոմատացում, փաստաթղթերի պահեստներում որոնման գործառույթների ներդրում կամ կազմակերպչական համապատասխանության ապահովում: Տրված հրահանգներին հետևելը համատեղելի է հայտնի օպերացիոն համակարգերի հետ, ինչպիսիք են Windows-ը, macOS-ը և Linux-ը, ենթադրելով, որ Java-ն տեղադրված է: Այս գործընթացը չի պահանջում որևէ լրացուցիչ ծրագրաշարի տեղադրում՝ DOCX-ի մետատվյալները Java-ում հանելու համար: Առաջարկվող գրադարանը կարգավորելուց և ֆայլերի ուղիները կարգավորելուց հետո հետևյալ ծածկագիրը ձեր նախագծերում ինտեգրելը պետք է լինի պարզ և անփորձանք:

Կոդ՝ Java-ի միջոցով DOCX-ից մետատվյալները կարդալու համար

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();
}
}
}

Ամփոփելով, DOCX ֆայլերից մետատվյալները կարդալու ունակությունը ծրագրավորողներին տալիս է արժեքավոր պատկերացումներ իրենց փաստաթղթերի գրադարանների վերաբերյալ: Հետևելով այս հոդվածում մանրամասնված քայլերին և օգտագործելով տրամադրված կոդի օրինակը, դուք կարող եք հեշտությամբ ձեռք բերել DOCX-ի մետատվյալները Java-ում, ինչը կբարելավի ձեր փաստաթղթերի կազմակերպումը, վերլուծությունը և կառավարումը: Բացահայտեք մետատվյալների տարբեր հատկություններ և ուսումնասիրեք գրադարանը՝ Java-ում փաստաթղթերի մշակման ձեր կարողությունները բարելավելու համար: Լավ արեցիր։ Դուք այժմ տիրապետել եք Java-ի միջոցով DOCX մետատվյալների արդյունահանման հմտությանը:

Նախորդ քննարկման ժամանակ մենք տրամադրեցինք Java-ի միջոցով փաստաթղթերի մանրամասներին մուտք գործելու համապարփակ ձեռնարկ: Այս թեմայի ավելի խորը հասկանալու համար խորհուրդ ենք տալիս անդրադառնալ մեր մանրամասն ուղեցույցին, թե ինչպես անել ստանալ փաստաթղթերի մասին տեղեկատվություն Java-ի միջոցով:

 Հայերեն