Tệp PDF là định dạng tiêu chuẩn để trao đổi tài liệu qua internet. Có thể có những trường hợp bạn cần xử lý dữ liệu trong tệp PDF và thêm dữ liệu đó vào cơ sở dữ liệu. Đối với những trường hợp như vậy, việc chuyển đổi tài liệu PDF sang định dạng CSV có thể hữu ích. Mặt khác, bạn có thể có một số dữ liệu dạng bảng ở định dạng CSV mà bạn muốn chia sẻ ở chế độ chỉ đọc với ai đó. Bạn có thể đạt được điều này bằng cách chuyển đổi các tệp CSV sang định dạng PDF. Trong bài viết này, bạn sẽ học cách chuyển đổi lập trình các tệp PDF và CSV bằng C ++.
- C ++ API để chuyển đổi CSV sang PDF và PDF sang định dạng CSV
- Chuyển đổi tệp CSV sang định dạng PDF
- Chuyển đổi tệp PDF sang định dạng CSV
- Chuyển đổi các trang PDF đã chọn thành tệp CSV
- Chuyển đổi các trang PDF thành các tệp CSV riêng lẻ
- Nhận giấy phép miễn phí
C ++ API để chuyển đổi CSV sang PDF và PDF sang định dạng CSV
Để đạt được những chuyển đổi này, bạn sẽ cần các API Aspose.Cells cho C ++ và Aspose.PDF cho C ++. Cái trước là thư viện C ++ để tạo, đọc và sửa đổi các tệp Excel, trong khi cái sau là một API để làm việc với các tệp PDF. Chúng tôi sẽ sử dụng API Aspose.Cells cho C ++ để chuyển đổi tệp CSV sang định dạng PDF và API Aspose.PDF cho C ++ để chuyển đổi tệp PDF sang định dạng CSV. Bạn có thể cài đặt các API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.
PM> Install-Package Aspose.Cells.Cpp
PM> Install-Package Aspose.PDF.Cpp
Chuyển đổi tệp CSV sang định dạng PDF
Sau đây là các bước để chuyển đổi tệp CSV sang định dạng PDF.
- Tạo một phiên bản của lớp ILoadOptions.
- Tải tệp CSV bằng cách tạo một đối tượng của lớp IWorkbook bằng cá thể ILoadOptions đã tạo trước đó.
- Lưu tệp ở định dạng PDF bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String phương thức fileName, Aspose :: Cells :: SaveFormat saveFormat).
Sau đây là mã mẫu để chuyển đổi tệp CSV sang định dạng PDF bằng C ++.
// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");
// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");
// Tạo đối tượng CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// Tải tệp Excel đầu vào
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// Lưu dưới dạng tệp PDF
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);
Chuyển đổi tệp PDF sang định dạng CSV
Sau đây là các bước để chuyển đổi một tệp PDF sang định dạng CSV.
- Tải tệp PDF bằng lớp Tài liệu.
- Tạo một phiên bản của lớp ExcelSaveOptions.
- Đặt định dạng thành CSV bằng phương pháp ExcelSaveOptions-> setFormat (ExcelSaveOptions :: ExcelFormat value).
- Lưu tệp CSV bằng cách sử dụng Document-> Save (System :: String outputFileName, System :: SharedPtr tùy chọn) phương pháp.
Sau đây là mã mẫu để chuyển đổi tệp PDF sang định dạng CSV bằng C ++.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Khởi tạo đối tượng lớp ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Đặt định dạng lưu dưới dạng CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
// Lưu dưới dạng tệp CSV
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
Chuyển đổi các trang PDF đã chọn thành tệp CSV
Aspose.PDF cho C ++ cũng cung cấp cho bạn khả năng bao gồm các trang PDF cụ thể trong tệp CSV đã chuyển đổi. Để đạt được điều này, bạn có thể làm theo các bước sau.
- Tải tệp PDF bằng lớp Tài liệu.
- Tạo một phiên bản của lớp ExcelSaveOptions.
- Đặt định dạng thành CSV bằng phương pháp ExcelSaveOptions-> setFormat (ExcelSaveOptions :: ExcelFormat value).
- Tạo một đối tượng mới của lớp Tài liệu để đại diện cho tệp CSV.
- Lặp lại các trang của tệp PDF bằng phương pháp Document-> getPages().
- Trong vòng lặp, hãy chỉ định điều kiện để chọn các trang mong muốn.
- Thêm các trang vào đối tượng Document mới được tạo bằng cách sử dụng Document-> getPages() -> Add (System :: SharedPtr const & entity) phương thức.
- Lưu tệp CSV bằng cách sử dụng Document-> Save (System :: String outputFileName, System :: SharedPtr tùy chọn) phương thức bên ngoài vòng lặp.
Sau đây là mã mẫu để đưa các trang PDF đã chọn vào tệp CSV.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Khởi tạo đối tượng lớp ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Đặt định dạng lưu dưới dạng CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
// Tạo một phiên bản của lớp Tài liệu để đại diện cho tệp CSV.
auto newPdfDocument = MakeObject<Document>();
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// Nhận 2 trang đầu tiên
if (i <= 2)
{
// Thêm trang vào phiên bản Tài liệu mới
newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
}
}
// Lưu dưới dạng tệp CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);
Chuyển đổi các trang PDF thành các tệp CSV riêng lẻ
Với Aspose.PDF cho C ++, bạn cũng có thể chuyển đổi các trang PDF thành các tệp CSV riêng lẻ. Để đạt được điều này, bạn có thể làm theo các bước sau.
- Tải tệp PDF bằng lớp Tài liệu.
- Tạo một phiên bản của lớp ExcelSaveOptions.
- Đặt định dạng thành CSV bằng phương pháp ExcelSaveOptions-> setFormat (ExcelSaveOptions :: ExcelFormat value).
- Lặp lại các trang của tệp PDF bằng phương pháp Document-> getPages().
- Trong vòng lặp, hãy tạo một đối tượng mới của lớp Tài liệu để đại diện cho tệp CSV.
- Thêm các trang vào đối tượng Document mới được tạo bằng cách sử dụng Document-> getPages() -> Add (System :: SharedPtr const & entity) phương thức.
- Lưu tệp CSV bằng cách sử dụng Document-> Save (System :: String outputFileName, System :: SharedPtr tùy chọn) phương pháp.
Sau đây là mã mẫu để chuyển đổi các trang PDF thành các tệp CSV riêng lẻ bằng C ++.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");
// Khởi tạo đối tượng lớp ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;
// Đặt định dạng lưu dưới dạng CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);
for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
// Tạo một phiên bản của lớp Tài liệu để đại diện cho tệp CSV.
auto newPdfDocument = MakeObject<Document>();
// Thêm trang vào phiên bản Tài liệu mới
newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
// Lưu dưới dạng tệp CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}
Nhận giấy phép miễn phí
Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.
Sự kết luận
Trong bài viết này, bạn đã biết cách chuyển đổi tệp CSV sang PDF và tệp PDF sang định dạng CSV. Hơn nữa, bạn đã thấy cách thêm các trang cụ thể vào tệp CSV đã tạo hoặc chuyển đổi các trang PDF thành các tệp CSV riêng lẻ. Aspose.Cells cho C ++ và Aspose.PDF cho C ++ là các API mạnh mẽ để làm việc với các tệp Excel và PDF tương ứng. Bạn có thể khám phá chi tiết các API bằng cách truy cập tài liệu chính thức của chúng. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.