Šiuolaikinėje skaitmeninių technologijų eroje norint efektyviai valdyti ir analizuoti dokumentus, itin svarbu atskleisti paslėptą informaciją dokumentuose. Dokumento metaduomenys, įskaitant tokią informaciją kaip autorystė, sukūrimo data ir taisymo istorija, suteikia vertingų įžvalgų apie dokumento kilmę ir raidą. Šiame straipsnyje aprašomas procesas, kaip skaityti metaduomenis iš DOCX naudojant Java, naudojant metaduomenų biblioteką. Tai suteikia kūrėjams galimybę giliau įsigilinti į savo dokumentų saugyklas ir pagerinti dokumentų apdorojimo eigą. Toliau pateikiami pagrindiniai veiksmai ir kodo pavyzdys, rodantis, kaip skaityti DOCX metaduomenis naudojant Java.
Veiksmai, kaip skaityti metaduomenis iš DOCX naudojant „Java“.
- Sukonfigūruokite savo IDE naudoti GroupDocs.Metadata for Java DOCX metaduomenims išgauti
- Sukurkite klasę Metadata, perduodant DOCX failo kelią kaip argumentą konstruktoriui
- Sukurkite sąlygą arba taisyklę, kad patikrintumėte visas metaduomenų ypatybes
- Nurodykite metodo Metadata.findProperties predikatą
- Pakartokite gautas savybes
Metaduomenų ištraukimas iš DOCX failų kūrėjams suteikia daugybę galimybių, nesvarbu, ar tai būtų automatizuotas dokumentų skirstymas į kategorijas, paieškos funkcijų įdiegimas dokumentų saugyklose ar organizacijos atitikties užtikrinimas. Pateiktų instrukcijų vykdymas suderinamas su populiariomis operacinėmis sistemomis, tokiomis kaip Windows, MacOS ir Linux, darant prielaidą, kad įdiegta Java. Šiam procesui nereikia įdiegti jokios papildomos programinės įrangos, kad būtų galima išgauti DOCX metaduomenis Java*. Sukūrus rekomenduojamą biblioteką ir pakoregavus failų kelius, toliau pateikto kodo integravimas į savo projektus turėtų būti paprastas ir be problemų.
Kodas, skirtas skaityti metaduomenis iš DOCX naudojant „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(); | |
} | |
} | |
} |
Apibendrinant galima pasakyti, kad galimybė skaityti metaduomenis iš DOCX failų suteikia kūrėjams vertingų įžvalgų apie jų dokumentų bibliotekas. Vykdydami šiame straipsnyje išsamius veiksmus ir naudodami pateiktą kodo pavyzdį, galite lengvai gauti DOCX metaduomenis Java ir pagerinti dokumentų organizavimą, analizę ir valdymą. Naršykite įvairias metaduomenų ypatybes ir pasinerkite į biblioteką, kad pagerintumėte savo dokumentų apdorojimo galimybes Java. Šauniai padirbėta! Dabar įvaldėte DOCX metaduomenų išskleidimo įgūdžius naudodami Java.
Ankstesnės diskusijos metu pateikėme išsamią mokymo programą, kaip pasiekti dokumento informaciją naudojant Java. Norėdami išsamiau suprasti šią temą, rekomenduojame peržiūrėti išsamų vadovą, kaip gauti dokumento informaciją naudodami Java.