Dokumentumformátum meghatározása az Aspose.Words for Java programban

Bevezetés az Aspose.Words for Java dokumentumformátumának meghatározásába

Amikor Java-ban dolgozunk dokumentumfeldolgozással, nagyon fontos meghatározni a kezelt fájlok formátumát. Az Aspose.Words for Java hatékony szolgáltatásokat nyújt a dokumentumformátumok azonosításához, mi pedig végigvezetjük a folyamaton.

Előfeltételek

Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik a következő előfeltételekkel:

  • Aspose.Words for Java
  • Java Development Kit (JDK) telepítve a rendszerére
  • Java programozási alapismeretek

1. lépés: Címtárbeállítás

Először is be kell állítanunk a szükséges könyvtárakat a fájlok hatékony rendszerezéséhez. A különböző dokumentumtípusokhoz könyvtárakat hozunk létre.

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");

// Hozza létre a könyvtárakat, ha még nem léteznek.
if (!supportedDir.exists())
    supportedDir.mkdir();
if (!unknownDir.exists())
    unknownDir.mkdir();
if (!encryptedDir.exists())
    encryptedDir.mkdir();
if (!pre97Dir.exists())
    pre97Dir.mkdir();

támogatott, ismeretlen, titkosított és 97 előtti dokumentumtípusokhoz könyvtárakat hoztunk létre.

2. lépés: Dokumentumformátum észlelése

Most pedig határozzuk meg a könyvtárainkban lévő dokumentumok formátumát. Ennek eléréséhez az Aspose.Words for Java-t használjuk.

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

    // Jelenítse meg a dokumentum típusát
    switch (info.getLoadFormat()) {
        case LoadFormat.DOC:
            System.out.println("\tMicrosoft Word 97-2003 document.");
            break;
        // Szükség esetén adjon hozzá eseteket más dokumentumformátumokhoz
    }

    // Titkosított dokumentumok kezelése
    if (info.isEncrypted()) {
        System.out.println("\tAn encrypted document.");
        FileUtils.copyFile(new File(fileName), new File(encryptedDir, nameOnly));
    } else {
        // Más dokumentumtípusok kezelése
        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;
        }
    }
}

Ebben a kódrészletben végigfutjuk a fájlokat, észleljük formátumukat, és a megfelelő könyvtárakba rendezzük őket.

Teljes forráskód az Aspose.Words for Java dokumentumformátumának meghatározásához

        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");
        // Hozza létre a könyvtárakat, ha még nem léteznek.
        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);
            // Jelenítse meg a dokumentum típusát
            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;
                }
            }
        }

Következtetés

A dokumentumformátumok meghatározása az Aspose.Words for Java programban elengedhetetlen a hatékony dokumentumfeldolgozáshoz. Az ebben az útmutatóban ismertetett lépésekkel azonosíthatja a dokumentumtípusokat, és megfelelően kezelheti őket Java-alkalmazásaiban.

GYIK

Hogyan telepíthetem az Aspose.Words for Java programot?

Letöltheti az Aspose.Words for Java programot aitt és kövesse a mellékelt telepítési utasításokat.

Melyek a támogatott dokumentumformátumok?

Az Aspose.Words for Java különféle dokumentumformátumokat támogat, beleértve a DOC, DOCX, RTF, HTML és egyebeket. A teljes listát a dokumentációban találja.

Hogyan észlelhetem a titkosított dokumentumokat az Aspose.Words for Java használatával?

Használhatja aFileFormatUtil.detectFileFormat() módszert a titkosított dokumentumok észlelésére, amint azt ebben az útmutatóban bemutatjuk.

Vannak-e korlátozások a régebbi dokumentumformátumokkal való munka során?

A régebbi dokumentumformátumoknak, például az MS Word 6-nak vagy a Word 95-nek korlátai lehetnek a funkciók és a modern alkalmazásokkal való kompatibilitás tekintetében. Szükség esetén fontolja meg ezeknek a dokumentumoknak a frissítését vagy átalakítását.

Automatizálhatom a dokumentumformátum észlelését a Java alkalmazásban?

Igen, automatizálhatja a dokumentumformátum észlelését, ha integrálja a mellékelt kódot a Java-alkalmazásba. Ez lehetővé teszi a dokumentumok feldolgozását az észlelt formátumok alapján.