Os arquivos PDF são um formato padrão para troca de documentos pela Internet. Pode haver situações em que você precise processar os dados no arquivo PDF e adicioná-los a um banco de dados. Para esses cenários, converter o documento PDF para o formato CSV pode ser útil. Por outro lado, você pode ter alguns dados tabulares no formato CSV que deseja compartilhar de maneira somente leitura com alguém. Você pode conseguir isso convertendo os arquivos CSV para o formato PDF. Neste artigo, você aprenderá como interconverter arquivos PDF e CSV programaticamente usando C++.
- API C++ para converter CSV para PDF e PDF para formato CSV
- Converter arquivos CSV para o formato PDF
- Convertendo um arquivo PDF para o formato CSV
- Converter páginas PDF selecionadas em um arquivo CSV
- Convertendo páginas PDF em arquivos CSV individuais
- Obtenha uma licença gratuita
API C++ para converter CSV para PDF e PDF para formato CSV
Para obter essas conversões, você precisará das APIs Aspose.Cells for C++ e Aspose.PDF for C++. A primeira é uma biblioteca C++ para criar, ler e modificar arquivos Excel, enquanto a segunda é uma API para trabalhar com arquivos PDF. Usaremos o Aspose.Cells para C++ API para converter arquivos CSV para o formato PDF e o Aspose.PDF para C++ API para converter arquivos PDF para o formato CSV. Você pode instalar as APIs por meio do NuGet ou baixá-las diretamente da seção Downloads.
PM> Install-Package Aspose.Cells.Cpp
PM> Install-Package Aspose.PDF.Cpp
Converter arquivos CSV para o formato PDF
A seguir estão as etapas para converter arquivos CSV para o formato PDF.
- Crie uma instância da classe ILoadOptions.
- Carregue o arquivo CSV criando um objeto da classe IWorkbook usando a instância ILoadOptions criada anteriormente.
- Salve o arquivo em formato PDF usando o IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat).
Veja a seguir o código de exemplo para converter arquivos CSV em formato PDF usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Criar objeto CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// Carregar o arquivo Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// Salvar como arquivo PDF
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);
Convertendo um arquivo PDF para o formato CSV
A seguir estão as etapas para converter um arquivo PDF para o formato CSV.
- Carregue o arquivo PDF usando a classe Document.
- Crie uma instância da classe ExcelSaveOptions.
- Defina o formato para CSV usando o método ExcelSaveOptions->setFormat (ExcelSaveOptions::ExcelFormat value).
- Salve o arquivo CSV usando o Document->Save (System::String outputFileName, System::SharedPtr opções) método.
Veja a seguir o código de exemplo para converter um arquivo PDF para o formato CSV usando C++.
// Carregar arquivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Inicializar o objeto da classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Definir o formato de salvamento como CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
// Salvar como arquivo CSV
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
Converter páginas PDF selecionadas em um arquivo CSV
O Aspose.PDF para C++ também oferece a capacidade de incluir páginas PDF específicas no arquivo CSV convertido. Para conseguir isso, você pode seguir os seguintes passos.
- Carregue o arquivo PDF usando a classe Document.
- Crie uma instância da classe ExcelSaveOptions.
- Defina o formato para CSV usando o método ExcelSaveOptions->setFormat (ExcelSaveOptions::ExcelFormat value).
- Crie um novo objeto da classe Document para representar o arquivo CSV.
- Percorra as páginas do arquivo PDF usando o método Document->getPages().
- Dentro do loop, especifique a condição para selecionar as páginas desejadas.
- Adicione as páginas ao objeto Document recém-criado usando o Document->getPages()->Add (System::SharedPtr const & entidade) método.
- Salve o arquivo CSV usando o Document->Save (System::String outputFileName, System::SharedPtr options) fora do loop.
Veja a seguir o código de exemplo para incluir páginas PDF selecionadas no arquivo CSV.
// Carregar arquivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Inicializar o objeto da classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Definir o formato de salvamento como CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
// Crie uma instância da classe Document para representar o arquivo CSV.
auto newPdfDocument = MakeObject<Document>();
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// Obter as primeiras 2 páginas
if (i <= 2)
{
// Adicione a página à nova instância de Document
newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
}
}
// Salvar como arquivo CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
Convertendo páginas PDF em arquivos CSV individuais
Com o Aspose.PDF para C++, você também pode converter páginas PDF em arquivos CSV individuais. Para conseguir isso, você pode seguir os seguintes passos.
- Carregue o arquivo PDF usando a classe Document.
- Crie uma instância da classe ExcelSaveOptions.
- Defina o formato para CSV usando o método ExcelSaveOptions->setFormat (ExcelSaveOptions::ExcelFormat value).
- Percorra as páginas do arquivo PDF usando o método Document->getPages().
- Dentro do loop, crie um novo objeto da classe Document para representar o arquivo CSV.
- Adicione as páginas ao objeto Document recém-criado usando o Document->getPages()->Add (System::SharedPtr const & entidade) método.
- Salve o arquivo CSV usando o Document->Save (System::String outputFileName, System::SharedPtr opções) método.
Veja a seguir o código de exemplo para converter páginas PDF em arquivos CSV individuais usando C++.
// Carregar arquivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Inicializar o objeto da classe ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Definir o formato de salvamento como CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// Crie uma instância da classe Document para representar o arquivo CSV.
auto newPdfDocument = MakeObject<Document>();
// Adicione a página à nova instância do Document
newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
// Salvar como arquivo CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}
Obtenha uma licença gratuita
Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como converter arquivos CSV em PDF e arquivos PDF em formato CSV. Além disso, você viu como adicionar páginas específicas ao arquivo CSV gerado ou converter páginas PDF em arquivos CSV individuais. Aspose.Cells para C++ e Aspose.PDF para C++ são APIs poderosas para trabalhar com arquivos Excel e PDF, respectivamente. Você pode explorar as APIs em detalhes visitando sua documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.