Convertir PDF en CSV et CSV en PDF en utilisant C++

Les fichiers PDF sont un format standard pour l’échange de documents sur Internet. Dans certaines situations, vous devrez peut-être traiter les données du fichier PDF et les ajouter à une base de données. Pour de tels scénarios, la conversion du document PDF au format CSV peut s’avérer utile. D’autre part, vous pourriez avoir des données tabulaires au format CSV que vous souhaitez partager en lecture seule avec quelqu’un. Vous pouvez y parvenir en convertissant les fichiers CSV au format PDF. Dans cet article, vous apprendrez comment interconvertir des fichiers PDF et CSV par programmation à l’aide de C++.

API C++ pour convertir CSV en PDF et PDF au format CSV

Pour réaliser ces conversions, vous aurez besoin des API Aspose.Cells for C++ et Aspose.PDF for C++. La première est une bibliothèque C++ pour créer, lire et modifier des fichiers Excel, tandis que la seconde est une API pour travailler avec des fichiers PDF. Nous utiliserons l’API Aspose.Cells for C++ pour convertir les fichiers CSV au format PDF et l’API Aspose.PDF for C++ pour convertir les fichiers PDF au format CSV. Vous pouvez soit installer les API via NuGet, soit les télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Cells.Cpp
PM> Install-Package Aspose.PDF.Cpp

Convertir des fichiers CSV au format PDF

Voici les étapes pour convertir les fichiers CSV au format PDF.

Voici un exemple de code pour convertir des fichiers CSV au format PDF à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Créer un objet CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Charger le fichier Excel d'entrée
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Enregistrer en tant que fichier PDF
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);

Conversion d’un fichier PDF au format CSV

Voici les étapes pour convertir un fichier PDF au format CSV.

Voici un exemple de code pour convertir un fichier PDF au format CSV à l’aide de C++.

// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Initialiser l'objet de classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Définir le format d'enregistrement en tant que CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Enregistrer en tant que fichier CSV
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

Convertir les pages PDF sélectionnées en un fichier CSV

Aspose.PDF for C++ vous offre également la possibilité d’inclure des pages PDF spécifiques dans le fichier CSV converti. Pour y parvenir, vous pouvez suivre les étapes suivantes.

Voici un exemple de code pour inclure les pages PDF sélectionnées dans le fichier CSV.

// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Initialiser l'objet de classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Définir le format d'enregistrement en tant que CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Créez une instance de la classe Document pour représenter le fichier CSV.
auto newPdfDocument = MakeObject<Document>();

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Obtenir les 2 premières pages
	if (i <= 2)
	{
		// Ajouter la page à la nouvelle instance de document
		newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
	}
}

// Enregistrer en tant que fichier CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

Conversion de pages PDF en fichiers CSV individuels

Avec Aspose.PDF for C++, vous pouvez également convertir des pages PDF en fichiers CSV individuels. Pour y parvenir, vous pouvez suivre les étapes suivantes.

Voici un exemple de code pour convertir des pages PDF en fichiers CSV individuels à l’aide de C++.

// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Initialiser l'objet de classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Définir le format d'enregistrement en tant que CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Créez une instance de la classe Document pour représenter le fichier CSV.
	auto newPdfDocument = MakeObject<Document>();

	// Ajouter la page à la nouvelle instance de document
	newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));

	// Enregistrer en tant que fichier CSV
	newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à convertir des fichiers CSV en PDF et des fichiers PDF au format CSV. De plus, vous avez vu comment ajouter des pages spécifiques au fichier CSV généré ou convertir des pages PDF en fichiers CSV individuels. Aspose.Cells for C++ et Aspose.PDF for C++ sont des API puissantes pour travailler avec des fichiers Excel et PDF, respectivement. Vous pouvez explorer les API en détail en visitant leur documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également