Файлы PDF представляют собой стандартный формат для обмена документами через Интернет. Могут быть ситуации, когда вам нужно обработать данные в файле PDF и добавить их в базу данных. В таких случаях может оказаться полезным преобразование документа PDF в формат CSV. С другой стороны, у вас могут быть некоторые табличные данные в формате CSV, которыми вы хотите поделиться с кем-то только для чтения. Этого можно добиться путем преобразования файлов CSV в формат PDF. В этой статье вы узнаете, как программно преобразовывать файлы PDF и CSV с помощью C++.
- C++ API для преобразования CSV в формат PDF и PDF в формат CSV
- Преобразование файлов CSV в формат PDF
- Преобразование файла PDF в формат CSV
- Преобразование выбранных страниц PDF в файл CSV
- Преобразование страниц PDF в отдельные файлы CSV
- Получить бесплатную лицензию
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.
- Создайте экземпляр класса ILoadOptions.
- Загрузите файл CSV, создав объект класса IWorkbook с использованием созданного ранее экземпляра ILoadOptions.
- Сохраните файл в формате PDF с помощью команды IWorkbook->Сохранить (intrusiveptrAspose::Cells::Systems::String имя_файла, метод Aspose::Cells::SaveFormat saveFormat).
Ниже приведен пример кода для преобразования файлов 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 с помощью класса Document.
- Создайте экземпляр класса ExcelSaveOptions.
- Установите формат CSV с помощью метода ExcelSaveOptions->set_Format (значение ExcelSaveOptions::ExcelFormat).
- Сохраните CSV-файл, используя Документ->Сохранить (System::String outputFileName, System::SharedPtr варианты) метод.
Ниже приведен пример кода для преобразования файла 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 с помощью класса Document.
- Создайте экземпляр класса ExcelSaveOptions.
- Установите формат CSV с помощью метода ExcelSaveOptions->set_Format (значение ExcelSaveOptions::ExcelFormat).
- Создайте новый объект класса Document для представления CSV-файла.
- Пролистайте страницы файла PDF, используя метод Document->get_Pages().
- В цикле укажите условие выбора нужных страниц.
- Добавьте страницы во вновь созданный объект Document с помощью команды Document->get_Pages()->Add (System::SharedPtr const & entity) метод.
- Сохраните CSV-файл, используя Документ->Сохранить (System::String outputFileName, System::SharedPtr options) вне цикла.
Ниже приведен пример кода для включения выбранных страниц 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 с помощью класса Document.
- Создайте экземпляр класса ExcelSaveOptions.
- Установите формат CSV, используя метод ExcelSaveOptions->set_Format (значение ExcelSaveOptions::ExcelFormat).
- Пролистайте страницы файла PDF, используя метод Document->get_Pages().
- В цикле создайте новый объект класса Document для представления CSV-файла.
- Добавьте страницы во вновь созданный объект Document с помощью команды Document->get_Pages()->Add (System::SharedPtr const & entity) метод.
- Сохраните файл CSV, используя Документ->Сохранить (System::String outputFileName, System::SharedPtr варианты) метод.
Ниже приведен пример кода для преобразования страниц 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, посетив их официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.