Diviser des documents en pages HTML dans Aspose.Words pour Java

Introduction au fractionnement de documents en pages HTML dans Aspose.Words pour Java

Dans ce guide étape par étape, nous allons découvrir comment diviser des documents en pages HTML à l’aide d’Aspose.Words pour Java. Aspose.Words est une API Java puissante pour travailler avec des documents Microsoft Word et fournit des fonctionnalités étendues pour la manipulation de documents, notamment la possibilité de convertir des documents en divers formats, notamment HTML.

Prérequis

Avant de commencer, assurez-vous que les conditions préalables suivantes sont remplies :

  • Kit de développement Java (JDK) installé sur votre système.
  • Bibliothèque Aspose.Words pour Java. Vous pouvez la télécharger à partir deici.

Étape 1 : Importer les packages nécessaires

import com.aspose.words.*;
import java.io.*;
import java.util.ArrayList;

Étape 2 : créer une méthode de conversion de Word en HTML

class WordToHtmlConverter
{
    // Détails d'implémentation pour la conversion de Word en HTML.
    // ...
}

Étape 3 : Sélectionnez les paragraphes d’en-tête comme début de sujet

private ArrayList<Paragraph> selectTopicStarts()
{
    NodeCollection paras = mDoc.getChildNodes(NodeType.PARAGRAPH, true);
    ArrayList<Paragraph> topicStartParas = new ArrayList<Paragraph>();
    for (Paragraph para : (Iterable<Paragraph>) paras)
    {
        int style = para.getParagraphFormat().getStyleIdentifier();
        if (style == StyleIdentifier.HEADING_1)
            topicStartParas.add(para);
    }
    return topicStartParas;
}

Étape 4 : insérer des sauts de section avant les paragraphes d’en-tête

private void insertSectionBreaks(ArrayList<Paragraph> topicStartParas)
{
    DocumentBuilder builder = new DocumentBuilder(mDoc);
    for (Paragraph para : topicStartParas)
    {
        Section section = para.getParentSection();
        if (para != section.getBody().getFirstParagraph())
        {
            builder.moveTo(para.getFirstChild());
            builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
            section.getBody().getLastParagraph().remove();
        }
    }
}

Étape 5 : Diviser le document en rubriques

private ArrayList<Topic> saveHtmlTopics() throws Exception
{
    ArrayList<Topic> topics = new ArrayList<Topic>();
    for (int sectionIdx = 0; sectionIdx < mDoc.getSections().getCount(); sectionIdx++)
    {
        Section section = mDoc.getSections().get(sectionIdx);
        String paraText = section.getBody().getFirstParagraph().getText();
        String fileName = makeTopicFileName(paraText);
        if ("".equals(fileName))
            fileName = "UNTITLED SECTION " + sectionIdx;
        fileName = mDstDir + fileName + ".html";
        String title = makeTopicTitle(paraText);
        if ("".equals(title))
            title = "UNTITLED SECTION " + sectionIdx;
        Topic topic = new Topic(title, fileName);
        topics.add(topic);
        saveHtmlTopic(section, topic);
    }
    return topics;
}

Étape 6 : Enregistrer chaque sujet sous forme de fichier HTML

private void saveHtmlTopic(Section section, Topic topic) throws Exception
{
    Document dummyDoc = new Document();
    dummyDoc.removeAllChildren();
    dummyDoc.appendChild(dummyDoc.importNode(section, true, ImportFormatMode.KEEP_SOURCE_FORMATTING));
    dummyDoc.getBuiltInDocumentProperties().setTitle(topic.getTitle());
    HtmlSaveOptions saveOptions = new HtmlSaveOptions();
    {
        saveOptions.setPrettyFormat(true);
        saveOptions.setAllowNegativeIndent(true);
        saveOptions.setExportHeadersFootersMode(ExportHeadersFootersMode.NONE);
    }
    dummyDoc.save(topic.getFileName(), saveOptions);
}

Étape 7 : Générer une table des matières pour les sujets

private void saveTableOfContents(ArrayList<Topic> topics) throws Exception
{
    Document tocDoc = new Document(mTocTemplate);
    tocDoc.getMailMerge().setFieldMergingCallback(new HandleTocMergeField());
    tocDoc.getMailMerge().executeWithRegions(new TocMailMergeDataSource(topics));
    tocDoc.save(mDstDir + "contents.html");
}

Maintenant que nous avons décrit les étapes, vous pouvez implémenter chaque étape de votre projet Java pour diviser des documents en pages HTML à l’aide d’Aspose.Words pour Java. Ce processus vous permettra de créer une représentation HTML structurée de vos documents, les rendant plus accessibles et conviviaux.

Conclusion

Dans ce guide complet, nous avons abordé le processus de division de documents en pages HTML à l’aide d’Aspose.Words pour Java. En suivant les étapes décrites, vous pouvez convertir efficacement des documents Word au format HTML, rendant ainsi votre contenu plus accessible sur le Web.

FAQ

Comment installer Aspose.Words pour Java ?

Pour installer Aspose.Words pour Java, vous pouvez télécharger la bibliothèque à partir deici et suivez les instructions d’installation fournies dans la documentation.

Puis-je personnaliser la sortie HTML ?

Oui, vous pouvez personnaliser la sortie HTML en ajustant les options d’enregistrement dans leHtmlSaveOptions classe. Cela vous permet de contrôler le formatage et l’apparence des fichiers HTML générés.

Quelles versions de Microsoft Word sont prises en charge par Aspose.Words pour Java ?

Aspose.Words pour Java prend en charge une large gamme de formats de documents Microsoft Word, notamment DOC, DOCX, RTF, etc. Il est compatible avec différentes versions de Microsoft Word.

Comment puis-je gérer les images dans le HTML converti ?

Aspose.Words pour Java peut gérer les images dans le fichier HTML converti en les enregistrant sous forme de fichiers séparés dans le même dossier que le fichier HTML. Cela garantit que les images s’affichent correctement dans la sortie HTML.

Existe-t-il une version d’essai d’Aspose.Words pour Java disponible ?

Oui, vous pouvez demander une version d’essai gratuite d’Aspose.Words pour Java sur le site Web d’Aspose pour évaluer ses fonctionnalités et capacités avant d’acheter une licence.