Convertir des PDF en documents Microsoft Word dans .NET

Aperçu

Cet article explique comment convertir des PDF en documents Microsoft Word en utilisant C#. Il couvre ces sujets.

Format: DOC

Format: DOCX

Format: Word

Le code suivant fonctionne également avec la bibliothèque Aspose.PDF.Drawing.

Conversion PDF en DOC et DOCX

L’une des fonctionnalités les plus populaires est la conversion de PDF en DOC Microsoft Word, ce qui rend la gestion du contenu plus facile. Aspose.PDF for .NET vous permet de convertir des fichiers PDF en format DOC et DOCX rapidement et efficacement.

Convertir un fichier PDF en DOC (Microsoft Word 97-2003)

Convertissez des fichiers PDF en format DOC avec facilité et contrôle total. Aspose.PDF for .NET est flexible et prend en charge une grande variété de conversions. La conversion de pages de documents PDF en images, par exemple, est une fonctionnalité très populaire.

Beaucoup de nos clients ont demandé une conversion de PDF en DOC : convertir un fichier PDF en document Microsoft Word. Les clients souhaitent cela parce que les fichiers PDF ne peuvent pas être facilement modifiés, tandis que les documents Word le peuvent. Certaines entreprises souhaitent que leurs utilisateurs puissent manipuler du texte, des tableaux et des images dans des fichiers qui ont commencé comme des PDF.

En gardant vivante la tradition de rendre les choses simples et compréhensibles, Aspose.PDF for .NET vous permet de transformer un fichier PDF source en un fichier DOC avec deux lignes de code. Pour réaliser cette fonctionnalité, nous avons introduit une énumération nommée SaveFormat et sa valeur .Doc vous permet d’enregistrer le fichier source au format Microsoft Word.

Le code C# suivant montre comment convertir un fichier PDF en format DOC.

Étapes : Convertir PDF en DOC en C#

  1. Créez une instance de l’objet Document avec le document PDF source.
  2. Enregistrez-le au format SaveFormat.Doc en appelant la méthode Document.Save().
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWord()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    usnig (var document = new Aspose.Pdf.Document(dataDir + "PDFToDOC.pdf"))
    {
        // Save the file into MS document format
        document.Save(dataDir + "PDFToDOC_out.doc", SaveFormat.Doc);
    }
}

Utilisation de la classe DocSaveOptions

La classe DocSaveOptions fournit de nombreuses propriétés qui améliorent la conversion des fichiers PDF en format DOC. Parmi ces propriétés, Mode vous permet de spécifier le mode de reconnaissance pour le contenu PDF. Vous pouvez sélectionner n’importe quelle valeur de l’énumération RecognitionMode pour cette propriété. Chacune de ces valeurs a des avantages et des limitations spécifiques :

  • Le mode Textbox est rapide et bon pour préserver l’apparence originale du fichier PDF, mais l’éditabilité du document résultant pourrait être limitée. Chaque bloc de texte visuellement groupé dans le PDF original est converti en une zone de texte dans le document de sortie. Cela atteint une ressemblance maximale avec l’original, donc le document de sortie a une bonne apparence, mais il est entièrement composé de zones de texte, ce qui pourrait être modifié dans Microsoft Word, ce qui est assez difficile.
  • Le mode Flow est un mode de reconnaissance complet, où le moteur effectue un regroupement et une analyse multi-niveaux pour restaurer le document original selon l’intention de l’auteur tout en produisant un document facilement modifiable. La limitation est que le document de sortie pourrait avoir une apparence différente de l’original.

La propriété RelativeHorizontalProximity peut être utilisée pour contrôler la proximité relative entre les éléments textuels. Cela signifie que la distance est normalisée par la taille de la police. Les polices plus grandes peuvent avoir des espaces plus grands entre les syllabes et être considérées comme un tout unique. Elle est spécifiée en pourcentage de la taille de la police ; par exemple, 1 = 100 %. Cela signifie que deux caractères de 12pt placés à 12 pt de distance sont proximaux.

  • RecognitionBullets est utilisé pour activer la reconnaissance des puces lors de la conversion.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWordDocAdvanced()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDF-to-DOC.pdf"))
    {
        var saveOptions = new Aspose.Pdf.DocSaveOptions
        {
            // Set format to save MS document
            Format = Aspose.Pdf.DocSaveOptions.DocFormat.Doc,
            // Set the recognition mode as Flow
            Mode = Aspose.Pdf.DocSaveOptions.RecognitionMode.Flow,
            // Set the Horizontal proximity as 2.5
            RelativeHorizontalProximity = 2.5f,
            // Enable the value to recognize bullets during the conversion process
            RecognizeBullets = true
        };
        // Save the file into MS document with save options
        document.Save(dataDir + "PDFtoDOC_out.doc", saveOptions);
    }
}

Convertir un fichier PDF en DOCX (Microsoft Word 2007-2024)

L’API Aspose.PDF for .NET vous permet de lire et de convertir des documents PDF en DOCX en utilisant C# et n’importe quel langage .NET. DOCX est un format bien connu pour les documents Microsoft Word dont la structure a été modifiée d’un binaire simple à une combinaison de fichiers XML et binaires. Les fichiers Docx peuvent être ouverts avec Word 2007 et les versions ultérieures, mais pas avec les versions antérieures de MS Word, qui prennent en charge les extensions de fichiers DOC.

Le code C# suivant montre comment convertir un fichier PDF en format DOCX.

Étapes : Convertir PDF en DOCX en C#

  1. Créez une instance de l’objet Document avec le document PDF source.
  2. Enregistrez-le au format SaveFormat.DocX en appelant la méthode Document.Save().
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWord_DOCX_Format()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFToDOC.pdf"))
    {
        // Save the file into MS document format
        document.Save(dataDir + "PDFtoDOC_out.docx", SaveFormat.DocX);
    }
}

Convertir PDF en DOCX en mode amélioré

Pour obtenir de meilleurs résultats de conversion de PDF en DOCX, vous pouvez utiliser le mode EnhancedFlow. La principale différence entre Flow et Enhanced Flow est que les tableaux (avec et sans bordures) sont reconnus comme de véritables tableaux, et non comme du texte avec une image en arrière-plan. Il y a également la reconnaissance des listes numérotées et de nombreuses autres petites choses.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWord_Advanced_DOCX_Format()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFToDOC.pdf"))
    {
        // Instantiate DocSaveOptions object
        DocSaveOptions saveOptions = new Aspose.Pdf.DocSaveOptions
        {
            // Set format to save MS document
            Format = Aspose.Pdf.DocSaveOptions.DocFormat.DocX,
            // Set the recognition mode as EnhancedFlow
            Mode = Aspose.Pdf.DocSaveOptions.RecognitionMode.EnhancedFlow
        };

        // Save the file into MS document format
        document.Save(dataDir + "PDFToDOC_out.docx", saveOptions);
    }
}

Voir aussi

Cet article couvre également ces sujets. Les codes sont les mêmes que ci-dessus.

Format: Word

Format: DOC

Format: DOCX