彩票走势图

无需MS Office创建Excel!使用C ++将实现CSV和PDF格式相互转换教程来啦!

翻译|使用教程|编辑:李显亮|2021-03-31 10:13:58.233|阅读 187 次

概述:在某些情况下,需要处理PDF文件中的数据并将其添加到数据库中。对于这种情况,将PDF文档转换为 CSV 格式可能会有所帮助。在本文中,将学习如何使用C ++以编程方式对PDF和CSV文件进行相互转换。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

PDF 文件是通过Internet交换文档的标准格式。在某些情况下,需要处理PDF文件中的数据并将其添加到数据库中。对于这种情况,将PDF文档转换为 CSV 格式可能会有所帮助。另一方面,可能希望以只读方式与某人共享一些CSV格式的表格数据。可以通过将CSV文件转换为PDF格式来实现。在本文中,将学习如何使用C ++以编程方式对PDF和CSV文件进行相互转换。

  • 将CSV文件转换为PDF格式
  • 将PDF文件转换为CSV格式
  • 将选定的PDF页面转换为CSV文件
  • 将PDF页面转换为单个CSV文件

要实现这些转换,您需要C ++ API的Aspose.Cells和C ++ API的Aspose.PDF。前者是用于创建,读取和修改Excel文件的C ++库,而后者是用于处理PDF文件的API。我们将使用Aspose.Cells for C ++ API将CSV文件转换为PDF格式,并使用Aspose.PDF for C ++ API将PDF文件转换为CSV格式。

无需MS Office创建Excel!使用C ++将实现CSV和PDF格式相互转换教程来啦!
整合所有格式的Aspose.Total永久授权正在火热促销中,立马1分钟了解全部咨询!

将CSV文件转换为PDF格式

以下是将CSV文件转换为PDF格式的步骤。

  • 创建ILoadOptions 类的实例 。
  • 通过 使用先前 创建的ILoadOptions实例创建IWorkbook类 的对象来加载CSV文件 。
  • 使用IWorkbook-> Save(intrusive_ptrfileName,Aspose :: Cells :: SaveFormat saveFormat) 方法将文件保存为PDF格式 。

以下是使用C ++将CSV文件转换为PDF格式的示例代码。

// Source directory path.
StringPtr srcDir = new String("SourceDirectory\\");

// Output directory path.
StringPtr outDir = new String("OutputDirectory\\");

// Create CSV LoadOptions object
intrusive_ptrloadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Load the input Excel file
intrusive_ptrworkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Save as PDF file
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);

将PDF文件转换为CSV格式

以下是将PDF文件转换为CSV格式的步骤。

  • 使用Document 类加载PDF文件 。
  • 创建一个ExcelSaveOptions类的实例。
  • 使用ExcelSaveOptions-> set_Format(ExcelSaveOptions :: ExcelFormat值)方法将格式设置为CSV 。
  • 使用“文档”->“保存”(System :: String outputFileName,System :: SharedPtr选项)方法保存CSV文件。

以下是使用C ++将PDF文件转换为CSV格式的示例代码。

// Load PDF file
auto pdfDocument = MakeObject(u"SourceDirectory\\Sample2_csv.pdf");

// Initialize ExcelSaveOptions class object
auto options = MakeObject();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Set save format as CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Save as CSV file
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 。
  • 创建Document 类的新对象以表示CSV文件。
  • 使用Document-> get_Pages() 方法循环浏览PDF文件的页面 。
  • 在循环中,指定选择所需页面的条件。
  • 使用Document-> get_Pages()-> Add(系统:: SharedPtr常量和实体)方法将页面添加到新创建的Document对象。
  • 在循环外使用“文档”->“保存”(System :: String outputFileName,System :: SharedPtr选项)方法保存CSV文件。

以下是在CSV文件中包含选定PDF页面的示例代码。

// Load PDF file
auto pdfDocument = MakeObject(u"SourceDirectory\\Sample2_csv.pdf");

// Initialize ExcelSaveOptions class object
auto options = MakeObject();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Set save format as CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// Create an instance of the Document class to represent the CSV file.
auto newPdfDocument = MakeObject();

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Get first 2 pages
	if (i <= 2) { // Add the page to the new Document instance newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
	}
}

// Save as CSV file
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

将PDF页面转换为单个CSV文件

使用Aspose.PDF for C ++,您还可以将PDF页面转换为单个CSV文件。为此,您可以按照以下步骤操作。

  • 使用Document 类加载PDF文件 。
  • 创建一个ExcelSaveOptions类的实例。
  • 使用ExcelSaveOptions-> set_Format(ExcelSaveOptions :: ExcelFormat值)方法将格式设置为CSV 。
  • 使用Document-> get_Pages() 方法循环浏览PDF文件的页面 。
  • 在循环中,创建Document 类的新对象以表示CSV文件。
  • 使用Document-> get_Pages()-> Add(系统:: SharedPtr常量和实体)方法将页面添加到新创建的Document对象。
  • 使用“文档”->“保存”(System :: String outputFileName,System :: SharedPtr选项)方法保存CSV文件。

以下是使用C ++将PDF页面转换为单个CSV文件的示例代码。

// Load PDF file
auto pdfDocument = MakeObject(u"SourceDirectory\\Sample2_csv.pdf");

// Initialize ExcelSaveOptions class object
auto options = MakeObject();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// Set save format as CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// Create an instance of the Document class to represent the CSV file.
	auto newPdfDocument = MakeObject();

	// Add the page to the new Document instance
	newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));

	// Save as CSV file
	newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}

如果你想试用Aspose的全部完整功能,可联系在线客服获取30天临时授权体验。


还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP