Перетворіть PDF у CSV і CSV у PDF за допомогою C++

Файли PDF є стандартним форматом для обміну документами через Інтернет. Можуть бути ситуації, коли вам потрібно буде обробити дані у файлі PDF і додати їх до бази даних. Для таких сценаріїв може виявитися корисним конвертування документа PDF у формат CSV. З іншого боку, у вас можуть бути деякі табличні дані у форматі CSV, якими ви хочете поділитися з кимось у режимі лише для читання. Ви можете досягти цього, перетворивши файли CSV у формат PDF. У цій статті ви дізнаєтеся, як програмно конвертувати файли PDF і CSV за допомогою C++.

C++ API для перетворення CSV у PDF і PDF у формат CSV

Щоб досягти цих перетворень, вам знадобляться Aspose.Cells for C++ і Aspose.PDF for C++ API. Перший є бібліотекою C++ для створення, читання та зміни файлів Excel, тоді як другий є API для роботи з файлами PDF. Ми будемо використовувати API Aspose.Cells for C++ для перетворення файлів CSV у формат PDF і API Aspose.PDF for C++ для перетворення файлів PDF у формат CSV. Ви можете встановити API через NuGet або завантажити їх безпосередньо з розділу Завантаження.

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

Перетворення файлів CSV у формат PDF

Нижче наведено кроки для перетворення файлів CSV у формат PDF.

Нижче наведено зразок коду для перетворення файлів CSV у формат PDF за допомогою C++.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Створіть об’єкт CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Завантажте вхідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Зберегти як файл PDF
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);

Перетворення файлу PDF у формат CSV

Нижче наведено кроки для перетворення файлу PDF у формат CSV.

Нижче наведено зразок коду для перетворення файлу PDF у формат CSV за допомогою C++.

// Завантажити файл PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Ініціалізація об’єкта класу ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Установіть формат збереження як CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Зберегти як файл CSV
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

Перетворіть вибрані сторінки PDF у файл CSV

Aspose.PDF for C++ також надає вам можливість включати певні сторінки PDF у перетворений файл CSV. Щоб досягти цього, ви можете виконати наступні кроки.

Нижче наведено зразок коду для включення вибраних PDF-сторінок у файл CSV.

// Завантажити файл PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Ініціалізація об’єкта класу ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Установіть формат збереження як CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Створіть екземпляр класу Document для представлення файлу CSV.
auto newPdfDocument = MakeObject<Document>();

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Отримайте перші 2 сторінки
	if (i <= 2)
	{
		// Додайте сторінку до нового екземпляра документа
		newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
	}
}

// Зберегти як файл CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

Перетворення сторінок PDF на окремі файли CSV

За допомогою Aspose.PDF for C++ ви також можете конвертувати сторінки PDF в окремі файли CSV. Щоб досягти цього, ви можете виконати наступні кроки.

Нижче наведено зразок коду для перетворення сторінок PDF в окремі файли CSV за допомогою C++.

// Завантажити файл PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// Ініціалізація об’єкта класу ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Установіть формат збереження як CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Створіть екземпляр класу Document для представлення файлу CSV.
	auto newPdfDocument = MakeObject<Document>();

	// Додайте сторінку до нового екземпляра документа
	newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));

	// Зберегти як файл CSV
	newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}

Отримайте безкоштовну ліцензію

Ви можете спробувати API без оціночних обмежень, надіславши запит на безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як конвертувати файли CSV у формат PDF і файли PDF у формат CSV. Крім того, ви бачили, як додати певні сторінки до створеного файлу CSV або конвертувати сторінки PDF в окремі файли CSV. Aspose.Cells for C++ і Aspose.PDF for C++ — це потужні API для роботи з файлами Excel і PDF відповідно. Ви можете детально вивчити API, відвідавши їхню офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також