Преобразование PDF в CSV и CSV в PDF с помощью C++

Файлы PDF представляют собой стандартный формат для обмена документами через Интернет. Могут быть ситуации, когда вам нужно обработать данные в файле PDF и добавить их в базу данных. В таких случаях может оказаться полезным преобразование документа PDF в формат CSV. С другой стороны, у вас могут быть некоторые табличные данные в формате CSV, которыми вы хотите поделиться с кем-то только для чтения. Этого можно добиться путем преобразования файлов CSV в формат PDF. В этой статье вы узнаете, как программно преобразовывать файлы PDF и CSV с помощью C++.

C++ API для преобразования CSV в формат PDF и PDF в формат CSV

Для выполнения этих преобразований вам потребуются API Aspose.Cells для C++ и Aspose.PDF для C++. Первый — это библиотека C++ для создания, чтения и изменения файлов Excel, а второй — API для работы с PDF-файлами. Мы будем использовать Aspose.Cells для API C++ для преобразования файлов CSV в формат PDF и Aspose.PDF для API 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 для 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 для 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 для C++ и Aspose.PDF для C++ — это мощные API для работы с файлами Excel и PDF соответственно. Вы можете подробно изучить API, посетив их официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также