Convert PDF to Excel en C++

Aperçu

Cet article explique comment convertir des formats PDF en Excel en utilisant C++. Il couvre les sujets suivants.

Format: XLS

Format: XLSX

Format: Format Microsoft Excel XLS

Format: Format Microsoft Excel XLSX

Autres sujets couverts par cet article

Conversions PDF vers Excel en C++

Aspose.PDF pour C++ prend en charge la fonctionnalité de conversion de fichiers PDF en formats Excel.

Aspose.PDF pour C++ est un composant de manipulation de PDF, nous avons introduit une fonctionnalité qui rend le fichier PDF en classeur Excel (fichiers XLS). Au cours de cette conversion, les pages individuelles du fichier PDF sont converties en feuilles de calcul Excel.

Afin de convertir des fichiers PDF au format XLS, Aspose.PDF a une classe appelée ExcelSaveOptions. Un objet de la classe ExcelSaveOptions est passé en tant que deuxième argument au constructeur Document.Save(..).

Le code suivant montre le processus de conversion d’un fichier PDF au format XLS avec Aspose.PDF pour C++.

Étapes : Convertir PDF en XLS en C++ | Étapes : Convertir PDF en format Excel XLS en C++

  1. Créez une instance de l’objet Document avec le document PDF source.
  2. Enregistrez-le au format XLS en appelant la méthode Document->Save().
void ConvertPDFtoExcel()
{
    std::clog << __func__ << ": Start" << std::endl;
    // String pour le chemin du répertoire
    String _dataDir("C:\\Samples\\Conversion\\");

    // String pour le nom de fichier
    String infilename("sample.pdf");
    String outfilename("PDFToExcel.xls");

    // Ouvrir le document
    auto document = MakeObject<Document>(_dataDir + infilename);

    try {
    // Enregistrer la sortie au format XLS
    document->Save(_dataDir + outfilename, SaveFormat::Excel);
    }
    catch (Exception ex) {
    std::cerr << ex->get_Message();
    }
    std::clog << __func__ << ": Finish" << std::endl;
}

Convertir PDF en XLS avec colonne de contrôle

Lors de la conversion d’un PDF en format XLS, une colonne vide est ajoutée au fichier de sortie comme première colonne. La classe ExcelSaveOptions utilise l’option InsertBlankColumnAtFirst pour contrôler cette colonne. Sa valeur par défaut est true.

void ConvertPDFtoExcel_Advanced_InsertBlankColumnAtFirst()
{
    std::clog << __func__ << ": Start" << std::endl;
    // Chaîne pour le nom du chemin
    String _dataDir("C:\\Samples\\Conversion\\");

    // Chaîne pour le nom du fichier
    String infilename("sample.pdf");
    String outfilename("PDFToExcel.xls");

    // Ouvrir le document
    auto document = MakeObject<Document>(_dataDir + infilename);

    // Instancier l'objet ExcelSave Option
    auto excelSave = MakeObject<ExcelSaveOptions>();

    // La classe ExcelSaveOptions utilise l'option InsertBlankColumnAtFirst pour contrôler cette colonne. Sa valeur par défaut est true.
    excelSave->set_InsertBlankColumnAtFirst(false);

    // Enregistrer la sortie au format XLS
    document->Save(outfilename, excelSave);
    std::clog << __func__ << ": Finish" << std::endl;
}

Convertir un PDF en une seule feuille de calcul Excel

Lors de l’exportation d’un fichier PDF avec beaucoup de pages vers XLS, chaque page est exportée vers une feuille différente dans le fichier Excel. Cela est dû au fait que la propriété MinimizeTheNumberOfWorksheets est définie sur false par défaut. Pour garantir que toutes les pages sont exportées sur une seule feuille dans le fichier Excel de sortie, définissez la propriété MinimizeTheNumberOfWorksheets sur true.

void ConvertPDFtoExcel_Advanced_MinimizeTheNumberOfWorksheets()
{
    std::clog << __func__ << ": Start" << std::endl;
    // Chaîne pour le nom de chemin
    String _dataDir("C:\\Samples\\Conversion\\");

    // Chaîne pour le nom de fichier
    String infilename("sample.pdf");
    String outfilename("PDFToExcel.xls");

    // Ouvrir le document
    auto document = MakeObject<Document>(_dataDir + infilename);

    // Instancier l'objet ExcelSave Option
    auto excelSave = MakeObject<ExcelSaveOptions>();

    excelSave->set_MinimizeTheNumberOfWorksheets(true);

    // Enregistrer la sortie au format XLS
    document->Save(outfilename, excelSave);
    std::clog << __func__ << ": Finish" << std::endl;
}

Convertir au format XLSX

Par défaut, Aspose.PDF utilise XML Spreadsheet 2003 pour stocker les données. Afin de convertir des fichiers PDF au format XLSX, Aspose.PDF dispose d’une classe appelée ExcelSaveOptions avec ‘Format’. Un objet de la classe ExcelSaveOptions est passé en tant que deuxième argument à la méthode Save.

L’extrait de code suivant montre le processus de conversion d’un fichier PDF en format XLSX.

Étapes : Convertir PDF en XLSX en C++ | Étapes : Convertir PDF en format Excel XLSX en C++

  1. Créez une instance de l’objet Document avec le document PDF source.
  2. Créer une instance de ExcelSaveOptions.
  3. Définir le format comme ExcelSaveOptions::ExcelFormat::XLSX.
  4. Enregistrez-le au format XLSX en appelant la méthode Document->Save() et en lui passant l’instance de ExcelSaveOptions.
void ConvertPDFtoExcel_Advanced_SaveXLSX()
{
    std::clog << __func__ << ": Start" << std::endl;
    // Chaîne pour le nom de chemin
    String _dataDir("C:\\Samples\\Conversion\\");

    // Chaîne pour le nom de fichier
    String infilename("sample.pdf");
    String outfilename("PDFToExcel.xls");

    // Ouvrir le document
    auto document = MakeObject<Document>(_dataDir + infilename);

    // Instancier l'objet ExcelSave Option
    auto excelSave = MakeObject<ExcelSaveOptions>();

    excelSave->set_Format(ExcelSaveOptions::ExcelFormat::XLSX);

    // Enregistrez la sortie au format XLS
    document->Save(outfilename, excelSave);
    std::clog << __func__ << ": Finish" << std::endl;
}

Voir Aussi

Cet article couvre également ces sujets. Les codes sont identiques à ceux ci-dessus.

Format: Format Microsoft Excel XLS

Format: Format Microsoft Excel XLSX

Format: XLS

Format: XLSX