Menentukan Format Dokumen di Aspose.Words untuk Java

Pengantar Menentukan Format Dokumen di Aspose.Words for Java

Saat bekerja dengan pemrosesan dokumen di Java, penting untuk menentukan format file yang Anda tangani. Aspose.Words untuk Java menyediakan fitur canggih untuk mengidentifikasi format dokumen, dan kami akan memandu Anda melalui prosesnya.

Prasyarat

Sebelum kita mulai, pastikan Anda memiliki prasyarat berikut:

Langkah 1: Pengaturan Direktori

Pertama, kita perlu menyiapkan direktori yang diperlukan untuk mengatur file kita secara efektif. Kami akan membuat direktori untuk tipe dokumen berbeda.

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

// Buat direktori jika belum ada.
if (!supportedDir.exists())
    supportedDir.mkdir();
if (!unknownDir.exists())
    unknownDir.mkdir();
if (!encryptedDir.exists())
    encryptedDir.mkdir();
if (!pre97Dir.exists())
    pre97Dir.mkdir();

Kami telah membuat direktori untuk jenis dokumen yang didukung, tidak dikenal, terenkripsi, dan pra-97.

Langkah 2: Mendeteksi Format Dokumen

Sekarang, mari kita deteksi format dokumen di direktori kita. Kami akan menggunakan Aspose.Words untuk Java untuk mencapai hal ini.

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

    // Menampilkan jenis dokumen
    switch (info.getLoadFormat()) {
        case LoadFormat.DOC:
            System.out.println("\tMicrosoft Word 97-2003 document.");
            break;
        // Tambahkan case untuk format dokumen lain sesuai kebutuhan
    }

    // Menangani dokumen terenkripsi
    if (info.isEncrypted()) {
        System.out.println("\tAn encrypted document.");
        FileUtils.copyFile(new File(fileName), new File(encryptedDir, nameOnly));
    } else {
        // Menangani jenis dokumen lainnya
        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;
        }
    }
}

Dalam cuplikan kode ini, kami menelusuri file, mendeteksi formatnya, dan mengaturnya ke dalam direktori masing-masing.

Source Code Lengkap Untuk Menentukan Format Dokumen di Aspose.Words for 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");
        // Buat direktori jika belum ada.
        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);
            // Menampilkan jenis dokumen
            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;
                }
            }
        }

Kesimpulan

Menentukan format dokumen di Aspose.Words untuk Java sangat penting untuk pemrosesan dokumen yang efisien. Dengan langkah-langkah yang dijelaskan dalam panduan ini, Anda dapat mengidentifikasi jenis dokumen dan menanganinya sesuai dengan aplikasi Java Anda.

FAQ

Bagaimana cara menginstal Aspose.Words untuk Java?

Anda dapat mengunduh Aspose.Words untuk Java dariDi Sini dan ikuti petunjuk instalasi yang diberikan.

Apa format dokumen yang didukung?

Aspose.Words untuk Java mendukung berbagai format dokumen, termasuk DOC, DOCX, RTF, HTML, dan banyak lagi. Anda dapat merujuk ke dokumentasi untuk daftar lengkap.

Bagaimana cara mendeteksi dokumen terenkripsi menggunakan Aspose.Words untuk Java?

Anda dapat menggunakanFileFormatUtil.detectFileFormat() metode untuk mendeteksi dokumen terenkripsi, seperti yang ditunjukkan dalam panduan ini.

Apakah ada batasan saat bekerja dengan format dokumen lama?

Format dokumen lama, seperti MS Word 6 atau Word 95, mungkin memiliki keterbatasan dalam hal fitur dan kompatibilitas dengan aplikasi modern. Pertimbangkan untuk meningkatkan atau mengonversi dokumen-dokumen ini bila diperlukan.

Bisakah saya mengotomatiskan deteksi format dokumen di aplikasi Java saya?

Ya, Anda dapat mengotomatiskan deteksi format dokumen dengan mengintegrasikan kode yang disediakan ke dalam aplikasi Java Anda. Ini memungkinkan Anda memproses dokumen berdasarkan format yang terdeteksi.