Bepalen van documentformaat in Aspose.Words voor Java
Inleiding tot het bepalen van het documentformaat in Aspose.Words voor Java
Bij het werken met documentverwerking in Java is het cruciaal om het formaat van de bestanden te bepalen waarmee u werkt. Aspose.Words voor Java biedt krachtige functies voor het identificeren van documentformaten en we leiden u door het proces.
Vereisten
Voordat we beginnen, moet u ervoor zorgen dat u aan de volgende vereisten voldoet:
- Aspose.Words voor Java
- Java Development Kit (JDK) geïnstalleerd op uw systeem
- Basiskennis van Java-programmering
Stap 1: Directory-instelling
Eerst moeten we de benodigde mappen instellen om onze bestanden effectief te organiseren. We maken mappen voor verschillende documenttypen.
File supportedDir = new File("Your Directory Path" + "Supported");
File unknownDir = new File("Your Directory Path" + "Unknown");
File encryptedDir = new File("Your Directory Path" + "Encrypted");
File pre97Dir = new File("Your Directory Path" + "Pre97");
// Maak de mappen aan als ze nog niet bestaan.
if (!supportedDir.exists())
supportedDir.mkdir();
if (!unknownDir.exists())
unknownDir.mkdir();
if (!encryptedDir.exists())
encryptedDir.mkdir();
if (!pre97Dir.exists())
pre97Dir.mkdir();
We hebben mappen gemaakt voor ondersteunde, onbekende, gecodeerde en pre-97 documenttypen.
Stap 2: Documentformaat detecteren
Laten we nu het formaat van de documenten in onze directory’s detecteren. We gebruiken Aspose.Words voor Java om dit te bereiken.
Set<String> listFiles = Stream.of(new File("Your Directory Path").listFiles())
.filter(file -> !file.getName().endsWith("Corrupted document.docx") && !Files.isDirectory(file.toPath()))
.map(File::getPath)
.collect(Collectors.toSet());
for (String fileName : listFiles) {
String nameOnly = Paths.get(fileName).getFileName().toString();
System.out.println(nameOnly);
FileFormatInfo info = FileFormatUtil.detectFileFormat(fileName);
// Geef het documenttype weer
switch (info.getLoadFormat()) {
case LoadFormat.DOC:
System.out.println("\tMicrosoft Word 97-2003 document.");
break;
// Voeg indien nodig zaken toe voor andere documentformaten
}
// Versleutelde documenten verwerken
if (info.isEncrypted()) {
System.out.println("\tAn encrypted document.");
FileUtils.copyFile(new File(fileName), new File(encryptedDir, nameOnly));
} else {
// Andere documenttypen verwerken
switch (info.getLoadFormat()) {
case LoadFormat.DOC_PRE_WORD_60:
FileUtils.copyFile(new File(fileName), new File(pre97Dir, nameOnly));
break;
case LoadFormat.UNKNOWN:
FileUtils.copyFile(new File(fileName), new File(unknownDir, nameOnly));
break;
default:
FileUtils.copyFile(new File(fileName), new File(supportedDir, nameOnly));
break;
}
}
}
In dit codefragment doorlopen we de bestanden, detecteren we hun indelingen en ordenen we ze in de betreffende mappen.
Volledige broncode voor het bepalen van het documentformaat in Aspose.Words voor Java
File supportedDir = new File("Your Directory Path" + "Supported");
File unknownDir = new File("Your Directory Path" + "Unknown");
File encryptedDir = new File("Your Directory Path" + "Encrypted");
File pre97Dir = new File("Your Directory Path" + "Pre97");
// Maak de mappen aan als ze nog niet bestaan.
if (supportedDir.exists() == false)
supportedDir.mkdir();
if (unknownDir.exists() == false)
unknownDir.mkdir();
if (encryptedDir.exists() == false)
encryptedDir.mkdir();
if (pre97Dir.exists() == false)
pre97Dir.mkdir();
Set<String> listFiles = Stream.of(new File("Your Directory Path").listFiles())
.filter(file -> !file.getName().endsWith("Corrupted document.docx") && !Files.isDirectory(file.toPath()))
.map(File::getPath)
.collect(Collectors.toSet());
for (String fileName : listFiles) {
String nameOnly = Paths.get(fileName).getFileName().toString();
System.out.println(nameOnly);
FileFormatInfo info = FileFormatUtil.detectFileFormat(fileName);
// Geef het documenttype weer
switch (info.getLoadFormat()) {
case LoadFormat.DOC:
System.out.println("\tMicrosoft Word 97-2003 document.");
break;
case LoadFormat.DOT:
System.out.println("\tMicrosoft Word 97-2003 template.");
break;
case LoadFormat.DOCX:
System.out.println("\tOffice Open XML WordprocessingML Macro-Free Document.");
break;
case LoadFormat.DOCM:
System.out.println("\tOffice Open XML WordprocessingML Macro-Enabled Document.");
break;
case LoadFormat.DOTX:
System.out.println("\tOffice Open XML WordprocessingML Macro-Free Template.");
break;
case LoadFormat.DOTM:
System.out.println("\tOffice Open XML WordprocessingML Macro-Enabled Template.");
break;
case LoadFormat.FLAT_OPC:
System.out.println("\tFlat OPC document.");
break;
case LoadFormat.RTF:
System.out.println("\tRTF format.");
break;
case LoadFormat.WORD_ML:
System.out.println("\tMicrosoft Word 2003 WordprocessingML format.");
break;
case LoadFormat.HTML:
System.out.println("\tHTML format.");
break;
case LoadFormat.MHTML:
System.out.println("\tMHTML (Web archive) format.");
break;
case LoadFormat.ODT:
System.out.println("\tOpenDocument Text.");
break;
case LoadFormat.OTT:
System.out.println("\tOpenDocument Text Template.");
break;
case LoadFormat.DOC_PRE_WORD_60:
System.out.println("\tMS Word 6 or Word 95 format.");
break;
case LoadFormat.UNKNOWN:
System.out.println("\tUnknown format.");
break;
}
if (info.isEncrypted()) {
System.out.println("\tAn encrypted document.");
FileUtils.copyFile(new File(fileName), new File(encryptedDir, nameOnly));
} else {
switch (info.getLoadFormat()) {
case LoadFormat.DOC_PRE_WORD_60:
FileUtils.copyFile(new File(fileName), new File(pre97Dir, nameOnly));
break;
case LoadFormat.UNKNOWN:
FileUtils.copyFile(new File(fileName), new File(unknownDir, nameOnly));
break;
default:
FileUtils.copyFile(new File(fileName), new File(supportedDir, nameOnly));
break;
}
}
}
Conclusie
Het bepalen van documentformaten in Aspose.Words voor Java is essentieel voor efficiënte documentverwerking. Met de stappen die in deze handleiding worden beschreven, kunt u documenttypen identificeren en deze dienovereenkomstig verwerken in uw Java-applicaties.
Veelgestelde vragen
Hoe installeer ik Aspose.Words voor Java?
U kunt Aspose.Words voor Java downloaden van dehieren volg de meegeleverde installatie-instructies.
Welke documentformaten worden ondersteund?
Aspose.Words voor Java ondersteunt verschillende documentformaten, waaronder DOC, DOCX, RTF, HTML en meer. U kunt de documentatie raadplegen voor een complete lijst.
Hoe kan ik versleutelde documenten detecteren met Aspose.Words voor Java?
U kunt deFileFormatUtil.detectFileFormat()
methode om versleutelde documenten te detecteren, zoals in deze handleiding wordt gedemonstreerd.
Zijn er beperkingen bij het werken met oudere documentformaten?
Oudere documentformaten, zoals MS Word 6 of Word 95, kunnen beperkingen hebben in termen van functies en compatibiliteit met moderne applicaties. Overweeg deze documenten indien nodig te upgraden of te converteren.
Kan ik de detectie van documentindelingen in mijn Java-applicatie automatiseren?
Ja, u kunt de detectie van documentformaten automatiseren door de meegeleverde code te integreren in uw Java-applicatie. Hiermee kunt u documenten verwerken op basis van hun gedetecteerde formaten.