Los archivos PDF son un formato estándar para intercambiar documentos a través de Internet. Puede haber situaciones en las que necesite procesar los datos en el archivo PDF y agregarlos a una base de datos. Para tales escenarios, convertir el documento PDF a formato CSV podría resultar útil. Por otro lado, es posible que tenga algunos datos tabulares en formato CSV que desee compartir de forma de solo lectura con alguien. Puede lograr esto convirtiendo los archivos CSV a formato PDF. En este artículo, aprenderá a interconvertir archivos PDF y CSV mediante programación usando C++.
- API de C++ para convertir CSV a PDF y PDF a formato CSV
- Convertir archivos CSV a formato PDF
- Convertir un archivo PDF a formato CSV
- Convertir páginas PDF seleccionadas en un archivo CSV
- Conversión de páginas PDF en archivos CSV individuales
- Obtenga una licencia gratis
API de C++ para convertir CSV a PDF y PDF a formato CSV
Para lograr estas conversiones, necesitará Aspose.Cells for C++ y Aspose.PDF for C++ API. La primera es una biblioteca de C++ para crear, leer y modificar archivos de Excel, mientras que la segunda es una API para trabajar con archivos PDF. Usaremos Aspose.Cells for C++ API para convertir archivos CSV a formato PDF y Aspose.PDF for C++ API para convertir archivos PDF a formato CSV. Puede instalar las API a través de NuGet o descargarlas directamente desde la sección Descargas.
PM> Install-Package Aspose.Cells.Cpp
PM> Install-Package Aspose.PDF.Cpp
Convertir archivos CSV a formato PDF
Los siguientes son los pasos para convertir archivos CSV a formato PDF.
- Cree una instancia de la clase ILoadOptions.
- Cargue el archivo CSV creando un objeto de la clase IWorkbook usando la instancia ILoadOptions creada anteriormente.
- Guarde el archivo en formato PDF usando IWorkbook->Save (intrusive\ptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) método.
El siguiente es el código de muestra para convertir archivos CSV a formato PDF usando C++.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Crear objeto CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// Cargue el archivo de Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// Guardar como archivo PDF
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);
Convertir un archivo PDF a formato CSV
Los siguientes son los pasos para convertir un archivo PDF a formato CSV.
- Cargue el archivo PDF utilizando la clase Document.
- Cree una instancia de la clase ExcelSaveOptions.
- Establezca el formato en CSV usando el método ExcelSaveOptions->set_Format (ExcelSaveOptions::ExcelFormat value).
- Guarde el archivo CSV usando Document->Save(System::String outputFileName, System::SharedPtr opciones) método.
El siguiente es el código de muestra para convertir un archivo PDF a formato CSV usando C++.
// Cargar archivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Inicializar objeto de clase ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Establecer formato de guardado como CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
// Guardar como archivo CSV
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
Convertir páginas PDF seleccionadas en un archivo CSV
Aspose.PDF for C++ también le brinda la posibilidad de incluir páginas PDF específicas en el archivo CSV convertido. Para conseguirlo, puedes seguir los siguientes pasos.
- Cargue el archivo PDF utilizando la clase Document.
- Cree una instancia de la clase ExcelSaveOptions.
- Establezca el formato en CSV utilizando el método ExcelSaveOptions->set_Format (ExcelSaveOptions::ExcelFormat value).
- Cree un nuevo objeto de la clase Document para representar el archivo CSV.
- Recorra las páginas del archivo PDF utilizando el método Document->get_Pages().
- Dentro del ciclo, especifique la condición para seleccionar las páginas deseadas.
- Agregue las páginas al objeto Document recién creado usando Document->get_Pages()->Add (System::SharedPtr const & entidad) método.
- Guarde el archivo CSV usando Document->Save(System::String outputFileName, System::SharedPtr options) método fuera del ciclo.
El siguiente es el código de muestra para incluir páginas PDF seleccionadas en el archivo CSV.
// Cargar archivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Inicializar objeto de clase ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Establecer formato de guardado como CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
// Cree una instancia de la clase Document para representar el archivo CSV.
auto newPdfDocument = MakeObject<Document>();
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// Obtener las primeras 2 páginas
if (i <= 2)
{
// Agregar la página a la nueva instancia de Documento
newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
}
}
// Guardar como archivo CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
Conversión de páginas PDF en archivos CSV individuales
Con Aspose.PDF for C++, también puede convertir páginas PDF en archivos CSV individuales. Para conseguirlo, puedes seguir los siguientes pasos.
- Cargue el archivo PDF utilizando la clase Document.
- Cree una instancia de la clase ExcelSaveOptions.
- Establezca el formato en CSV usando el método ExcelSaveOptions->set_Format (ExcelSaveOptions::ExcelFormat value).
- Recorra las páginas del archivo PDF usando el método Document->get_Pages().
- Dentro del bucle, cree un nuevo objeto de la clase Document para representar el archivo CSV.
- Agregue las páginas al objeto Document recién creado usando Document->get_Pages()->Add (System::SharedPtr const & entidad) método.
- Guarde el archivo CSV usando Document->Save(System::String outputFileName, System::SharedPtr opciones) método.
El siguiente es el código de muestra para convertir páginas PDF en archivos CSV individuales usando C++.
// Cargar archivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Inicializar objeto de clase ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Establecer formato de guardado como CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// Cree una instancia de la clase Document para representar el archivo CSV.
auto newPdfDocument = MakeObject<Document>();
// Agregar la página a la nueva instancia de Documento
newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
// Guardar como archivo CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}
Obtenga una licencia gratis
Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido cómo convertir archivos CSV a PDF y archivos PDF a formato CSV. Además, ha visto cómo agregar páginas específicas al archivo CSV generado o convertir páginas PDF en archivos CSV individuales. Aspose.Cells for C++ y Aspose.PDF for C++ son potentes API para trabajar con archivos Excel y PDF, respectivamente. Puede explorar las API en detalle visitando su documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.