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
- Convertir des fichiers CSV au format PDF
- Conversion d’un fichier PDF au format CSV
- Convertir les pages PDF sélectionnées en un fichier CSV
- Conversion de pages PDF en fichiers CSV individuels
- Obtenez une licence gratuite
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.
- Créez une instance de la classe ILoadOptions.
- Chargez le fichier CSV en créant un objet de la classe IWorkbook à l’aide de l’instance ILoadOptions créée précédemment.
- Enregistrez le fichier au format PDF à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) méthode.
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.
- Chargez le fichier PDF à l’aide de la classe Document.
- Créez une instance de la classe ExcelSaveOptions.
- Définissez le format sur CSV à l’aide de la méthode ExcelSaveOptions->setFormat (ExcelSaveOptions :: ExcelFormat value).
- Enregistrez le fichier CSV en utilisant Document->Save (System::String outputFileName, System::SharedPtr options) méthode.
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.
- Chargez le fichier PDF à l’aide de la classe Document.
- Créez une instance de la classe ExcelSaveOptions.
- Définissez le format sur CSV à l’aide de la méthode ExcelSaveOptions->setFormat (ExcelSaveOptions :: ExcelFormat value).
- Créez un nouvel objet de la classe Document pour représenter le fichier CSV.
- Parcourez les pages du fichier PDF en utilisant la méthode Document->getPages().
- Dans la boucle, spécifiez la condition de sélection des pages souhaitées.
- Ajoutez les pages à l’objet Document nouvellement créé à l’aide de Document->getPages()->Add (System::SharedPtr const & entité) méthode.
- Enregistrez le fichier CSV en utilisant Document->Save (System::String outputFileName, System::SharedPtr options) méthode en dehors de la boucle.
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.
- Chargez le fichier PDF à l’aide de la classe Document.
- Créez une instance de la classe ExcelSaveOptions.
- Définissez le format sur CSV à l’aide de la méthode ExcelSaveOptions->setFormat (ExcelSaveOptions :: ExcelFormat value).
- Parcourez les pages du fichier PDF en utilisant la méthode Document->getPages().
- Dans la boucle, créez un nouvel objet de la classe Document pour représenter le fichier CSV.
- Ajoutez les pages à l’objet Document nouvellement créé à l’aide de Document->getPages()->Add (System::SharedPtr const & entity) méthode.
- Enregistrez le fichier CSV en utilisant Document->Save (System::String outputFileName, System::SharedPtr options) méthode.
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.