Converti PDF in CSV e CSV in PDF utilizzando C++

I file PDF sono un formato standard per lo scambio di documenti su Internet. Potrebbero verificarsi situazioni in cui è necessario elaborare i dati nel file PDF e aggiungerli a un database. Per tali scenari, la conversione del documento PDF in formato CSV potrebbe rivelarsi utile. D’altra parte, potresti avere alcuni dati tabulari in formato CSV che desideri condividere in sola lettura con qualcuno. Puoi ottenere ciò convertendo i file CSV in formato PDF. In questo articolo imparerai come interconvertire file PDF e CSV a livello di codice usando C++.

API C++ per convertire CSV in PDF e PDF in formato CSV

Per ottenere queste conversioni, avrai bisogno delle API Aspose.Cells for C++ e Aspose.PDF for C++. La prima è una libreria C++ per creare, leggere e modificare file Excel, mentre la seconda è un’API per lavorare con file PDF. Utilizzeremo l’API Aspose.Cells per C++ per convertire i file CSV in formato PDF e l’API Aspose.PDF per C++ per convertire i file PDF in formato CSV. Puoi installare le API tramite NuGet o scaricarle direttamente dalla sezione Download.

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

Converti file CSV in formato PDF

Di seguito sono riportati i passaggi per convertire i file CSV in formato PDF.

Di seguito è riportato il codice di esempio per convertire i file CSV in formato PDF utilizzando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Crea un oggetto LoadOptions CSV
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Carica il file Excel di input
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Salva come file PDF
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);

Conversione di un file PDF in formato CSV

Di seguito sono riportati i passaggi per convertire un file PDF in formato CSV.

Di seguito è riportato il codice di esempio per convertire un file PDF in formato CSV utilizzando C++.

// Carica file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Inizializza l'oggetto classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Imposta il formato di salvataggio come CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Salva come file CSV
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

Converti le pagine PDF selezionate in un file CSV

Aspose.PDF per C++ offre anche la possibilità di includere pagine PDF specifiche nel file CSV convertito. Per raggiungere questo obiettivo, puoi seguire i seguenti passaggi.

Di seguito è riportato il codice di esempio per includere le pagine PDF selezionate nel file CSV.

// Carica file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Inizializza l'oggetto classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Imposta il formato di salvataggio come CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Crea un'istanza della classe Document per rappresentare il file CSV.
auto newPdfDocument = MakeObject<Document>();

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Ottieni le prime 2 pagine
	if (i <= 2)
	{
		// Aggiungi la pagina alla nuova istanza del documento
		newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
	}
}

// Salva come file CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

Conversione di pagine PDF in singoli file CSV

Con Aspose.PDF per C++, puoi anche convertire le pagine PDF in singoli file CSV. Per raggiungere questo obiettivo, puoi seguire i seguenti passaggi.

Di seguito è riportato il codice di esempio per convertire le pagine PDF in singoli file CSV utilizzando C++.

// Carica file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Inizializza l'oggetto classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Imposta il formato di salvataggio come CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Crea un'istanza della classe Document per rappresentare il file CSV.
	auto newPdfDocument = MakeObject<Document>();

	// Aggiungi la pagina alla nuova istanza del documento
	newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));

	// Salva come file CSV
	newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come convertire i file CSV in PDF e i file PDF in formato CSV. Inoltre, hai visto come aggiungere pagine specifiche al file CSV generato o convertire pagine PDF in singoli file CSV. Aspose.Cells per C++ e Aspose.PDF per C++ sono potenti API per lavorare rispettivamente con file Excel e PDF. Puoi esplorare le API in dettaglio visitando la loro documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche