使用 C++ 將 PDF 轉換為 CSV,將 CSV 轉換為 PDF

PDF 文件是通過 Internet 交換文檔的標準格式。在某些情況下,您可能需要處理 PDF 文件中的數據並將其添加到數據庫中。對於此類情況,將 PDF 文檔轉換為 CSV 格式可能會有所幫助。另一方面,您可能有一些 CSV 格式的表格數據,您希望以只讀方式與他人共享這些數據。您可以通過將 CSV 文件轉換為 PDF 格式來實現此目的。在本文中,您將學習如何使用 C++ 以編程方式相互轉換 PDF 和 CSV 文件。

用於將 CSV 轉換為 PDF 以及將 PDF 轉換為 CSV 格式的 C++ API

要實現這些轉換,您將需要 Aspose.Cells for C++Aspose.PDF for C++ API。前者是一個用於創建、讀取和修改 Excel 文件的 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 格式的步驟。

以下是使用 C++ 將 CSV 文件轉換為 PDF 格式的示例代碼。

// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\");

// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");

// 創建 CSV LoadOptions 對象
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// 加載輸入的 Excel 文件
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 格式的步驟。

以下是使用 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 頁面。為此,您可以按照以下步驟操作。

以下是將所選 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);

// 創建 Document 類的實例來表示 CSV 文件。
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 文件

使用 Aspose.PDF for C++,您還可以將 PDF 頁面轉換為單獨的 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++)
{
	// 創建 Document 類的實例來表示 CSV 文件。
	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 文件。 Aspose.Cells for C++ 和 Aspose.PDF for C++ 是分別用於處理 Excel 和 PDF 文件的強大 API。您可以通過訪問它們的官方文檔來詳細探索這些 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看