PDF 파일은 인터넷을 통해 문서를 교환하기 위한 표준 형식입니다. PDF 파일의 데이터를 처리하고 데이터베이스에 추가해야 하는 상황이 있을 수 있습니다. 이러한 시나리오의 경우 PDF 문서를 CSV 형식으로 변환하는 것이 도움이 될 수 있습니다. 반면에 다른 사람과 읽기 전용 방식으로 공유하려는 CSV 형식의 테이블 형식 데이터가 있을 수 있습니다. CSV 파일을 PDF 형식으로 변환하여 이를 달성할 수 있습니다. 이 기사에서는 C++를 사용하여 프로그래밍 방식으로 PDF 및 CSV 파일을 상호 변환하는 방법을 배웁니다.
- CSV를 PDF로, PDF를 CSV 형식으로 변환하는 C++ API
- CSV 파일을 PDF 형식으로 변환
- PDF 파일을 CSV 형식으로 변환
- 선택한 PDF 페이지를 CSV 파일로 변환
- PDF 페이지를 개별 CSV 파일로 변환
- 무료 라이선스 받기
CSV를 PDF로, PDF를 CSV 형식으로 변환하는 C++ API
이러한 변환을 수행하려면 C++용 Aspose.Cells 및 C++용 Aspose.PDF API가 필요합니다. 전자는 엑셀 파일 생성, 읽기, 수정을 위한 C++ 라이브러리이고 후자는 PDF 파일 작업을 위한 API입니다. Aspose.Cells for C++ API를 사용하여 CSV 파일을 PDF 형식으로 변환하고 Aspose.PDF for C++ API를 사용하여 PDF 파일을 CSV 형식으로 변환합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.Cells.Cpp
PM> Install-Package Aspose.PDF.Cpp
CSV 파일을 PDF 형식으로 변환
다음은 CSV 파일을 PDF 형식으로 변환하는 단계입니다.
- ILoadOptions 클래스의 인스턴스를 만듭니다.
- 앞서 생성한 ILoadOptions 인스턴스를 사용하여 IWorkbook 클래스의 개체를 생성하여 CSV 파일을 로드합니다.
- IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) 메서드.
다음은 C++를 사용하여 CSV 파일을 PDF 형식으로 변환하는 샘플 코드입니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// CSV LoadOptions 개체 만들기
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// 입력 엑셀 파일 불러오기
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 형식으로 변환하는 단계입니다.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- ExcelSaveOptions 클래스의 인스턴스를 만듭니다.
- ExcelSaveOptions->set_Format (ExcelSaveOptions::ExcelFormat 값) 메서드를 사용하여 형식을 CSV로 설정합니다.
- Document->Save(System::String outputFileName, System::SharedPtr)를 사용하여 CSV 파일을 저장합니다. 옵션) 메서드.
다음은 C++를 사용하여 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);
// CSV 파일로 저장
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
선택한 PDF 페이지를 CSV 파일로 변환
Aspose.PDF for C++는 변환된 CSV 파일에 특정 PDF 페이지를 포함하는 기능도 제공합니다. 이를 위해 다음 단계를 수행할 수 있습니다.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- ExcelSaveOptions 클래스의 인스턴스를 만듭니다.
- ExcelSaveOptions->set_Format (ExcelSaveOptions::ExcelFormat 값) 메서드를 사용하여 형식을 CSV로 설정합니다.
- CSV 파일을 나타내는 Document 클래스의 새 개체를 만듭니다.
- Document->get_Pages() 메서드를 사용하여 PDF 파일의 페이지를 반복합니다.
- 루프 내에서 원하는 페이지를 선택하기 위한 조건을 지정합니다.
- [Document->get_Pages()->Add(System::SharedPtr)를 사용하여 새로 생성된 Document 개체에 페이지를 추가합니다. const & entity)]20 메서드.
- Document->Save(System::String outputFileName, System::SharedPtr)를 사용하여 CSV 파일을 저장합니다. 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);
// CSV 파일을 나타내는 Document 클래스의 인스턴스를 만듭니다.
auto newPdfDocument = MakeObject<Document>();
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// 처음 2페이지 가져오기
if (i <= 2)
{
// 새 Document 인스턴스에 페이지 추가
newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
}
}
// CSV 파일로 저장
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
PDF 페이지를 개별 CSV 파일로 변환
C++용 Aspose.PDF를 사용하면 PDF 페이지를 개별 CSV 파일로 변환할 수도 있습니다. 이를 위해 다음 단계를 수행할 수 있습니다.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- ExcelSaveOptions 클래스의 인스턴스를 만듭니다.
- ExcelSaveOptions->set_Format (ExcelSaveOptions::ExcelFormat 값) 메서드를 사용하여 형식을 CSV로 설정합니다.
- Document->get_Pages() 메서드를 사용하여 PDF 파일의 페이지를 반복합니다.
- 루프 내에서 CSV 파일을 나타내는 Document 클래스의 새 개체를 만듭니다.
- [Document->get_Pages()->Add(System::SharedPtr)를 사용하여 새로 생성된 Document 개체에 페이지를 추가합니다. const & entity)]28 메서드.
- Document->Save(System::String outputFileName, System::SharedPtr)를 사용하여 CSV 파일을 저장합니다. 옵션) 메서드.
다음은 C++를 사용하여 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);
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// CSV 파일을 나타내는 Document 클래스의 인스턴스를 만듭니다.
auto newPdfDocument = MakeObject<Document>();
// 새 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 파일로 변환하는 방법을 살펴보았습니다. C++용 Aspose.Cells 및 C++용 Aspose.PDF는 각각 Excel 및 PDF 파일 작업을 위한 강력한 API입니다. 공식 문서를 방문하여 API를 자세히 탐색할 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.