Chuyển đổi PDF sang CSV và CSV sang PDF bằng C ++

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

Để đạt được những chuyển đổi này, bạn sẽ cần các API Aspose.Cells cho C ++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.

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.

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.

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.

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.

Xem thêm